Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Umjetna Inteligencija NetLogo (zadatak)

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji siročići (oni koji nemaju svoj podforum) -> Računarski kolegiji
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
baloncic1990
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 28. 09. 2011. (16:45:26)
Postovi: (9)16
Sarma = la pohva - posuda
-2 = 2 - 4

PostPostano: 18:55 sub, 4. 2. 2012    Naslov: Umjetna Inteligencija NetLogo Citirajte i odgovorite

Trebam pomoć u izradi seminara iz umjetne inteligencije. Trebam napraviti program u NetLogu za pretraživanje labirinta pomoću algoritma kolonije mrava. Treba naći cilj i vratiti se u koloniju najkraćim putem. Zapela sam već u traženju cilja... To bi, kao, trebalo ići slučajnim odabirom. Evo što sam ja napravila:
[code:1]to trazi-cilj
set y random broj-mravi
ask turtle y
[ kreni-nasumicno ]
end

to kreni-nasumicno

if([pcolor] of patch-ahead 1 = green)
[ fd 1
stop]

ifelse([pcolor] of patch-ahead 1 != white and pxcor < 0 and pycor > 0)
[fd 1]
[
set x random 2

ifelse(x = 0)
[rt 90]

[lt 90]
]


end
[/code:1]
Bi li mi netko mogao objasniti u čemu sam pogriješila?
Trebam pomoć u izradi seminara iz umjetne inteligencije. Trebam napraviti program u NetLogu za pretraživanje labirinta pomoću algoritma kolonije mrava. Treba naći cilj i vratiti se u koloniju najkraćim putem. Zapela sam već u traženju cilja... To bi, kao, trebalo ići slučajnim odabirom. Evo što sam ja napravila:
Kod:
to trazi-cilj
  set y random broj-mravi
  ask turtle y
  [ kreni-nasumicno ]
end

to kreni-nasumicno
 
 if([pcolor] of patch-ahead 1 = green)
 [ fd 1
   stop]
 
 ifelse([pcolor] of patch-ahead 1 != white and pxcor < 0 and pycor > 0)
 [fd 1]
 [
   set x random 2
   
   ifelse(x = 0)
   [rt 90]
   
   [lt 90]
 ]
 
 
end

Bi li mi netko mogao objasniti u čemu sam pogriješila?


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
baloncic1990
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 28. 09. 2011. (16:45:26)
Postovi: (9)16
Sarma = la pohva - posuda
-2 = 2 - 4

PostPostano: 18:16 pon, 6. 2. 2012    Naslov: Citirajte i odgovorite

Evo da se javim... Nešto sam uspjela napraviti... Evo koda:
[code:1]to trazi-cilj
set y random broj-mravi
ask turtle y
[ kreni-nasumicno
vrati-se ]
ask patches [ set feromon (1 - ro) * feromon ]
end

to kreni-nasumicno

if([pcolor] of patch-ahead 1 = green)
[ fd 1
if (put-duljina < najbolji-put-duljina) [set najbolji-put-duljina put-duljina]
ask patch (pxcor + 10) pycor [set pcolor green]
set feromon-povecavanje 100 / put-duljina
stop]

set x random 3

ifelse([pcolor] of patch-ahead 1 != white and (x = 0))
[
fd 1
set put-duljina put-duljina + 1
ask patch (pxcor + 10) pycor [set pcolor white]
ask patch pxcor pycor [set feromon feromon + feromon-povecavanje]
]
[
ifelse(x = 1)
[rt 90]
[lt 90]
]

end

to vrati-se
if ([pcolor] of patch-ahead 1 = red)
[
fd 1
set put-duljina 0
ask patch (pxcor + 10) pycor [set pcolor red]
stop
]

end[/code:1]
E sad... Problem je kako napraviti da se mravi vraćaju najkraćim putem... Može li neko pomoći???
Evo da se javim... Nešto sam uspjela napraviti... Evo koda:
Kod:
to trazi-cilj
  set y random broj-mravi
  ask turtle y
  [ kreni-nasumicno
    vrati-se ]
  ask patches [ set feromon (1 - ro) * feromon ]
end

to kreni-nasumicno
 
 if([pcolor] of patch-ahead 1 = green)
 [ fd 1
   if (put-duljina < najbolji-put-duljina) [set najbolji-put-duljina put-duljina]
   ask patch (pxcor + 10) pycor [set pcolor green]
   set feromon-povecavanje 100 / put-duljina
   stop]
 
 set x random 3
 
 ifelse([pcolor] of patch-ahead 1 != white and (x = 0))
 [
   fd 1
   set put-duljina put-duljina + 1
   ask patch (pxcor + 10) pycor [set pcolor white]
   ask patch pxcor pycor [set feromon feromon + feromon-povecavanje]
 ]
 [
   ifelse(x = 1)
   [rt 90]
   [lt 90]
 ]
 
end

to vrati-se
  if ([pcolor] of patch-ahead 1 = red)
  [
    fd 1
    set put-duljina 0
    ask patch (pxcor + 10) pycor [set pcolor red]
    stop
  ]
 
end

E sad... Problem je kako napraviti da se mravi vraćaju najkraćim putem... Može li neko pomoći???


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
baloncic1990
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 28. 09. 2011. (16:45:26)
Postovi: (9)16
Sarma = la pohva - posuda
-2 = 2 - 4

PostPostano: 19:22 pon, 6. 2. 2012    Naslov: Citirajte i odgovorite

Evo nešto sam napravila... Može li netko pogledati i pokušati pronaći grešku?

[code:1]to trazi-cilj
set y random broj-mravi
ask turtle y
[ kreni-nasumicno
vrati-se ]
ask patches [ set feromon (1 - ro) * feromon ]
end

to kreni-nasumicno

if([pcolor] of patch-ahead 1 = green)
[ fd 1
if (put-duljina < najbolji-put-duljina) [set najbolji-put-duljina put-duljina]
ask patch (pxcor + 10) pycor [set pcolor green]
set feromon-povecavanje 100 / put-duljina ]

set x random 3

ifelse([pcolor] of patch-ahead 1 != white and (x = 0))
[
fd 1
set put-duljina put-duljina + 1
ask patch (pxcor + 10) pycor [set pcolor white]
ask patch pxcor pycor [set feromon feromon + feromon-povecavanje]
]
[
ifelse(x = 1)
[rt 90]
[lt 90]
]

end

to vrati-se
if ([pcolor] of patch-ahead 1 = red)
[
fd 1
set put-duljina 0
ask patch (pxcor + 10) pycor [set pcolor red]
stop
]
let xs pxcor
let ys pycor
if ([pcolor] of patch (pxcor + 1) pycor != white)
[ set najveci-feromon [feromon] of patch (pxcor + 1) pycor
set xs pxcor + 1
set ys pycor ]
if ([pcolor] of patch pxcor (pycor + 1) != white and [feromon] of patch pxcor (pycor + 1) > najveci-feromon)
[ set najveci-feromon [feromon] of patch pxcor pycor + 1
set xs pxcor
set ys pycor + 1 ]
if ([pcolor] of patch (pxcor - 1) pycor != white and [feromon] of patch (pxcor - 1) pycor > najveci-feromon)
[ set najveci-feromon [feromon] of patch (pxcor - 1) pycor
set xs pxcor - 1
set ys pycor ]
if ([pcolor] of patch pxcor (pycor - 1) != white and [feromon] of patch pxcor (pycor - 1) > najveci-feromon)
[ set najveci-feromon [feromon] of patch pxcor pycor - 1
set xs pxcor
set ys pycor - 1 ]
setxy xs ys
end[/code:1]
Evo nešto sam napravila... Može li netko pogledati i pokušati pronaći grešku?

Kod:
to trazi-cilj
  set y random broj-mravi
  ask turtle y
  [ kreni-nasumicno
    vrati-se ]
  ask patches [ set feromon (1 - ro) * feromon ]
end

to kreni-nasumicno
 
 if([pcolor] of patch-ahead 1 = green)
 [ fd 1
   if (put-duljina < najbolji-put-duljina) [set najbolji-put-duljina put-duljina]
   ask patch (pxcor + 10) pycor [set pcolor green]
   set feromon-povecavanje 100 / put-duljina ]
 
 set x random 3
 
 ifelse([pcolor] of patch-ahead 1 != white and (x = 0))
 [
   fd 1
   set put-duljina put-duljina + 1
   ask patch (pxcor + 10) pycor [set pcolor white]
   ask patch pxcor pycor [set feromon feromon + feromon-povecavanje]
 ]
 [
   ifelse(x = 1)
   [rt 90]
   [lt 90]
 ]
 
end

to vrati-se
  if ([pcolor] of patch-ahead 1 = red)
  [
    fd 1
    set put-duljina 0
    ask patch (pxcor + 10) pycor [set pcolor red]
    stop
  ]
  let xs pxcor
  let ys pycor
  if ([pcolor] of patch (pxcor + 1) pycor != white)
  [ set najveci-feromon [feromon] of patch (pxcor + 1) pycor
    set xs pxcor + 1
    set ys pycor ]
  if ([pcolor] of patch pxcor (pycor + 1) != white and [feromon] of patch pxcor (pycor + 1) > najveci-feromon)
  [ set najveci-feromon [feromon] of patch pxcor pycor + 1
    set xs pxcor
    set ys pycor + 1 ]
  if ([pcolor] of patch (pxcor - 1) pycor != white and [feromon] of patch (pxcor - 1) pycor > najveci-feromon)
  [ set najveci-feromon [feromon] of patch (pxcor - 1) pycor
    set xs pxcor - 1
    set ys pycor ]
  if ([pcolor] of patch pxcor (pycor - 1) != white and [feromon] of patch pxcor (pycor - 1) > najveci-feromon)
  [ set najveci-feromon [feromon] of patch pxcor pycor - 1
    set xs pxcor
    set ys pycor - 1 ]
  setxy xs ys
end


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
baloncic1990
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 28. 09. 2011. (16:45:26)
Postovi: (9)16
Sarma = la pohva - posuda
-2 = 2 - 4

PostPostano: 19:35 uto, 7. 2. 2012    Naslov: Citirajte i odgovorite

Ma... Pa da baš nitko ništa ne zna... Ne mogu vjerovati... Smilujte se vi koji bar nešto znate o tome. I najmanja mrvica možda upali lampicu :idea:
Ma... Pa da baš nitko ništa ne zna... Ne mogu vjerovati... Smilujte se vi koji bar nešto znate o tome. I najmanja mrvica možda upali lampicu Idea


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji siročići (oni koji nemaju svoj podforum) -> Računarski kolegiji Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan