turtles-own [ voditelj ;; cifra zelvice, ki je zasledovana ;; ali nihce, ce ne zasleduje sledilec ;; cifra zelvice, ki zasleduje ;; ali nihce, ce ni zasledovana ] to nastavitev ca cct st_zelvic [ set color pink setxy (random-float screen-size-x) (random-float screen-size-y) set voditelj nobody set sledilec nobody ] nastavitev-graf graf-zelvice end to Zacni ask turtles [ if voditelj = nobody [ napad-zelvice ] premik-zelvic ] graf-zelvice end to napad-zelvice ;; procedura zelvice locals [other xd yd] ;; najdi nakljucno pot za test znotraj podrocja set xd notranji_polmer + random (zunanji_polmer - notranji_polmer) set yd notranji_polmer + random (zunanji_polmer - notranji_polmer) if random 2 = 0 [ set xd (- xd) ] if random 2 = 0 [ set yd (- yd) ] ;; preveri proste zelvice na poti set other random-one-of (turtles-at xd yd) with [sledilec = nobody] ;; ce ne najdemo ustrezne zelvice, se ustavi if (other = nobody) [ stop ] ;; smo pripravljeni, torej v napad set sledilec-of other who set voditelj other ;; spremeni naso barvo ifelse sledilec = nobody [ set color lime ] [ set color sky set shape "body" ] ;; spremeni barvo voditelja ifelse voditelj-of other = nobody [ set color-of other yellow ] [ set color-of other sky set shape-of other "body" ] end to premik-zelvic ;; procedura zelvice ;; ce se nismo napadeni... ifelse voditelj = nobody ;; naredi nekoliko nakljucnega zdrsa [ rt random-float omahovanje - random-float omahovanje ] ;; sicer sledi voditelju [ set heading towards voditelj ] fd 1 end to nastavitev-graf set-current-plot "stevilo_zelvic" set-plot-y-range 0 st_zelvic end to graf-zelvice if not graf? [ stop ] set-current-plot-pen "nedotaknjen" plot count turtles with [color = pink] set-current-plot-pen "glava" plot count turtles with [color = yellow] set-current-plot-pen "telo" plot count turtles with [color = sky] set-current-plot-pen "rep" plot count turtles with [color = lime] end ; *** Model NetLoga-opozorilo glede avtorskih pravic *** ; Ta model je bil narejen kot del projekta : POVEZANA MATEMATIKA: ; SMISEL KOMPLEKSNEGA FENOMENA SKOZI GRADNJO OBJEKTA-OSNOVA PARALELNEGA ; MODELA (OBPML). Projekt hvaležno prizna podporo ; Narodne znanstvene ustanove ( Prošnje za program napredne ; tehnologije) -- dovoljenje št. RED #9552950 in REC #9632612. ; ; avtorska pravica 1998 : Uri Wilensky. Vse pravice pridržane. ; ; Dovoljenje za uporabo, prilagoditev ali ponovno distribucijo modela je s tem dovoljena ; pod pogojem da sta upoštevana spodnja pogoja: ; a) to opozorilo avtorske pravice je priloženo ; b) ta model ne bo ponovno narejen za dobiček brez dovoljenja Uri Wilensky. ; Pri ponovni distribuciji modela za dobiček naveži stik z Uri Wilensky. ; ; Ta model je bil spremenjen v NetLogo kot del projekta: ; SODELOVALNO SIMULIRANJE: OMREŽNO SESTAVLJEN NAČRT ZA UČENJA V ; RAZREDIH. Projekt prizna podporo ; Narodne znanstvene ustanove (program REPP) -- dovoljenje št. REC #9814682. ; Spremenjen iz StartLogot-a v NetLogo, 2001. Posodobljen 2002. ; ; Za sklicevanje modela v akademski publikaciji, prosim, uporabite: ; Wilensky, U. (1998). NetLogo model Sledilec. ; http://ccl.northwestern.edu/netlogo/models/Follower. ; Center za povezano učenje in modeli zgrajeni na osnovi računalnika ; Northwestern University, Evanston, IL. ; ; V drugih publikacijah prosim, uporabite: ; Avtorska pravica, 1998, Uri Wilensky. Vse pravice zadrzane. ; ; *** Konec opozorila avtorskih pravic za ta model *** @#$#@#$#@ GRAPHICS-WINDOW 310 10 689 410 20 20 9.0 1 10 1 1 1 CC-WINDOW 310 412 679 526 Command Center BUTTON 149 42 236 75 Začni Zacni T 1 T OBSERVER T BUTTON 53 42 147 75 Nastavitev nastavitev NIL 1 T OBSERVER T SLIDER 72 190 222 223 omahovanje omahovanje 0.0 359.0 359.0 1.0 1 NIL SLIDER 72 155 222 188 zunanji_polmer zunanji_polmer 0.0 50.0 50.0 1.0 1 NIL SLIDER 51 79 239 112 st_zelvic st_zelvic 0 1000 10 10 1 NIL SLIDER 72 120 222 153 notranji_polmer notranji_polmer 0.0 50.0 50.0 1.0 1 NIL PLOT 13 301 301 463 stevilo_zelvic cas # 0.0 100.0 0.0 350.0 true true PENS "nedotaknjen" 1.0 0 -65413 true "glava" 1.0 0 -256 true "telo" 1.0 0 -16745473 true "rep" 1.0 0 -16711936 true SWITCH 90 263 180 296 graf? graf? 0 1 -1000 @#$#@#$#@ KAJ JE TO? ----------- V igri Sledilec, se želvice poskusajo povezati z drugimi želvicami s tem, da delajo dolge vrste glede na nekaj preprostih pravil. V modelu želvica lahko sledi le eni želvici in obratno-lahko ji sledi le ena želvica. To pomeni, da so štiri stanja želvic, vse predstavljene s svojo barvo: Roza: nedotaknjen Zelena: sledi drugi želvici ("rep") Rumena: zasledovan od neke druge želvice ("glava") Modra: sledi želvici in je zasledovan od neke druge želvice ("telo") Želvice so spočetka v stanju "nedotaknjen" (roza barva). Na vsakem mestu želvica preveri naključno pot okoli sebe v kvadratnem področju. Če tam najde želvico, ki še ni zasledovana, bo šla na delo in sledila premikanju le te. Nedotaknjena želvica (tista, ki še ni kakorkoli sodelovala z neko drugo želvico) se bo premikala naključno. NAVODILA ZA UPORABO ------------------- NASTAVITEV: Pobriše okno in zgradi število želvic, ki je podano v drsnem gumbu ST_ZELVIC. Vse želvice so zgrajene v stanju "nedotaknjen"(roza barva). START: Požene simulacijo. ST_ZELVIC: Ponazarja število želvic, ki so kreirane pri NASTAVITVAH. NOTRANJI_POLMER: Notranji polmer kvadratnega področja, kjer se želvice nahajajo. ZUNANJI_POLMER: Zunanji polmer kvadratnega področja, kjer se želvice nahajajo. OMAHOVANJE: Količina naključnih premikov ne-sledilnih želvic. Najdemo tudi graf, imenovan "stevilo_zelvic", ki prikazuje glede na čas, število želvic v posameznem stanju. Lahko vključiš graf ON ali OFF na gumbu GRAF?. ZAPOMNI SI ---------------- Vsak drsnik ima drugacen učinek na simulacijo. Zapomni si, kadar je število želvic veliko, se bo veriga ustvarila hitro. To je zato, ker je več želvic in zato tudi več možnosti za vsako želvico, da napade. Spreminjanje velikosti območja stremi k temu, kako želvice začno napad, ampak, ko program dolgo teče, le-to nima večjega učinka. Področje je bolj zanimivo pri manjsih podatkih, ki povzročijo, da se želvice napadajo v manjših zankah. Prav tako, zelo veliko, a tanko področje (velik ZUNANJI_POLMER, majhen NOTRANJI_POLMER) izgleda zanimiv za veliko število želvic. Količina naključnih premikov (zgenerirano preko OMAHOVANJE) lahko ravno tako spremeni simulacijo. Visoka stopnja rezultata OMAHOVANJE v majhnih zankah je generirano zaradi želvic, ki se konstantno premikajo čez njih, tako da je večja možnost, da se glava priklene na njegov rep. Simulacija, s kakršnimi koli parametri, premika naprej narejene verige. Verige so lahko zgrajene preko zavoja okrog zaslona, ampak skoraj v vseh primerih, če se simulira z leve strani in da program teče kar nekaj časa, dobimo veliko majhnih zank ali eno večjo. Možno je, da se veriga nikoli ne poveže s sabo, če je gumb OMAHOVANJE nastavljen na 0. V nasprotnem primeru naj bi simulacija nadaljevala pot proti zanki. STVARI, KI JIH JE POTREBNO POISKUSITI -------------------------------------- Poskusi gumb OMAHOVANJE nastaviti na zelo visoko. Opazuj, kako se želvice zbirajo v manjše skupinice. To je zato, ker se premikajo čeznje pogosto, kar poveča možnost napada na njihov rep. To ima smisel, če področje dovoli, da želvice okolje blizu njih, če pa ne dovoli (NOTRANJI_POLMER je visok) se to zgodi ravno tako. Zakaj je to problem? Zapomni si, da so v grafu zarisane vse štiri možnosti želvic, ampak na grafu se pojavijo le tri. Mogoce veš, zakaj? NADALJEVANJE MODELA ------------------- Poskusi izvrševati različna pravila, kako želvice zasledujejo druga drugo. Na primer, zanimivi rezultati so vidni, če je uporabljen enostaven "towards-nowrap". Poskusiš lahko tudi, da želvice ponovno razpadejo. Oglej si, kako vpliva to na vzorec, ki ga naredijo? NETLOGO-ve POTEZE ---------------- Da želvice sledijo druga drugi, uporabi osnovni ukaz "proti" ("towards"). Moramo biti tudi zelo pazljivi, da zagotovimo, da nikoli dve želvici ne sledita enemu voditelju. ZAUPANJE IN PRIPOROČILA ----------------------- Za sklicevanje na model v člankih, prosim uporabite: Wilensky, U. (1998). NetLogo-v model Sledilec. http://ccl.northwestern.edu/netlogo/models/Follower. Center za povezano učenje in modeliranje na osnovi racunalnika, Northwestern University, Evanston, IL. V drugih objavah uporabite: Avtorska pravica, 1998, Uri Wilensky. Vse pravice zadržane. @#$#@#$#@ default true 0 Polygon -7566196 true true 150 5 40 250 150 205 260 250 body true 0 Line -7566196 true 148 297 148 0 @#$#@#$#@ NetLogo 2.0.2 @#$#@#$#@ @#$#@#$#@ @#$#@#$#@