| |
Hermit
Registered: May 2008 Posts: 208 |
AI on C64
Were there any Artifical Intelligence experiments on C64?
-A neuron is not really more than a body which sums more weighted inputs into an output..(in real life sigma-sum)
-A neural network appears when these are connected to each other, in most cases by careful arrangement.
-The neurons can learn by modifying their (originally randomized) input-weights to reach the wished (reference) value at their output.
-The learning process takes some iterations depending on the strength (multiplier) of the feedback of actual error delta (wished reference for actual inputs -minus- the actual output). The optimal multiplier seems between 0.2..0.3 from my experiments.
A neuron's pins, datas (weights) and connections can be modelled in assembly easily. A byte can be a value of input-weight, and the weighted inputs can be added (and divided) together to a byte, which will represent the output of the neuron when the neuron was simulated once in a step. Then a connection list can route this output to other neuron's input.
See my example on my homepage (neuron-DAC2.xls).
http://hermitsoft.uw.hu/pcprog/pcprog.html
It's an Excel file that shows iterations and learning curve of a Neuron. We teach it to be a special Neuron - be it a DAC (Digital-to-Analog converter).
After several iterations the error gets smaller-and-smaller, then our Neuron learns to be a DAC, the needed information is 'stored' in its weights.
No concept yet, but C64 may be able to simulate simple neural networks at 1MHz, which could be useful in games, and even in demos, or who knows, even in 'random' composing for music editors..
Maybe you're interested..maybe not.
Have a good exploration.
Hermit Software Hungary |
|
... 14 posts hidden. Click here to view all posts.... |
| |
PopMilo
Registered: Mar 2004 Posts: 146 |
I messed around with AI before, and in one of my projects it turned out to be much simpler to define rules for each type of object in game... Lot of conditions and actions... Nothing inteligent but it did seem like that ingame :)
I do like the idea to use AI for graphic converter ...
I think genetic algorithms would be of much use...
Raw power of modern PCs can do miracle.
|
| |
Wile Coyote Account closed
Registered: Mar 2004 Posts: 646 |
Of the many ideas Ive had for games (some good, some not so good, some in need of extra work ;) reading this thread made be take one idea further. I dont want to explain the idea in miniscule detail, but rather list a few bullet points. AI is key to the whole game experience.
Period: Based in the future
Location: Set a sky scrapper
Level Graphics: X-Ray (each level has the look of an X-Ray)
Imagine cutting a sky scrapper horizontally, and taking a top down view of an office layout. Thats how each level would look, in X-Ray form.
Game Play: One on one action. Think Alien vs. Predator.
The Player character remains outside the sky scrapper, not able to enter, only shoot inwards through the windows. The Computer character remains inside the sky scrapper, not able to exit, for fear of the Player, and only able to shoot outwards, though the windows.
Game Over happens once the Player looses all lives.
Game Completion never happens, as the AI increases level by level.
A level limit could be imposed, but that would remove the ultimate challenge (You vs. It)
Player Character: Future Cop, armed with big gun, complete with jetpack. Hovers to the left, right, top, bottom, of the screen, always facing inwards (to wards the (square shaped) sky scrapper).
Computer Character: Futuristic Reptile, armed with big gun, can walk, run, stop, think, hide, and obviously shoot.
Story: At present, there isnt one, other than: The Futuristic Reptile is obviously some sort of terrorist, a threat, and needs to be wiped out.
Levels: Either predefined, or computer generated. Each level consists of an arrangement of walls.
Level Progression:
Lv.1 Computer Character AI level 1
On the elimination of Character AI level 1, the Futuristic Reptile drops its weapon, and spits out an egg. The egg hatches into a fully formed Futuristic Reptile that picks up the weapon, and heads up a Level in terms of both AI and Floor Level.
With each level progression, theres an AI progression. The Futuristic Reptile level of AI learnt from the Player it is vs.
|
| |
Trash
Registered: Jan 2002 Posts: 122 |
@popmilo:
Genetic algorithms and AI is already in use, check out the info about NEAT ( http://nn.cs.utexas.edu/?neat ), a new way of ordering the neurons resulting in a NN ( Neural Network ) that is harder to overlearn and never have an overhead ( auto adjusting ) of the number of neurons within the middlelayers. I use it for OCR and some other projects of mine and it is way better than traditional NN's in several cases. |
| |
Hermit
Registered: May 2008 Posts: 208 |
This is a great webpage, Trash...
The experiments are the most advanced that I have seen until now.
Recently I saw a similar method, which also tries to reach the development evolutionally: Polyworld.
http://www.youtube.com/watch?v=nWH64f8rc64
http://en.wikipedia.org/wiki/Polyworld
In details:
http://www.youtube.com/watch?v=_m97_kL4ox0
And the Polyworld software is downloadable from Yaeger's page:
http://www.beanblossom.in.us/larryy/PolyWorld.html
Using evolution model seems a great method in searching secrets of AI, and the best thing is that we can fasten the process that has taken millions of years for nature... We are like a virtual God :)
(Other thing: What if neural AI can be used to calculate square-root, prime numbers, etc..?)
Hermit Software Hungary |
| |
Hermit
Registered: May 2008 Posts: 208 |
Hmm, who has known about this?
A BASIC program from 1987 with pattern recognition,
neural network simulation for C64 by John Walker :)
http://www.fourmilab.ch/documents/c64neural.html
Hermit Software Hungary |
| |
Trash
Registered: Jan 2002 Posts: 122 |
@Hermit:
The method described in polyworld (really interesting link btw) is far from being the same or in any way similar to the NEAT-method, the only thing they have in common is the use of gentic algorithm's, they differ widely in the way they use it. In polyworld they use the genetic algorithm to combine the DNA of different species making the AI evolve with an natural selection, in NEAT you evolve the neurons layers to be as fit to the selected problem as possible. The resulting main difference can be seen in the leraningcurves, when polyworlds learningcurve peaks there can be no fitter animals within the world, a similar problem solved by NEAT would not peak it would just get smarter the further you let it run since the worlds parameters dont stop it from peaking.
This is why we see more and more implmentations of NEAT aimed at CUDA and similar interfaces pop up around the internet. Now i am missing a cuda-card but I would sure be interested in making my softwares take advantage of it.
From a C64 POV I'd love to try implement a fully trained NEAT-network and make somekind of realtime logodrawer around it, imagine a greetingspart drawing up other groups logos based on their common style (this is pretrained) and name (the input to the NN). That is ofcourse a hard task but far from impossible. |
| |
PopMilo
Registered: Mar 2004 Posts: 146 |
Thank you all for links!
Good stuff... lot to read :)
I am interested in something like this:
http://rogeralsing.com/2008/12/07/genetic-programming-evolution..
I wonder if something like this could be done for converter of images to one of those new graphic modes like NUFLI, MSCU and such (sprite overlays, but maybe not uniform but what is best for specific image)...
|
| |
Jak T Rip
Registered: Feb 2002 Posts: 39 |
You might also be interested in Centric. It remembers what the player(s) do and the CPU players get more clever based on that.
Centric |
| |
Stingray Account closed
Registered: Feb 2003 Posts: 117 |
Be very carefull Hermit, if C64s ever get the power of AI they would surley take over the world!
After the C64 AI has learnt enough information I wonder what it would destroy first?
Some ppl have there C64 connected to the internet, the C64 would reign supreme! |
| |
Hermit
Registered: May 2008 Posts: 208 |
That's a great idea.
When I make my universal neuron-network routine this year, x86 systems should be afraid afterwards.
C64's revenge is coming soon :) Final countdown started :)....
Happy New Year
Hermit Software Hungary |
Previous - 1 | 2 | 3 - Next |