attributes - احتمال القيمة المتغيرة في أجينتسيتس، نيتلوغو



probability netlogo (1)

أنا أحاول استخدام الاحتمال لتعيين القيم الفردية [0] أو [1] لمتغير السلاحف الخاصة في نيتلوغو، ولكن لم يجد سوى طرق الطباعة أو الإبلاغ عن مخرجات الاحتمال بدلا من استخدامها لتحديد قيمة متغيرة.

مثال:

أنا أسأل سلاحفتين للتحقق ما إذا كان كل منهما يرغب في تبادل المعلومات مع بعضها البعض، وتعيين إكسهانجينفو متغير. إذا إكسهانجينفو = 0، ثم لا يحدث تبادل المعلومات. إذا إكسهانجينفو = 1، ثم تبادل المعلومات يحدث.

حاليا لقد الثابت ترميز [مجموعة إكسهانجينفو 1] كعنصر نائب.

ولكن أود أن يكون لكل سلحفاة فرصة 25٪ من إكسهانج = 1، ولكن لا أريد تعيين متغيرات واحدة في كل مرة.

أي اقتراحات؟


@ سوف يعمل تعليق ألان. هنا هو نموذج السوبر بسيطة من شأنها أن تفعل ما أعتقد أنك تسأل.

turtles-own[exchangeinfo]

to setup
  clear-all
  reset-ticks
  make_turtles
end

to go
  move
  tick
  if (ticks = 1) [inspect turtle 1]
end

to make_turtles
  create-turtles 10
  ask turtles
  [
    set color pink
    set size 2
    set xcor random max-pxcor
    set ycor random max-pycor
    set exchangeinfo 0
  ]
end

to move

  ask turtles
  [right random-float 270
    forward random-float 3
    if ((count (turtles in-radius 2)) > 0)
    [move-to one-of turtles in-radius 2]

  ]

  encounter ;<- this is the function that will decide whether or not to exchange info.

end

to encounter
  ask turtles[
    if (count turtles-here > 0)
    [ifelse (random-float 1 < 0.25)  ;note this is essentially @Alan's answer
      [set exchangeinfo 1]
      [set exchangeinfo 0]
    ]
  ]
end

أفترض أنك سوف تريد نوعا ما

ask turtles-here [if (exchangeinfo = 1) [do stuff]]

كذلك