Seeking help for ideas on how to bring Algebra/Algebird to the masses!

211 views
Skip to first unread message

Ted Fujimoto

unread,
Feb 11, 2014, 5:17:13 PM2/11/14
to alge...@googlegroups.com
Hi All,

I'm currently looking for ways to get people interested in Algebra using Algebird. Does anyone have any code or ideas to share? An idea would be like implementing Jimmy Lin's observation that monoids could be used as a design principle for mapreduce algorithms. 

Of course, one could just point to the Algebird code itself (say, BloomFilter.scala). However, it would be much more rewarding to show how certain (less "complicated") examples of phenomena exhibit algebraic properties. I am specifically looking for examples that encourage math-phobic programmers, or even young children, to use algebraic techniques when modeling scientific phenomena or creating the structure of their algorithms.

Unfortunately, my two semesters of undergraduate abstract algebra may have done more harm than good. We were only taught how to apply these techniques to number systems (for example, why Z is an integral domain but not a field). That's fine, but is unlikely to interest, say, people who want to do machine learning/data science in real-world applications. Perhaps some physicists in this group could give us some insight (I have come to believe that some physicists appreciate group theory more than some group theorists)!

Any feedback is appreciated!

Thank you,
Ted

Avi Bryant

unread,
Feb 11, 2014, 5:28:39 PM2/11/14
to Ted Fujimoto, alge...@googlegroups.com
I gave a talk on this subject at Strange Loop which might be of interest:

I think it worked out pretty well, but I'd love to hear any feedback.

Also, as a historical note: Oscar originally developed these Monoid classes as part of Scalding, a mapreduce framework; both the more general-purpose library, and Jimmy's observation, were later derived from this implementation. So the mapreduce implementation you're proposing in fact already exists, you've just got the cause and effect backwards :)

Avi


--
You received this message because you are subscribed to the Google Groups "algebird" group.
To unsubscribe from this group and stop receiving emails from it, send an email to algebird+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Sam Ritchie

unread,
Feb 11, 2014, 5:29:48 PM2/11/14
to Ted Fujimoto, alge...@googlegroups.com
Jimmy Lin actually got that idea from Oscar's work on Scalding, which does indeed allow the user to plug monoids in for aggrgations. Summingbird took this to extremes by allowing monoids to be used in any streaming MapReduce platform that could implement Summingbird's primitives. Here's the code: (https://github.com/twitter/summingbird), which is a MapReduce library that leans heavily on Algebird. Algebird was actually developed to support Summingbird.

February 11, 2014 3:17 PM
--
You received this message because you are subscribed to the Google Groups "algebird" group.
To unsubscribe from this group and stop receiving emails from it, send an email to algebird+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Sam Ritchie (@sritchie)

Simeon Fitch

unread,
Feb 20, 2014, 8:15:39 AM2/20/14
to alge...@googlegroups.com
Avi,

Thoroughly loved your presentation! Bravo!

For the past few months I've been mumbling inarticulately at colleagues about the superpowers of commutativity and associativity, grateful for the polite smiles I've received in return. Your presentation succinctly, elegantly, and powerfully gets the point across with impressive simplicity. I've already sent out the "nevermind what I was saying.... listen to this guy!" email to colleagues. :-)

What would a part 2 look like? "Invert ALL the World?" Very interested in where you might go with this.

Simeon
Reply all
Reply to author
Forward
0 new messages