Tuesday, April 12, 2011

Should I or Shouldn't I?

The Need for Funds

I need money to continue my research in artificial intelligence and fundamental physics. I've had a plan to establish a Rebel Science Research Institute and hire engineers and teachers to work on various research and educational projects. But that takes money, lots of it. At this point, I am thinking that the best way for me to raise the funds that I need would be to use what I've already discovered in my AI research to develop a marketable product. Probably the most useful AI product is an intelligent robot that does all your work for you. However, designing and building a smart and reliable robot is a hugely expensive undertaking. So this is out of the question, at least for the time being.

Chess and GO

I figure that there is a small but significant market for a chess program that can be trained to play progressively better games. There is an even greater market for a powerful computer GO program. GO is an extremely popular board game, especially in Asian countries such as China, Japan and Korea. However, the best computer GO programs are somewhat disappointing because they can only play at a beginner's level. Any GO program that can play a reasonably good game (advanced amateur level or better) would be a huge success. GO is the sort of game that cries for an AI solution because the search space is so huge that using brute force to search through it is a waste of time, even for a super computer. I reason that I could start with an intelligent chess program for the mobile app market (Apple, Android, etc.) and use the profits to finance the development of a GO program. Subsequent profits would go into forming the Rebel Science Research Institute.

Quandary

I find myself in a sort of a quandary. Should I continue with my series on Intelligent Computer Chess or should I keep my understanding a secret for the time being and use it to develop a commercial product? You may not think so but I've already revealed a lot of crucial information about how the brain works, stuff that you will not find anywhere else. And my next post in the series will be even more revealing, as it will come close to letting the whole cat out of the bag, so to speak. Should I or shouldn't I? I need a little time to think about a proper course of action. Stay tuned.

10 comments:

seer said...

Or maybe focus on robot that will do one thing - not trivial, but one - let say... cooking. Some time ago I've thought how hard would be to create a machine that have drawers for basic cooking ingredients, is doing it's work behind the glass using tools similiar to ours and fits in normal kitchen. Result was that it will require a lot of AI to clean the potatoes, or chicken or recognize chicken parts.
I'll just throw this idea - maybe it's not so hard for you :-)

Teddybot said...

It is amazing the degree of accuracy your 2002 post has to later published 2005 On Intelligence and now the Cortical Learning algorithms at Numenta. I yearn greatly that as an engineer you would embrace their technology and have the social grace to team with others on AI projects.

Louis Savain said...

seer:

Or maybe focus on robot that will do one thing - not trivial, but one - let say... cooking. Some time ago I've thought how hard would be to create a machine that have drawers for basic cooking ingredients, is doing it's work behind the glass using tools similiar to ours and fits in normal kitchen. Result was that it will require a lot of AI to clean the potatoes, or chicken or recognize chicken parts.
I'll just throw this idea - maybe it's not so hard for you :-)


Thanks for writing. Well, at this point in my research, I think I have figured out what's needed to design the software for a general AI that can learn pretty much anything, including cooking gourmet meals in a normal kitchen. So the hard part, for me, is no longer the brain aspect but building an actual robot with a full set of sensors and actuators and enough computing power to service at least a hundred million neurons. This sort of robot is rather expensive.

Louis Savain said...

Teddybot:

It is amazing the degree of accuracy your 2002 post has to later published 2005 On Intelligence and now the Cortical Learning algorithms at Numenta. I yearn greatly that as an engineer you would embrace their technology and have the social grace to team with others on AI projects.

The folks at Numenta are indeed doing interesting work. However, Jeff Hawkins is an evolutionist/atheist who believes that the complexity of the brain and all biological organisms evolved all by themselves. I, by contrast, am a Christian and I am convinced that the species on earth were designed and engineered by powerful intelligent beings (or aliens if you wish).

In this vein, I think Jeff is a fool. He may know that the solution to the AI problem is based on precise timing, prediction and probability but that is not nearly enough to solve the entire problem. For example, the solution to the problem of generating adaptive and coherent motor behavior still eludes him. I wish him the best in his research.

Conzar said...

Can you really build a chess program that can compete with Chess Master?

Louis Savain said...

Conzar:

Can you really build a chess program that can compete with Chess Master?

I think so. Since Animal will improve its knowledge of the game every time it plays, there is no doubt that it will eventually beat traditional programs like Chess Master. In fact, Animal will be able to improve its knowledge even when it's not playing. It can do so just by thinking about (running through) what it already knows and try various scenarios internally.

This gives me an idea. There is really no need to come out with a chess learning program in order for it to be successful. All that is needed is to train Animal until it can consistently beat Chess Master. Once that is done, the learning module can be removed. The result will be a static but powerful and fast chess playing program.

DragonRides said...

Have you ever played Chess Master? The awesome aspect of Chess Master is that it has different AI depending on Rating. So when playing a 800 rated AI, it plays like an 800 rated human.

We already have chess programs that can beat grand masters. Right now, the difficulty is making chess programs that mimic humans depending on their ratings, which I think Chess master does very well.

Louis Savain said...

DragonRides:

Have you ever played Chess Master? The awesome aspect of Chess Master is that it has different AI depending on Rating. So when playing a 800 rated AI, it plays like an 800 rated human.

I have an old copy of Chess Master 2000. It beats me all the time at level 3. My chess skills really suck.

We already have chess programs that can beat grand masters. Right now, the difficulty is making chess programs that mimic humans depending on their ratings, which I think Chess master does very well.

Yes. The way I understand it, chess programs can achieve different play levels by either adjusting the amount of time allocated to a move or the number of plies the search algorithm can look ahead. Some programs can even modify the sophistication of their position evaluating algorithm.

Animal is different. An Animal program will start out knowing nothing about chess and gradually improve its knowledge of the game every time it plays. So, the only way to have multiple levels of expertise is to save Animal's brain at different times during its training. The saved brains can be reloaded at any time if desired.

With this in mind, I think that Animal will be able to mimic human play a lot more faithfully than traditional chess programs that use the common minimax method. At least, that's the theory. I will not know this for a fact until I have a program that I can actually play with.

nick said...

Great website. I just stumbled across your blog by accident while google'ing alternatives to the traditional turing model. I've been reading through your posts for the last few hours. It's refreshing to see your work.

Regarding your post here, specifically your last comment above, it brings to mind a problem in some of my own ai research - how do you efficiently train it? Regardles of what the AI training to be proficent at, I've always thought I would have to write a helper program. Similar to you, I have been working on a chess program to test some of my theories. A few weeks ago it came to me that the ideal solution (along with promoting other ai projects and hopefully stimulating the community as well) would be to build a platform that would serve as middleware to allow various AIs to compete against each other. For the chess scenanrio, a simple xml'ish interface to allow the project to connect the server, find a challenger, navigate the game and track performance. Take this a step further and it could additionally provide other intelligence based challenges that would test, train, optimize, and benchmark the AI.

Again, great work, I look forward to reading more of your stuff.

Louis Savain said...

Nick, thanks for the comment and the encouraging words.

I think it should not be too hard to write some script code to have Animal play against existing web-based programs, or even other people on the internet.

Note also that an AI program like Animal mostly trains itself just by playing. The user/trainer can help by rewarding or punishing the program if it makes a good or bad move. Additionally, there can be an automatic trainer for such things as winning or losing a game, trying to play out of turn or trying to make an illegal move.