Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice



Acasa » referate » informatica » calculatoare
Proiect inteligenta artificiala - “life game”

Proiect inteligenta artificiala - “life game”



UNIVERSITATEA TEHNICA GH. ASACHI-IASI

FACULTATEA DE AUTOMATICA SI CALCULATOARE

PROIECT

INTELIGENTA ARTIFICIALA

LIFE GAME

      “Life Game” presupune realizarea unor constructii bazate pe existenta unor simple reguli de “viata” si “moarte”, constructii, pe care calculatorul le trece printr-o serie de rapide transformari. Acest model, propus de Dr. John Horton Conway ( Universitatea Cambridge -Anglia) , a captat interesul cercetatorilor din intreaga lume.


            Life Game este bazat pe ”Celular automata theory” si este un  automat celular bidimensional (matrice), aflat  intr-un plan infinit, din care putem observa o singura parte.

Life game simuleaza evolutia unor colonii de organisme vii pe care, aici, le reprezentam prin matrici, ale caror elemente au urmatoarea reprezentare:

·         fiecare “ * ” reprezinta o celula vie;

·         fiecare “ . ” reprezinta o celula moarta;

·         fiecare celula ,cu exceptia celor situate pe margini, are cate opt vecini, care ii pot influenta starea .

Soarta unei celule este schimbata in concordanta cu o serie de reguli care se aplica simultan fiecarei celule din spatiu. Aceste reguli se bazeaza atat pe cele doua stari ale unei celule, cat si pe starile colective ale vecinilor; iar o celula poate fie sa se nasca, fie sa moara.

Regulile lui Conway sunt cheia acestui joc. El a selectat aceste reguli in  mai multi ani, astfel incat sa evite cele doua extreme: modelele care se inmultesc foarte repede fara limite si modelele care mor repede. Pastrind echilibrul, el a construit modele imprevizibile si modele cu o activitate variata incredibila. Cu toate ca aceste reguli nu sunt complicate, modele “life” complexe pot aparea plecand de la modele foarte simple. A fost aratat ca in “life” exista posibilitatea unui fenomen de miscare a intregii generatii, cu posibilitatea de a aparea altele identice.

Aceste reguli sunt:

·         daca una din celule este moarta, ea devine vie atunci cand  are trei celule vii ca vecine;

·         daca o celula este vie, ea ramane in aceasta stare daca are doua sau trei celule vii ca vecine; in caz contrar ea devine o celula moarta, disparind in generatia urmatoare.

Matricea aleasa trece intr-o stare intermediara, in care este specificat  care celula moare (m) si care invie(v), si in starea finala, prin actualizarea celulelor vii si a celor moarte( “m” devine  .” , iar “v” devine “*”).

     Modalitate de rezolvare

     Mai intai se alege matricea cu care vom lucra. Aceasta poate fi generata aleator, sau poate fi aleasa dintre generatiile standard. In program matricea este reprezentata sub forma de sir.

Pentru fiecare element al sirului sir, este creat un alt sir vecini in care vor fi inserati vecinii lui.Trebuie tinut cont de faptul ca nu toate celulele au opt vecini, si de faptul ca matricea este un sir.

;in sirul vecini pun pe rand vecinii fiecarui element

          (bind ?element (nth$ (+ ?j (* ?n ( - ?i 1))) $?sir))

          (bind $?vecini (create$))   

          (if (!=  ?i 1) then

                    (bind $?vecini (insert$ $?vecini 1 (nth$ (+ ?j (* ?n (- ?i 2))) $?sir)))

          )

          (if(!= ?i ?m) then

                   (bind $?vecini(insert$ $?vecini 1 (nth$ (+ ?j (* ?n  ?i )) $?sir)))

          )

          (if(!= ?j 1) then

                  (bind $?vecini(insert$ $?vecini 1 (nth$ (+ (- ?j 1) (* ?n  (- ?i 1 ))) $?sir)))

           )    

          (if (!= ?j ?n) then   

                  (bind $?vecini(insert$ $?vecini 1 (nth$ (+ (+ ?j 1) (* ?n (- ?i 1))) $?sir)))

          )

          (if (and (!= ?j 1)(!= ?i 1)) then

                   (bind $?vecini(insert$ $?vecini 1 (nth$ (+ (- ?j 1) (* ?n (- ?i 2))) $?sir)))

          )

          (if (and (!= ?j ?n)(!= ?i 1))then

                  (bind $?vecini(insert$ $?vecini 1 (nth$ (+ (+ ?j 1) (* ?n (- ?i 2))) $?sir)))

          )

          (if (and (!= ?j 1)(!= ?i ?m))then

                   (bind $?vecini(insert$ $?vecini 1 (nth$ (+ (- ?j 1) (* ?n  ?i )) $?sir)))

          )

          (if (and (!= ?j ?n)(!= ?i ?m))then



                   (bind $?vecini(insert$ $?vecini 1 (nth$ (+ (+ ?j 1) (* ?n  ?i )) $?sir)))

          )



Cu ajutorul acestui vector se vor calcula numarul de celule vii, numar care va fi introdus in sirul sirvec.

;calculez nr de vecini vii ai celulei

      (loop-for-count (?k ?dim)

            (bind ?valoare (nth$  ?k  $?vecini))

            (if(eq ?valoare *) then

                             (bind ?nr (+ ?nr 1))

                  )

      )

    

     ;in sirvec retin nr de vecini vii pt fiecare celula

     (bind $?sirvec (insert$  $?sirvec (+ ?j (* ?n ( - ?i 1))) ?nr))

       (delete$ $?vecini 1 ?dim)

       )

Fiecarui element din  sirul sir, i se va aplica regulile “Conway” descrise mai sus, dupa numarul de vecini dati de sirvec.

;aplicarea regulilor

     (bind ?element (nth$ (+ ?j (* ?n (- ?i 1))) $?sir))

     (bind ?nr (nth$ (+ ?j (* ?n (- ?i 1))) $?sirvec))

     (if(and(eq ?element *)(and(!= ?nr 2)(!= ?nr 3))) then           

                             (bind ?new m)

        (bind $?sir  (replace$  $?sir  (+ ?j (* ?n ( - ?i 1)))  (+ ?j (* ?n ( - ?i 1))) ?new ))

     )

     (if(and(eq ?element .)(= ?nr 3)) then

                             (bind ?new v)

     (bind $?sir (replace$  $?sir  (+ ?j (* ?n ( - ?i 1)))  (+ ?j (* ?n ( - ?i 1))) ?new))

      )         

Urmatorul pas este afisarea matricii intermediare (contine pe langa “*”,”.” si simbolurile “m” si “v” ), si apoi are lor reactualizarea matricii (renasterea generatiei ).

 

     

            Exista mai multe modele cu comportari particulare:

-glider (planor-ul)- este cel mai important model al jocului, putem observa cum se misca in plan, schimbandu-si forma la fiecare pas, dupa patru pasi revenind la forma initiala:

                                     

 

    - navele

                               

                

-pentadecathlon

             

     

        - oscilatorul

                  

          -cele doua modele utilizate in acest proiect , cu transformarile lor:

        

         

                








Politica de confidentialitate

.com Copyright © 2019 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Proiecte

vezi toate proiectele
 PROIECT DE LECTIE Clasa: I Matematica - Adunarea si scaderea numerelor naturale de la 0 la 30, fara trecere peste ordin
 Proiect didactic Grupa: mijlocie - Consolidarea mersului in echilibru pe o linie trasata pe sol (30 cm)
 Redresor electronic automat pentru incarcarea bateriilor auto - proiect atestat
 Proiectarea instalatiilor de alimentare ale motoarelor cu aprindere prin scanteie cu carburator

Lucrari de diploma

vezi toate lucrarile de diploma
 Lucrare de diploma - eritrodermia psoriazica
 ACTIUNEA DIPLOMATICA A ROMANIEI LA CONFERINTA DE PACE DE LA PARIS (1946-1947)
 Proiect diploma Finante Banci - REALIZAREA INSPECTIEI FISCALE LA O SOCIETATE COMERCIALA
 Lucrare de diploma managementul firmei “diagnosticul si evaluarea firmei”

Lucrari licenta

vezi toate lucrarile de licenta
 CONTABILITATEA FINANCIARA TESTE GRILA LICENTA
 LUCRARE DE LICENTA - FACULTATEA DE EDUCATIE FIZICA SI SPORT
 Lucrare de licenta stiintele naturii siecologie - 'surse de poluare a clisurii dunarii”
 LUCRARE DE LICENTA - Gestiunea stocurilor de materii prime si materiale

Lucrari doctorat

vezi toate lucrarile de doctorat
 Doctorat - Modele dinamice de simulare ale accidentelor rutiere produse intre autovehicul si pieton
 Diagnosticul ecografic in unele afectiuni gastroduodenale si hepatobiliare la animalele de companie - TEZA DE DOCTORAT
 LUCRARE DE DOCTORAT ZOOTEHNIE - AMELIORARE - Estimarea valorii economice a caracterelor din obiectivul ameliorarii intr-o linie materna de porcine

Proiecte de atestat

vezi toate proiectele de atestat
 Proiect atestat informatica- Tehnician operator tehnica de calcul - Unitati de Stocare
 LUCRARE DE ATESTAT ELECTRONIST - TEHNICA DE CALCUL - Placa de baza
 ATESTAT PROFESIONAL LA INFORMATICA - programare FoxPro for Windows
 Proiect atestat tehnician in turism - carnaval la venezia






Termeni si conditii
Contact
Creeaza si tu