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