Jump to content
xisto Community
kenobi

Need Help - Artificial Inteligence i want to learn more...

Recommended Posts

hello, i am a student of informatics and i would like to learn more about programming artificial inteligence. The truth is I am new to this and know only very little about it. But I want to learn something new and this seems to be very interesting. I am mostly interested on the creation of genetic algorithms. I would be very thankfull if someone more experienced would give me some advice on where to start, for example links to pages with some tutorials or online books on that subject. thanks

Share this post


Link to post
Share on other sites

hello, i am a student of informatics and i would like to learn more about programming artificial inteligence. The truth is I am new to this and know only very little about it. But I want to learn something new and this seems to be very interesting. I am mostly interested on the creation of genetic algorithms. I would be very thankfull if someone more experienced would give me some advice on where to start, for example links to pages with some tutorials or online books on that subject. thanks

<{POST_SNAPBACK}>

hi,

 

see i too am new to AI, but what i have learnt from others is, DO NOT FOLLOW ANY RULE while writing AI Progs. What everything depends on is the type of AI program u are wrtiting. Even a smart adaptable Tic-Tac-Toe program can be AI. Games like Chess etc have always been fields of AI. Let me suggest u something. Get a good book (ebook or real book) and study it to get an overview of what exactly AI means and learn some classical problems of AI. Other wise you might end up re-inventing the wheel, which elsewise u wudda known in the second chapter of the book itself.

 

Go to this site for finding more relevant information and people who can help u out.

http://ai-depot.com/

 

I am making a smart language analyser based AI-Agent. Hopefully it will be really helpful to people.

Share this post


Link to post
Share on other sites

I am convinced Artificial intelligence still has lots to do with "Le Lisp" or "commont lisp". Have a look here http://encyclopedia2.thefreedictionary.com/Le-Lisp as a startpoint for the Chailloux history.
Basically there a two types of artifical intelligence :
- the "Le Lisp" way, where the system you create is able learning by it self.
- the Prolog way, where the developer's logical shemes are directly injected in his thinking machine.
Both of them work with rules and knowledge database, the systems feeding their knowledge database and the rules guiding the way of making the final choices.

Share this post


Link to post
Share on other sites

Introdiction to AI http://www.cs.nott.ac.uk/~pszgxk/courses/g5aiai/index.html
AI Methods http://www.cs.nott.ac.uk/~pszgxk/courses/g5baim/index.html

Here are the methods i know of...

Prolog: a logical porgramming language, nothing special.

Searches: (used as computer players in games such as chess)
Involvs growing tree's which branch off, exploring all possible outcomes from given events.
prefered outcome is chosen, and decision path ttraced backwards.

Genetic: Survival of the strongest. A way to EVOLVE computer programs / equations.

HARD CORE... the Artifical Neural Network.
Involves simulating a large number of human brain cells, and teaching the resulting mass of brain cells to perform a task.

Enjoy, fascinating subject. !

Share this post


Link to post
Share on other sites

well i suggest to do some programming on Prolog...It is real Artificical programming .. and it is easy too .. u dont need any programming knowledge...If u have experience with c,c++ u wil get little confuse, becaz prolog does not follow any normal programming procedure.. i had experience of some around 5 months with that... and i have solve many pronblems..and more over after that i left... i cant recollece now..get GNU copy of that.. it is free it is portable on windows also... just serach on net....try to solve like Tic-to-toe, Su_Duko... some game human-canibal...and all that gives u a good begining..latter u will start enjoying that... seriously....... :D

Share this post


Link to post
Share on other sites

AI is very hard for me. Whenever I try making a game the AI sucks and I end up making it multiplyer only. From what I've done, search-style Ai seems the easiest.

 


One thing to remember in programming game AIs is that the computer player does not necessarily have to mimic human thought, it just has to look like it mimics human thought on the outside. In reality, internally, the AI player can simply cheat. Limitations of the AI are made up for by the fact that the computer player can have direct access to the game mechanics and does not have to deal with a human-computer interface (mouse and keyboard).

 

Given this, the best way to program AIs for many games is 1) keep it simple, and 2) treat (move) each enemy separately. Since there is only one relatively slow player and there can be many relatively fast enemies, even a basic AI can be challenging. In an RTS, for instance, the player has to scroll and select units to move them. The computer player can order each of its units every turn. The player has to be very intelligent to keep up with a dumb opponent.

 

Don't take this too far, though. Fighting off one mob after another can get boring. One simple technique to make things livelier is paying attention to crafting your scenarios. Again, the computer player can cheat by being in the right place at the right time. You know what the map looks like, arrange surprises for the human player.

 

Now, in the cases where you cannot cheat: the computer player has to go through essentially the same interface as the human (like in Quake Bots) and/or the levels are randomized, it gets much harder. In this case, each AI player has to build its own map of the world as it goes. Most of the time, this is goal oriented. At each point, the AI has some fixed objective, like finding food, exploring, building cities, or chasing a particular opponent. The goal should be reevaluated each turn to deal with changes in circumstances, such as discovering a new enemy or finding a resource. In simpler form, this can just be a state machine.

 

Where computer players can cooperate/communicate, build a hierarchy and report new discoveries up the chain. Send group orders down the chain and then have each AI opponent move based on the goal it is given from above. The hierarchy can be built in ("command" bots and "soldier" bots) or it can be dynamic (liek the way that Windows Master Browsers ae elected on a network). I have wanted for some time to work on a system like this which incorporates Quake Bot style mapping and gentic algorithms for tuning enemy behavior. Basically, each AI player is generated with slightly different constants for things like aggressiveness, curiosity, etc., and as they are killed off, natural selection occurs. When generating new enemies, use input from existing/surviving enemies plus some randomization. This would be great for simulating, for instance, an insect-like enemy race: a mob that learns. The "perfect" evolved bug may be very different in different scenarios and against different players. I was considering a hierarchy where killing the control bug would cause the enemy to become disorganized until a new bug was elected.

 

I was going to work on this for the Crystal Space/Crystal Core project, but, as I am disabled, I no longer have the ability to put enough time/energy into making it work and keeping up with the rest of the project.

Share this post


Link to post
Share on other sites

I think you would have already got all the info you want from the countless posts above. I just have something to add. Even though Prolog and Lisp is commonly associated with AI, you can actually do AI stuff without using those languages. Since you mentioned genetic algorithm, I would believe there are libraries implementing genetic algorithm in either C/C++/Java, one of those. Do a search for them. Or if you feel like it, write them yourself once you understand the algorithm. Good luck... :)

Share this post


Link to post
Share on other sites

Well AI can be pretty complex when you are heading for neural networks.
A friend of mine still trys to replicate something similar like neural networks in c++ :) .
Even though he knows that he will fail, he still fiddles around with that matter :D
As every programmer you should have a strong background in mathematics.

Well if you want to know how to add AI in a game you should visit gamedev.net
They have covered pretty much everything you need to know about game creation, even AI
http://forums.xisto.com/no_longer_exists/
you can choose between these sections:AI Theory,Introduction, Genetic Algorithms, Documentation, Neural Networks, Pathfinding and Searching, Gaming, AI Links;

This and the links above should get you started :)

Share this post


Link to post
Share on other sites

Hi,

I am taking a artificial intelligence class at CSU, Sacramento.
The class is under: CSC 215 and entails the following:
"Nature of intelligence and possibility of its realization on digital computers via algorithmic and heuristic programming methods. Knowledge representation. Search procedures. Problem-solving paradigms and simulation of cognitive processes. Machine learning. Natural language understanding, expert systems, and knowledge engineering. Image understanding. Future of artificial intelligence and limits of machine intelligence."

This class so far is pretty interesting.
When I finish it, I'll update you on the things I learned.

Oh yeah,
the book we are using is:
Norvig and Russell - Artificial Intelligence, A Modern Approach, 2nd edition, Prentice Hall, 2003
If you wanted to know.

Also,
here is the link to GP_Lab (Genetic Programming development environment):
http://forums.xisto.com/no_longer_exists/
Which is the following:
"The Genetic Programming Laboratory is a user-centric toolkit that is an all-inclusive system designed with the average programmer in mind"

I hope that helps.
=)

eFX

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.