Mønstergenerering Cellular Automation

Celluar Automation

Cellualar automation betyder automatiserede enkeltdele, dvs. at i stedet for at have et et stort system, der generer detaljerne, så automatiseres de enkelte detaljer ved hjælp af et sæt regler, så de generer det store system.

Følgende regelsæt vil danne følgende figur vil danne følgende figur
regler.jpg 2_6.jpg

Opgave:

Hvad hedder den figur (vist overfor), som bliver dannet af regelsættet?

Cellular Automata - bakterie vækst simulation

Hvis man laver følgende regelsæt, så kan filmen til højre laves:

  • Hvis jeg er blå og har en rød nabo, så bliver jeg rød.
  • Hvis jeg er rød og har en grøn nabo, så bliver jeg grøn.
  • Hvis jeg er grøn og har en blå nabo, så bliver jeg blå.
  • Hvis jeg er hvid og har en ikke hvid nabo, så bliver jeg samme farve, som min nabo.

Filmen viser en simulation på 3 bakteriekolonier der spiser hinanden. Der dannes gentagne mønstre, som ligner hinanden men alligevel er de aldrig ens.

Vand simulation

Vandet i spillet Terraria er simuleret ved hjælp af cellular automata, således at vandet kan flyde fra det ene sted, til det andet sted i spillet. Cellular automation behøver ikke at have alle enheder i en matrix (dvs. at alle enheder ligger i rækker og koloner). De enkelte enheder kan også bevæge sig frit og ikke aflæse deres naboer, men sanse hele deres miljø:

Innovativ opgave

Vandpartikler erstattes med biler og indsættes i f.eks. Google maps. Dermed kan vandsimulation laves om til simulation af biltrafik.
Lav et andet eksempel, hvor man laver en helt tredje simulator ved hjælp af cellular automata.

Robotternes fremtid og deres innovation

Forståelse af mønstre relaterer ikke kun til grafisk produktion af 3d landskaber, simulatorer o. lign. Vores forståelse af mønstergenerering kan også skabe innovation i andre brancher, så som robot branchen.
Dagens fabrik robotter, svarer til en iterativ-robot, der kan masseproducere et specifik produkt, hvor imod en rekursiv-robot vil f.eks. kunne producere kopier af sig selv. En cellular automaton-robot vil bestå af flere selvstændige mini-robotter, som f.eks. kan samles og skilles ad efter behov.

  • Iterativ-robot: eksempel
  • Rekursiv-robot: (det er ikke lykkedes at bygge en robot, der kan reproducere sig selv, af rå materialer)
  • Cellular automaton-robotter: eksempel

Mirek's Cellebration

Mirek Wójtowicz er en polsk software udvikler, der har udviklet programmet "Mirek's Cellebration" til simulering af Celluar Automata. Programmet findes i 2 udgaver:

(I videoen til venstre ses en sand simulation i Mirek's Cellebration)

Opgave

Afprøv Mirek's Cellebration Java applet og vis mindst 3 mønstre du kan generere.

Medmindre andet er angivet, er indholdet af denne side licenseret under Creative Commons Attribution-NonCommercial 3.0 License