News for hackers. Stuff that matters.
Re:How would you build a human computer so that people can w... by gibsonf1 on Sunday April 15, 2007 @07:46PM (#13157)
You would need to have precisely defined concepts from standard English in genera/differentia format in such a way that the system could determine contextually which concepts are being used in the user's query, and with that you could execute whatever you wanted. The differentia would have to be framed in a logical format, preferably using Fred Sommer's Term Functor Logic (dramatically superior to First Order Predicate Logic. This is the problem our startup was first working on last September (we started research for this in 1997 - we are deploying a very "lite" version of this in our new application).

The biggest barrier to solving this problem is the difficulty of formally defining English words. It took us several years to figure that out (with the Epistemolgy Aesthetics Study group and heavy reading of Aristotle's Organon) and we ultimately found that definition through an inductive approach was key to success. There will come a time in the not too distant future that people who can correctly define concepts will make serious money.

Re:How would you build a human computer so that people can w... by amichail on Sunday April 15, 2007 @10:45AM (#13104)
Consider for example writing a sorting algorithm in plain English and "executing" it on sample inputs using crowdsourcing.

If the algorithm is ambiguous, the people executing the code could use their common sense, vote on interpretations, and even get back to you if they are really stuck.

The execution would be done by hand, although some users who know how to program might write some code to help them out.

You could of course do this sort of thing at a very high-level of abstraction. Consider prototyping a word processor in this way for example.

Re:How would you build a human computer so that people can w... by gaz on Sunday April 15, 2007 @07:22PM (#13154)
I'm not sure if this is what you mean, but for example:

"Give me a list of search engines sorted from best to worst" (an ambiguious english expression - http://www.tallstreet.com/view/Search_Engine/ )

Then people nominate answers (by investing in them), which get weighted by how many people nominated, how they weighted different answers compared to each other, and also takes into account the persons "judgement history" (net worth - i.e. if they have been previously good at making good nominations they have more authority)

An then when people run the "algorithm" they rate the output which is fed back to the nominators who are rewarded or punished based on the quailty of their answers - so over time the system improves.

Re:How would you build a human computer so that people can w... by amichail on Sunday April 15, 2007 @07:50PM (#13158)
You can explore such a human computer along multiple dimensions.

On one level, you can have someone specify a spec in English so that human workers would execute an algorithm of their choosing on the supplied input.

On another level, you can have someone specify an implementation in English so that human workers would execute that algorithm on the supplied input.

Such a human computer would be extremely slow, but..

- it would have common sense.

- it's a way to give everyone a feeling of what programming is all about

- it's a way to prototype ideas without getting down to specifics

Moreover, you can have an error correction mechanism by making sure that enough human workers have validated each other's work for you to trust the results.

Re:How would you build a human computer so that people can w... by pg on Sunday April 15, 2007 @04:58PM (#13130)
The right way to do such a thing would just be to have a very abstract language with "common sense" embodied in the right defaults.
Re:How would you build a human computer so that people can w... by timg on Sunday April 15, 2007 @08:41PM (#13167)
is anything closer to a layman's pseudo-code than python?