Archived

This topic is now archived and is closed to further replies.

Learning AI?

This topic is 5287 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I would start at gameai.com, AI Depot, and AI-Junkie. Do a search for any of these and you should get plenty of info. Another thought to consider is that AI is a very broad field, and you might first want to consider what particular areas you are interested in. Hope this helps.

Also, asking how to program "AI in C++" is almost like asking "how to drive in a honda". AI is much more "concept and algorithm specific" than it is language specific (although some languages like LISP and PROLOG seem to cater to certain AI fields and aspects). Once you learn the underlying concepts and algorithms and design a few little apps to reinforce them, you should be able to apply them to any language you want.

[edited by - Code-Junkie on June 4, 2003 11:52:49 AM]

Share this post


Link to post
Share on other sites
What kind of bot that learns what? A chat bot that can parse english, process it, and print a response back? Or a bot that analizes a 3d game level and can learn what paths are good to use and which are not? A bot that can learn how to find information quickly and accurately on the internet?

There are a lot of different types of bots, and a lot of different types of things to learn. AI is a _HUGE_ field of research, so you need to be really specific to help narrow it down enough that somebody can point you to a specific resource.

Share this post


Link to post
Share on other sites
If that is where you would like to start, I would check out as much info as possible on Machine Learning (especially Symbol-based, Connectionist, and Emergent learning algorithms and structures). That is the area of study actually that I am doing my CS graduate thesis on. I will gladly let you have a look at my research and code when I am finished (but it will probably be about a month away). I also found some cool stuff in Rabin's "AI Programming Wisdom" book. I consider it a good buy. How deep or not you actually get into AI isn't as important as how much you enjoy the time you spend with it (thinking about it, reading about it, coding it, learning from it, discussing it, etc.)

This is in response to your post 2 posts ago. I am NOT doing my research on chat bots.

[edited by - Code-junkie on June 4, 2003 4:34:48 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by Code-Junkie
If that is where you would like to start, I would check out as much info as possible on Machine Learning (especially Symbol-based, Connectionist, and Emergent learning algorithms and structures). That is the area of study actually that I am doing my CS graduate thesis on. I will gladly let you have a look at my research and code when I am finished (but it will probably be about a month away). I also found some cool stuff in Rabin''s "AI Programming Wisdom" book. I consider it a good buy. How deep or not you actually get into AI isn''t as important as how much you enjoy the time you spend with it (thinking about it, reading about it, coding it, learning from it, discussing it, etc.)

This is in response to your post 2 posts ago. I am NOT doing my research on chat bots.

[edited by - Code-junkie on June 4, 2003 4:34:48 PM]


Thanks

And I figured you aren''t doing research on chat bots - I just used that as an example - Its always fasinated me to have a non-living, non-human creature - that someone made - be able to learn.

Share this post


Link to post
Share on other sites
Sadly (for you and I), a hell lot of AI research is done in LISP/SCHEME. Makes it harder to understand source code.

You are touching a difficult aera here, because natural langages are ambiguate(sp?), meaning there is almost always more than one way to "understand" a sentence. So you can hardly use computer language theory.

Most bots simply looks into sentences for keywords and punctuation, they do not analyse the sentence structure (name-verb-congugate-etc). Then they search in a decision tree.

If you want to do better, you might want to look-up expert systems, some of them can even simulate learning by adding to thier knowledge base.

Or you could try a neural network, but good luck.

Share this post


Link to post
Share on other sites
Well, the basics of AI are the various searching techniques, code up a tree or a graph, and then implement breadth-first, depth-first, best-first, A*, hill-climbing, etc. I'm sure you can type these into Google and find some examples. Check out the "minimax" and "alpha-beta pruning" algorithms too.

The standard AI textbook is by Russell and Norvig. You can probably find it in a used bookstore for about 20 to 30 bucks.

edit: There is a 2nd edition for this book that just came out, but I haven't had a chance to check it out.

[edited by - heff on June 4, 2003 5:15:25 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by TetsuoAkira22
Well actually I''ve been playing around with learning bots for like 5-6 years, and have always loved them... So I want to start with something like that - making a bot that learns.


This is one of my mantras so i get boring saying it all the time but... 90% of the work is in defining the problem precisely. Often, if you can define the problem you will probably stumble over the solution. Maybe 90% is overshooting, but it''s a good chunk

What upsets me is that there are practically no books on problems that need to be solved. There are none in game AI and maybe none in AI (which is a field of CS that should not be confused with game AI). If you''re a newbie, a good place to start is to look over the questions "what kind of problems does a game AI programmer have to deal with, which ones have well known agreed upon solutions and which ones do not". i keep meaning to put up a list like that on my Web site

As for learning, that''s what i was intersted in (for FPS bots) but it turns out few people agree what learning is

In AI there''s this subfield called machine learning but, in my opinion, it has nothing to do with learning. At least, it doesn''t help me It maybe helps to break learning into discovery and adaptation. Discovery = searching for the one true permanent answer. Adaptation = changing your behavior to better conqueor your environment. i personally think adaptation is the key to survival but i''ve had people tell me that adaptation isn''t learning and isn;t important

AI has some really simplistic (and not overly useful) algorithms for discovering an answer to a simple question. Your standard AI/Machine Learning book will cover statistics (neural nets, decision trees and linear regression), experimentation (adaptive dynamic programming, temporal difference learning and Q-learning) and maybe instance based learning (mostly case based reasoning). Some data warehousing books will also cover clustering algorithms (called unsupervised learning in AI) which groups things together given some commands (number of groups, group size, etc). All of these are simple topics and most won''t be too useful in games. None cover adaptation except some versions of CBR. If any of the buzzwords pique your interest ask and i can explain them

As for adaptation, there''s nothing in AI but you can probably come up with some ways on your own. It''s not too hard. Also, remember that AI is nominally a field of but is mostly geared towards engineering and math. If you want to do human-like things, look to psychology. Specifically, people in cog psych have built computer models of humans that might help. The CGF field (part of simulation and modeling) also has some good stuff. Depending on what you want to learn, a good thing to keep in mind is that humans learn how to make certain decisions based on experience (try something several times and average the outcomes) with special emphasis given for recency and importance (ie, newer stuff more important than old and more extreme stuff more important than normal stuff; in other words, if you try a tactic 10 times and the last time you tried it you were severely injured and small children laughed at you, you''d "learn" not to do that again even if the first 9 times were generally positive)

If you have a specific need, define a really specific question and feel free to ask. If you just want to know about stuff, skip AI and go read intro psychology books

-baylor

Share this post


Link to post
Share on other sites