Monday, February 18, 2008
Jiu-Jitsu + AI = Kick-Ass!
So, I have an idea that's been rolling around in my head for a while, and I want to get it down on "paper." I have a project idea I can use for formal education in the study of Artificial Intelligence. I call it, "A Demonstration of AI Learning Techniques Using Kinesiology." The "Kinesiology" part comes into play in the form of Jiu-Jitsu--studying the anatomy, physiology, and mechanics of human body movement. I actually went from calling it "Applied Mechanics" to "Biomechanics" to "Kinesiology" as I think I have now reached the schweet spot. The "AI Learning Techniques" part is where I hope to discuss reinforcement learning techniques, genetic algorithms, etc. and apply them to figuring out the best possible moves to use in Jiu-Jitsu gameplay.
So, what do I mean by applying AI to Jiu-Jitsu? Well first let's talk a little about what Jiu-Jitsu is. Jiu-Jitsu is mostly centered around ground-fighting, although practitioners do practice standup fighting, but mostly just to get their opponent to the ground where most fights seem to end up anyway. At this point it becomes an art of knowing how to control and counter body-part movements, cause muscle tension pain, and making your opponent give up. Practitioners are experts at using their entire body fighting extremely well not just with their arms but with their legs, feet, chest, head, and even weight balance plays a big role to reduce and cause fatigue. Knowing how the body works and moves is necessary in order to gain the better position. In Jiu-Jitsu, position is everything. In fact, professional practitioners a rewarded points based on their dominant position (e.g. 2 points for a side-mount, and 4 points for a top-mount). Matches often end with a player submitting the other, however the precursor to this is by having the dominant position, thus most of the game in Jiu-Jitsu is establishing dominant positions. So the next time you watch UFC and see two guys rolling around on the ground, know that they are not humping but rather they are trying to establish the dominant position.
Anyone who has participated in Jiu-Jitsu training will tell you that although physically exhausting, it feels more like a physics class than fighting. "Grab his arm...now twist your body 90 degrees to the right...put your right leg around his back with a lot of pressure so he can't stand...now put your other leg around his neck trapping his head and arm together...and pull! (opponent submits)." Knowing the physical forces and limitation of the human body is something to be mastered over time with lots of practice. It isn't easy. There are common practices or "moves" people study and give names to, but professionals often tweaked the moves based on experience or invent entirely new moves altogether.
AI is good at predicting, learning, and improving at a rapid pace. What I want to do in this project is build an AI system that can invent and improve Jiu-Jitsu fighting techniques and show it. This AI program could possibly create moves no one has thought about because of its expert knowledge in Kinesiology and hundreds and even thousands of cycles practicing different moves through generations of trial runs only letting the best of the best evolve to the top.
Not only do Jiu-Jitsu students and teachers benefit from this system, but this research also forms the basis of a Jiu-Jitsu videogame where you can have Player vs. Player and Player vs AI matches. This system could be incorporated on platforms such as the XBox 360 and the PC. A special PC version, however could offer an SDK and common set of APIs upon which Players can code their own AI atop the core framework and test them out against other AI players.
I would make the SDK OpenSource of course and would be a great, fun platform for learning and developing the art of Jiu-Jitsu (off the top of my head, I could call it "Senthi-Su" for "Synthetic Jiu-Jitsu.")
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment