4 ms·
Afraid not. Nothing is more general than function(all data).
by nathanmarz 14y ago
Afraid not. Nothing is more general than function(all data).
- DanWaterworth 14y agoYou rely on mapreduce, so you don't have the ability to calculate any function. You can only calculate catamorphisms of your data, ( http://en.wikipedia.org/wiki/Catamorphism http://en.wikipedia.org/wiki/Catamorphism ). You can't solve a SAT problem effectively using mapreduce over the tree of the expression for example. I can't think of a case where you'd want to calculate a function that isn't a catamorphism, but saying that you aren't restricted to them is wrong.
- Evbn 14y agoIs "median" expressible as a catamorphism? What about a neural network propagation?
- DanWaterworth 14y agoFirst, let me explain what I mean by catamorphism. I mean a function that operates on the data within a node of a tree and the values returned by performing the catamorphism on its child nodes. To find the median, you need the data sorted. You can express something like mergesort as a catamorphism. You take the lists of the child nodes and the singleton list of the value at the node and merge them together. However you have to do a linear amount of work at each node and store a linear amount of data, so it's not really within the spirit of mapreduce because it doesn't scale well, although it is possible. Catamorphisms are operations on trees, so the first problem with neural networks is that you'd have to embed your neural network in a tree. In the worst possible case, a fully connected network, to find the next value of each neuron, you'll have to find the current value of every other neuron. The problem is that you don't have access to "cousin nodes'" data, so it isn't possible.