Sunday, December 5, 2010

Three Dreams

(1) I wish I had time to build self-education software. This is a wish carried over from my brother, who came up with the idea; a system which hands you exactly the practice problem you need at the moment, to challenge you, keep your interest, but not give you something you can't do. Ideally, the problem sets would be created and shared in a wiki-lije online community (which is the main difference from current high-end education software!) The broadness enabled by this could revolutionise education, job training, and certification. (Since the program estimates your skill level to determine what problem to give you, sitting potential employees down for a session on the machine would give valuable information about their abilities.)

(2) I would also like to have the time to build a powerful "open work" software in the spirit of mechanical turk, love machine, rentacoder, and others. The hope would be to emphasise love machine's social aspect, but mechanical turk's "all are welcome" aspect. Ideally, the environment would also feel like stack overflow-- you can build reputation by answering questions for free, so that you are more likely to get paid in the future. There are a lot of issues to be dealt with here! The nature of contracts, the details of any "reputation" system... it's complicated. However, it would be great for the efficiency of the intellectual labour market!

(3) I want to build a Bayesian reasoning system capable of acting as mankind's store of knowledge, so that all arguments for and against certain points can be kept track of and weighed properly against the evidence. This is the least realistic of the three dreams, but if it could replace/augment Wikipedia, it would help to end debates like global warming (or, rather, force the debate to proceed entirely from empirical evidence and in a logically correct manner). There are lots of big problems with this one, including the problem of verifying sources of empirical data.

7 comments:

(1) Khan Academy does employ such such a software: http://www.khanacademy.org/exercisedashboard (You've to login with Google or Facebook)

The Khan Academy also provides a web-based exercise system that generates problems for students based on skill level and performance. Khan believes his academy points to an opportunity to overhaul the traditional classroom by using software to create tests, grade assignments, highlight the challenges of certain students, and encourage those doing well to help struggling classmates.

(1) seems like a waste of time, but I'm the kind who read math books and never do the exercises. The most I do is look at them and kind of guess that I could solve them ;)

(2) is also something I've wanted to do for a long time (several years)! It's indeed a very hard problem, but perhaps, paradoxically, could lead to AGI even faster than if we work individually on our pet AGI theories and thinking our theories are so cool, and disagreeing with each other.

Concerning (1), I am that way too, must of the time... but I see it as a serious problem! It means that I have not really mastered the material, or at least that is how it seems to me. Long story short, I want to be able to solve differential equations in my head!

YKY, ad. (1), the point of exercises is that you can develop and maintain your solvability estimation skills -- if you haven't solved any exercise of a class how can you tell whether you could if you wanted to?

Abram's answer, yeah, that develops short term memory: enhances your "register set" so that you can hold bigger structures up in your mind. Related to "brain fitness".

Yea, that's exactly what I'm thinking about. Of course, programming also increases "register set". The real issue is that I used to feel I was very good at mental math, and now I find myself lacking. This makes me thing that other areas might benefit from the same sort of practice, but mainly it's math I'm concerned with. Other people would probably be more concerned with other things.

It pays off in programming, but the ability is better targeted by mental arithmetic (of the non-boring sort), because in the programming case, what is not on screen is shifted more to the conceptual level. Unless you're doing mental programming that correlates the conceptual grasp of semantics with results of a mental VM ;-) Mental calculation of Kolmogorov complexity tops all ;-)