Jump to content


Learning AI


28 replies to this topic

#1 ciri

    New Member

  • Members
  • Pip
  • 8 posts

Posted 06 October 2004 - 08:42 PM

Hi,

I'm going to make a treatise on Artificial Intelligence for school (I'm in the last year before college now and this is going to be my hmm *big* endproject of secondary school). I've gathered quite alot of information already but I can't seem to find decent tutorials (writing a tick tack toe AI != decent :)) about coding an AI in C++. I've tried coding a bit in prolog and lisp but that didn't get me far either (except for solving a few logic problems). Is there anyone here that can point me in the right direction?

Thanks in advance,
- Ciri

BTW has anyone checked the Golem Project (search google for it, the first match you find) it's quite nice what they achieved.

#2 anubis

    Senior Member

  • Members
  • PipPipPipPip
  • 2225 posts

Posted 06 October 2004 - 10:53 PM

do you have an idea in which direction you want to go ?

board games ?
group behaviour (like flocking algorithms) ?
neural networks ?
genetic algorithms ?

just a few examples...
If Prolog is the answer, what is the question ?

#3 ciri

    New Member

  • Members
  • Pip
  • 8 posts

Posted 07 October 2004 - 05:58 AM

Yes, I have 2 options (the 2 directions that I describe in my treatise):
- Making an AI for a game (could be any board game)
- Making an AI that evolves and develops itself through the darwinism process (like create a world with environement variables and a few classes of 'life forms' that adapt themselves to the envioronement)

#4 ShadowHawk

    Member

  • Members
  • PipPip
  • 47 posts

Posted 07 October 2004 - 06:55 AM

Well if u have the choice i would go for a self evolving Neural network.
Neural nets work verry simple u just have a neuron with inputs and each input is connected to a neuron in the layer above. Just put the data into the first layer and propagate down to the last layer.
If u encode the weights of the connections into a genome then u can get a genetic algorithm to use your preferred darwin approch to evolve.
quite simplet actualy there is a lot on aijunky.com

#5 NomadRock

    Senior Member

  • Members
  • PipPipPipPip
  • 785 posts

Posted 07 October 2004 - 07:30 AM

Neural nets aren't much for learning about intelligence though. They are pretty much black box solutions (though there are some research areas that hope to remove this)

I suggest you start simple. Start with a finite state machine, with each state being the current behavior.

Amit has some good sections on pathfinding and gets a little into AI as well http://theory.stanfo...ameProgramming/

I also highly suggest http://ai-depot.com/ but keep in mind there are many advanced techniques described there. Dont let this overwhelm you. Try to find the easier stuff and start there.

Keep in mind fuzzy logic to help make your algorithms seem more "real".

Once you have the basics down you can start into the cooler areas like genetic algorithms and neural nets. These are ways to grow or train a solution to a problem that is very difficult if not impossible to define in an easily solveable way.
Jesse Coyle

#6 ShadowHawk

    Member

  • Members
  • PipPip
  • 47 posts

Posted 07 October 2004 - 12:42 PM

Well u dont really need the basics of other types of AI before u start on funny little things like Neural Nets. Sometimes it might be even better since u just read the theory and dont start thinking well this works like that and i know this part.
Neural-Nets are indeed a black box but they are so easy to implement and to combine with a genetic algorithm that it is ideal for things like school projects.
They impress most teachers since they look complex, they are complex at first but verry easy to implement and to test.

Finit state machines are not real inteligence since they are well verry limited and predictable ( and a lot to code ) Pathfinding well technicaly it could fall into the AI department but and A* is nice to implement but if u really want to learn get a simple tile based boardgame sit in front of it and try to determine your thinking process and implement that. I did this once for a small AI programm that in its testphase behaved just like I would do.

#7 ciri

    New Member

  • Members
  • Pip
  • 8 posts

Posted 07 October 2004 - 01:11 PM

Interesting, I will look into the neural networks thing and see how far I get :) thank you very much!

[edit: Wow that was really what I was looking for, again, thanks !! ]

#8 ShadowHawk

    Member

  • Members
  • PipPip
  • 47 posts

Posted 22 October 2004 - 08:02 AM

Mind letting us know how the project went. I really would like to know if it went well and what u made eventualy. Just curious i think but i myself like AI topics and maby i can now learn something from u :)

#9 ciri

    New Member

  • Members
  • Pip
  • 8 posts

Posted 28 October 2004 - 09:12 PM

I will translate it (the original version will be in Dutch) and post it here when it's finished, but it probably won't be finished before february 2005 so... :)

#10 Polar Sleuth

    Member

  • Members
  • PipPip
  • 34 posts

Posted 01 November 2004 - 02:03 AM

Another place to look:
http://ai.eecs.umich...esresearch.html

John Laird has been doing Artificial Intelligence research for many years. He developed an AI engine called Soar. Originally it was developed to pilot simulated enemy jet fights for military flight simulators. It is now public domain.

The latest research projects include creating an AI player for Quake II (i.e., Quakebot) that is capapble of exploring and mapping levels, learning from the actions of others, learn from its own successes and mistakes, and can even "anticipate" the actions of other players. There are several papers on the subject available via the above website.


The Quakebot Tutorial:
ai.eecs.umich.edu/soar/tutorial/old/Part5.doc

The tutorial was/is part of an AI course at the University of Michigan.

#11 ShadowHawk

    Member

  • Members
  • PipPip
  • 47 posts

Posted 01 November 2004 - 09:32 AM

ciri said:

I will translate it (the original version will be in Dutch) and post it here when it's finished, but it probably won't be finished before february 2005 so... :)

View Post


Hey your dutch nice me too. always nice to see felow countrymen on a forum.
Ill w8 till the version is ready altough when i was at school i could just hand in my assignments in enlish it saved me the translation:) I always code in enlish and if the documentation found on the internet is also enlish i prefer the rest of my projects to be also enlish ( saves context switch from 1 language to the other when working on it )
Good luck with the project.

#12 NomadRock

    Senior Member

  • Members
  • PipPipPipPip
  • 785 posts

Posted 01 November 2004 - 10:54 AM

grrr. english. Note the 'g'

Sorry for the nitpick, but 4 times was my breaking point.

We should probably get some articles up on AI. There is talk on neural nets, but no article up about it. Perhaps I will give it a writeup during my winter break.
Jesse Coyle

#13 ShadowHawk

    Member

  • Members
  • PipPip
  • 47 posts

Posted 03 November 2004 - 07:51 AM

O sorry did not notice that. Well at least i was consitent. Im verry bad at all natural languages so please forgive my frequent spelling errors.

BTW i still think that communication was ment to communicate so as long as the recepient understands the message there is nothing wrong with it :)

#14 NomadRock

    Senior Member

  • Members
  • PipPipPipPip
  • 785 posts

Posted 03 November 2004 - 09:11 AM

true, no hostility meant
Jesse Coyle

#15 ShadowHawk

    Member

  • Members
  • PipPip
  • 47 posts

Posted 03 November 2004 - 11:13 AM

NomadRock said:

true, no hostility meant

View Post


No offence taken. Im used to people pointing out mistakes all the time.

#16 NomadRock

    Senior Member

  • Members
  • PipPipPipPip
  • 785 posts

Posted 03 November 2004 - 05:11 PM

Back to the topic at hand..

Ciri, any noteable progress?
Jesse Coyle

#17 ciri

    New Member

  • Members
  • Pip
  • 8 posts

Posted 09 November 2004 - 05:34 PM

Yes I finished about 16 pages on Neural Networks. Here's a *huge* recourse of articles on anything science-related (there about 10.000 articles about AI):

http://www.sciencedirect.com

#18 NomadRock

    Senior Member

  • Members
  • PipPipPipPip
  • 785 posts

Posted 09 November 2004 - 05:49 PM

So where are you thinking of taking this?

There are a lot of topics in advanced neural network design.
Jesse Coyle

#19 ciri

    New Member

  • Members
  • Pip
  • 8 posts

Posted 09 November 2004 - 07:45 PM

I'm going to follow 2 paths, neural networks and genetic algorithms. Then I'm going to combine both and program an implementation of the combination in a problem solving application (I'm not sure yet what problem I'm going to choose).

It's not going to be anything too advanced as these are my first steps into the field of artificial intelligence :)

#20 ShadowHawk

    Member

  • Members
  • PipPip
  • 47 posts

Posted 10 November 2004 - 07:21 AM

Eh well Neural nets and genetic algoritmhs are easy to combine. If u make a good design of what u want to do with them combining will be almost as easy as implementing the Neural Net.
If u get a good problem for your solution ( he he normaly we work the other way around ) let me know i have searched for a good problem myself but stopped my own NN project by lack of a good problem.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users