Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: AI -- Artificial Intelligence

by arhuman (Vicar)
on Jun 29, 2001 at 13:10 UTC ( [id://92566]=note: print w/replies, xml ) Need Help??


in reply to AI -- Artificial Intelligence

Even if I must admit I was quite deceived by IA results... (except in speech recognition)
I still believe that things remain to be found.
I can't believe that with the computers, the language, the theory we have now,
we aren't able to do something more efficient...
 
To my mind you should mix different methods depending on your needs.

Here are some methods I like to use :
  • Genetics Algorithms.
    Each time I read 'survival of the fittest' it comes to my mind.
    Each time I've to tweak/optimize complex function that I can "rate" the result I choose this techniques too...
    Although transcoding your parameters for efficient crossing-over may be a REAL task...
    (see Masem's work : Algorithm::Genetic or the infamous Genetic Programming or breeding Perls)

  • Neural networks.
    To classify complex objects (picture,sound).
    To create simple semi-adaptative behaviour.
    (tons of links on the web, here is start, CPAN has some modules too...)

  • Computationnal Optimization(Simplex, simulated annealing...)
    Not really IA, but I like to combine with others techniques.
    (See Math::Amoeba for the simplex)

  • "Inferential Theory of Learning" from Michalsky
    He did a wonderful job in formalizing the "learning process"...
    Every symbolic learning engine could take benefit of it...

  • Sorted Alpha-Beta.
    For turn by turn process, with only one action at each step (chess play...)

Now speaking about Perl, I think that knowledge and logic (predicate) are well suited to be described with string,lists,hash...

Please tell us informed about what you do, beccause it's a very interesting topic to my mind...

UPDATE : shotgunfx comment lead me to add the alpha-beta entry...

"Only Bad Coders Code Badly In Perl" (OBC2BIP)

Replies are listed 'Best First'.
Re: Re: AI -- Artificial Intelligence
by dimmesdale (Friar) on Jun 29, 2001 at 20:25 UTC
    Please tell us informed about what you do...
    I presume you are talking to me? . . .

    Well, I only ask because I am thinking about programming a game. I've read up on some topics--Tricks of the Game Programming Gurus, and 3D Game Programming With C++--quite a while ago, and I'm renewing my interest with it.

    I'm trying to organize in my mind how I'm going to implement the brains, i.e., AI, of the characters, and I was hoping to get some more input onto the subject (thanks to princepawn about the AI perl newsgroup). For one example, if a character needs to find the player then I have a variety of searching and chasing algorithms. However, I need to choose the one most suitable for the character; for example, a primitive, easy, character would probably get the 'guess and check' method. However, that primitive character would probably be allowed a simple ability to learn bits and pieces of more advanced methods if he happened to see it, somewhat taught it to him, etc.

    Right now I'm thinking about how smart to make certain characters, and once I've decided that how to make them that smart. The challance is, of course, judging how smart to make them, because it's easy to make an impossible to beat AI, making a challanging one, and one with an unique personality, however, is the challange.

    I'm looking, now, at different people's advice on the subject, and at different implementations of it. A challange I've arrived at is the actual data implementation of the 'brain'. If any one has any experience with this, I'd be grateful.

    Well, I guess I got somewhat of the subject, but I hope I've answered the question suitably enough for you.

      Years back I did game development. What passes for AI will really depend on what type of game it is. For instance, I was working on a driving game, so we came up with ADI (Ass**** Driving Intelligence). The goal was to make people drive as badly as real people. (I'm from Massachusetts btw) So our goals were to mimic how people really drive. An RPG or a Quake style shooter have very different ideas of intelligence. Also, unless it's turn based, speed will be an issue as well.

      As far as the searching method in your example, I would think the best way would be to define this "attribute" with a range, say 1..5.

      Then I would define 5 (or however many) search algorithims as functions and call the appropriate one based on the entity's level. When you decide he's getting smarter, bump up his search "attribute" level.

      You could also take an opposite approach and only have one ideal search and have a clutter factor that adds randomness to the result. This clutter factor would get reduced as the character gets "smartah"

      -Lee

      "To be civilized is to deny one's nature."
        nice Rousseau drop - he is so rarely quoted and so often should be - cheers

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://92566]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2024-04-19 07:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found