The Deviousness Award is an accolade which is traditionally handed out on the 1st of every month to one truly outstanding deviant.
Artist's Comments
So in this semester I have Artificial Intelligance discipline at uni. And we have few home works there.
I think that it may be interesting for some of you people so posted result of first home work. It is about genetic algorithms. Info on genetic algorithms [link] - read here for better info. In short GA is one of not many ways of optimizing/searching something in field that is hard to formalize. For example if you know the function in which you look for minimal value you could use mathematics to try and solve that task. But for that you should have a very good knowledge in math and task should have appropriate mathematical representation. But in realty many tasks and problems often dont have correct mathematical representation or representation is too hard for math to solve. So here GA helps. Thing is that principles in it allow it to find solutions in any sphere and task. Though it comes at a price of time and uncertainty. For example you cant be 100% shore when to stop the algorithm. Idea is simple. You usually can represent solutions as some number sequence. Then you can create criteria to judge solutions based on how good they are. Using those things you make an algorithm that creates populations of random solutions and starts an evolutionary process in which solutions compete/reproduce/mutate trying to be judged better. Aims So I changed the task a little so that result would be more representable. This program receives a graph and then tries to find best mapping of graph nodes to 25x25 grid so that number of collision among edges of graph would be minimal. In some way you may say that it should untangle the graph Explanations on interface You can input a graph matrix in to the GraphString box and hit restart. Then algorithm will rebuild inner matrix and start looking solutions for it. String represents squired oriented incidence matrix of 0/1. Each number says if route from x node to y node exists. By default a graph of 25 nodes with that are connected in a circle is imputed. So that means that each creature is represented by array of mapping coordinates for each node in the graph. For 3 noded triangle graphs matrix will be: 010 001 100 and creature will be: [[0,0],[25,25],[0,25]] You can choose one of items in generation list to see actual graph. By default after each calculation it chooses best creature to show. Sometimes you will need to click few times before it selects a creature. Thing is that algorithm runs in parallel to interface and list does not catch some of the clicks Then there are options on parameters of algorithm: Population size: how many creatures are created. % of survivors: - sets % of population that is chosen are representatives that fit for reproduction. Say that with population of 100 and survivors of 50% it will chose 50 creatures and will create 50 more children from them. Children I made by choosing random pair of creatures and then creating new one with characteristics randomly taken from parents. % of mutations: % of creatures that will be chosen for mutation. % of effect: % of characteristics of creatures that will be randomly changed in mutation process. Seems like thats all. Usually somewhere in 200 generations it untangles the initial graph. Though it depends on luck. Edit: Added start/stop button and fixed one bug. |
Details
April 13, 2008
43.4 KB 78.7 KB 200×200 StatisticsShare
Link
Embed
Thumb
|
Comments
i wish i knew more about ai....
--
Flashism.
I support DA Sound Dimension [link]
--
There is only a Flash between the past and future, and exactly that is what I call life at least for Flasher/Scripter/Designer
I support DA Sound Dimension [link]
--
Sci-fi, mecha, fantasy and more at [link] !!!
--
There is only a Flash between the past and future, and exactly that is what I call life at least for Flasher/Scripter/Designer
I support DA Sound Dimension [link]
--
--
GA:s are one of the most interesting things it've experimented with. Those and NN:s.
--
Warning: dates on calendar are closer than they appear.
SpaceWarp.se
And thanks for fav
--
There is only a Flash between the past and future, and exactly that is what I call life at least for Flasher/Scripter/Designer
I support DA Sound Dimension [link]
--
There is only a Flash between the past and future, and exactly that is what I call life at least for Flasher/Scripter/Designer
I support DA Sound Dimension [link]
The extensive research and knowlege is astounding
--
" Compassion is your greatest strength, and your greatest weakness. For if your enemy finds how to break it, you will become disarmed and without defense" - "Taiya001"
--
There is only a Flash between the past and future, and exactly that is what I call life at least for Flasher/Scripter/Designer
I support DA Sound Dimension [link]
Previous Page12345Next Page