Logo
---

Anim Artificial intelligence Anim

Anim Artificial intelligence simulator Anim


Introducing

HellHound has created a simulator to study and learn more about artificial intelligence. If you are intrested in such subjects or want to learn more about common algorythms you should defenitly check this software package.

Artificial intelligence, What is that ?
Artificial intelligence is a routine capable of solving different kind of problems during a learning process. During this process the algorythm will analyse the gathered information and reconsider his actions. Some people will not agree with this standard but I, HellCoder, based my routine at this given standard.

  • HellCoder's approach.


  • After seeing a movie called: "The Matrix", I wanted to play with a routine capable of finding the exit in a variable maze. The basic algorythm is a routine which is able to calculate a single step of the total solution and then move just one step in his solutionpath. After that the complete routine will be reset and thus needs to recalulate the whole solution again. This way it would learn a step further and get smarter.

    This gave the following problem,

    If there are two possible ways to the exit, the routine could get stuck in a loop switching between two possible solutionpaths moving left and right. It's having second thoughts. To solve this I gave the routine a memory. With this the rythm can store some positions so that it would recognize certain positions and thus know it would need to take a different action, choosing between the two possible solutionpaths. After running several tests the routine indeed found the exit, no matter the size of the maze. This was not funny anymore, since you would just see a person walking through a maze without walking in a wrong direction. So I altered the routine a little.

    I changed the routine so that it could only analyse a few parts of the maze and not the entire maze itself. You could say that it can only see a small part of the maze and thus not know what is outside his field of vision. This introduced an earlier problem again, the routine could get in a loop again except that it was a larger one. It didn't recognize a path outside his field of vision, which makes common sence. I had to increase his memory and change his storage memory so that it could remember positions outside his field of vision.


    This is the basic routine and can be seen in level 1.



    After completing the graphics interface I still wasn't satisfied with the algorythm. It still was a routine which did exactly the same after a restart. So I asked myself: "How could it find a different solution when all information is exactly the same?", it would simply take the best solution and thus never find a different solution. So I atered his memory again, it would leak some information randomly. You can say it's more humanoid alike.


    This ofcource leaded to a routine which would never do exactly the same, since it would fail to recognize certain positions. This simulation can be seen in level 2.

    After playing with this routine I wanted to see the different routines at work at the same time. To do so I had to make the following variables.

    Set the maze field of vision.
    Set the size of his memory.
    Set the memory leakage.

    This way, it is possible to see two routines walking though a maze with different kind of settings. It could clearly be seen that the routine with best settings would find the exit first.

    To compare different algorythm-settings you should run level 3.

  • At this point of developing it changed from helping to teasing.


  • I wanted to see what possibilities my routine could survive in. I gave it some energy which also lets the routine die when run out of energy. Like nature, only the strongest will survive, or the smartest. I also made it impossible for a routine to walk through another routine, it would be seen as a wall.

    The teasing didn't stop.

    I tried the routine in a maze without an exit, to see what it would do. This was really exciting since I didn't know what to expect. What happened ??

    Run level 4 and find out.

    So it became apparent that a reliable memory was worth quite a lot. It would remember all positions and thus know there is no solution. The routine would STOP. The lesser routine, with a less reliable memory would try and try to find the exit never knowing it wasn't there. This made me think a little, what should a routine do when it thinks there is no solution ?. It would stop and never do anything, but what if I introduce a door or some other thing it would not be aware of. It would never try and find it, it would need to look for something else than the exit.

    I created the routine to look for a different thing, but at this moment I never created any doors or tranport. I will soon. (I quess)

    To further enhance this project I made it possible to analyse up to 256 different routines at the same time. without any delays. After it was able to do so I had to create 256 different routine settings. Since I'm lazy I got another idea. What if a routine can clone itself, copy his memory to the new clone and walk on ? So it was done. The routine was able to clone itself once it found another routine at the same position.

    After the first simulation I had to create some limitations, since the routine created 3043 other routines all walking and cloning in the maze. It almost seemed like the exit wasn't important anymore. Just the cloning. Now I had to create different species and give them the possibility to clone only with the same specie. If another specie is found, attack !!!. This can be seen in level 5.

    Play with it and learn more about the algorythm. It is fun !!!!.

    hcoder@hellhound.root.nl


    HellCoder of HellHound.