0
답변이 매우 명확하다면 나는 의심의 여지가 있으며 사과드립니다. 다음 코드를 만들었습니다. 매우 간단 & 간단 :에이전트 세트의 상담원 순서가 일치하지 않습니다.
patches-own [ tl ls ls2 ls3 ls4 tsl]
turtles-own [mysize]
to setup
clear-all
reset-ticks
crt 5
ask turtles [ set heading random 360 jump random 20 set mysize random-float 1]
asd
inspect patch 0 0
end
to asd
let old sum [mysize] of turtles
ask patches [ set tl other turtles
set tsl [self] of tl
set ls [distance myself] of tl
set ls2 [distance myself^2] of tl
set ls3 [(mysize)/old] of tl
]
;print tl
end
to initial
set heading random 360 jump random 20 set mysize 1
end
to go
inspect patch 0 0
ask turtles [ fd 1 set mysize mysize + random-float 1]
let qwe random-float 1
print qwe
if qwe < 0.2 and count turtles > 2 [ask one-of turtles [die]]
if qwe > 0.8 [ ask one-of patches [sprout 1 [initial]]]
asd
tick
end
당신이 볼 수 있듯이, 나는 코드의 기능을 검사하고 아래의 스냅 샷이 있습니다
이 내 질문 순서 밖으로 ls
및 ls2
에이전트 왜이다가 . Agentset TSL
은 거북이의 순서를 보여 주므로 동일한 순서로 따라 만들어진 다른 에이전트 세트는 사용하지 않아야합니다.
그런 경우 에이전트 세트 중 하나에서 최소값을 가진 거북이를 찾듯이 'min-one-of'을 사용하면 모든 에이전트 세트가 비슷하게 주문되지 않거나 Netlogo에서 올바른 결과? – Yuvaraj
'ask patch 0 0 [ask min-one-of tl [distance myself] [set size 3]]'와 같은 에이전트 세트를 쿼리하는 한 정확한 결과를 반환해야합니다. 또한 예제 스크린 샷에서 "tl"은 에이전트 집합이고 나머지는 목록입니다. 에이전트 목록과는 다른 방식으로 에이전트 집합을 쿼리합니다. –
'tl은 agentset 만이고 다른 모든 것은리스트라고 말하고 있기 때문에. 리스트 중 하나에서'min' 값을 가진 거북이를 찾고 싶다면'ls'을 쓰고'lput'을 사용할 수 없습니까? 리스트에서 최소값의 인덱스 또는 '위치'를 얻을 수 있지만, 에이전트 세트에서 거북을 식별하기 위해 위치를 참조 할 때 오류가 발생합니다. 예를 들어'set tl other turtles tl 의 set ls [distance myself^2]를 set index position (min ls) ls'으로 설정하십시오. 이 시점까지는 작동하지만'lput item index tl'을 사용할 때까지. – Yuvaraj