Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ws1920:zweiter_gruppentermin_28.11.2019

Dies ist eine alte Version des Dokuments!


liebes mathesis wiki, heute war Mazal krank. trotzdem konnten wir zu dritt das NaSch-Modell(1D zellularautomat) in python coden. wir haben die vier grundregeln auf eine anfangskonfiguration angewandt und eine endkonfiguration nach einem Zeitschritt bekommen. wir sind sehr stolz auf uns!

Ziele für den nächsten Termin: code optimieren( programm in funktion implementieren, evtl graphisch darstellen, evtl aus periodischen RBen andere ausprobieren, evtl

import numpy as np
import random
import matplotlib.pyplot as plt

p=0.15
t=10

#fahrtrichtung rechts
#naechstes mal zeitliche implementierung

a=np.array([0,0,0,0,3,0,0,0,0,4,0,0,0,2,0,0,0,0,5])
b=np.array([0,0,0,0,3,0,0,0,0,4,0,0,0,2,0,0,0,0,5])
c=np.array([0,0,0,0,3,0,0,0,0,4,0,0,0,2,0,0,0,0,5])
g=np.array([0,0,0,0,3,0,0,0,0,4,0,0,0,2,0,0,0,0,5])
e=np.array([0,0,0,0,3,0,0,0,0,4,0,0,0,2,0,0,0,0,5])

print(a)
for k in range(t):

    a=e
    #erster zwischenschritt: 
    for i in range(len(a)):
        if a[i]>0 and a[i]<5:
            b[i]=a[i]+1


    #zweiter zwischenschritt:
    #plan für jede stelle
    #zahl mit differenz vergleichen
    #falls differenz kleiner als zahl 
    #zahl=differenz

    for i in range(len(a)):
        if b[i]>=1:
            #differenzmessen
            d=1
            while b[(i+d)%len(a)]==0:
                d=d+1

            if b[i]>=d:
                c[i]=d-1
            else:
                c[i]=b[i]




    #dritter zwischenschritt: 

    for i in range(len(a)):
        if c[i]<=1:
            continue
        else:
            if random.random() < p:
                g[i]=c[i]-1
            else:
                g[i]=c[i]



    #vierter zwischenschritt: 
    #

    for i in range(len(a)):
        if g[i]>0:
            e[i]=0
            e[(i+g[i])%len(a)]=g[i]
    
    print(e)



#print(b)
#print(c)
#print(g)

#zeile
ws1920/zweiter_gruppentermin_28.11.2019.1578576456.txt.gz · Zuletzt geändert: 2020/01/09 14:27 von richard.wonneberger