NetLogo Deneme Kurulumu


9

Netlogo'da bir model üzerinde çalışıyorum ve nasıl bir "deneme" kurulacağını anlamakta sorun yaşıyorum. Modelimde, ilgilendiğim tüm değerlere sahip bir matrisim var (toplamda 6) ve bir koşul karşılandığında (X kaplumbağaları her öldürüldüğünde) temel olarak bir anlık görüntüyü yakalayan matris güncellenir bu noktada model. Matristeki önceki değerler temizlenir, bu nedenle matris, her anlık görüntü için yalnızca bir satır güncellenen 10000x6 matris değil, 1x6'dır.

Yapmak istediğim, modelimi yüzlerce kez çalıştırmak için bir deney oluşturmak, her X anlık görüntü sayısı için her seferinde veya Y keneleri oluşana kadar bu matrisi toplamak. Ama bunu deneme kurulumunda yapmanın bir yolunu göremiyorum?

Bunu yapmak mümkün mü, yoksa 100x6'yı (100 anlık görüntü) oluşturmak ve daha sonra bu matrisi bir şekilde CSV'ye aktarmak zorunda mıyım?

Netlogo'da hiç bir deneme yapmadım, bu yüzden bunu yapmak çok kolay veya tamamen imkansız olabilir.


En kolay olacağını düşündüğüm için BehaviorSpace kullanarak bir cevap yaptım. Ancak, bir csv dosyası oluşturma ve her anlık görüntüyü oluşturulduğu gibi eklemeyle ilgili bir sorun yoktur. Yani, 100x6'lık bir matrise sahip olmanıza ve dışa aktarmanıza gerek yoktur. Bu yaklaşımı önermememin nedeni, ayrıca birkaç yüz ayrı çalışma istediğinizi söylemenizdir ve bu size her çalışma için ayrı bir csv dosyası verecektir.
JenB

Yanıtlar:


3

Sorunuzu doğru anlarsam, çalışma sırasında belirli kenelerde 6 değerin bildirilmesini istersiniz. Bu keneler, belirli sayıda kenelerden ziyade bir koşula uyularak seçilir. NetLogo'nun BehaviorSpace adlı bir deneme yönetimi aracı vardır. Birkaç yüz çalışmanızı ayarlamak kolaydır (kaydırıcılardaki herhangi bir giriş için potansiyel olarak farklı değerlerle vb.). Sadece belirli keneler üzerinde çıktı almak o kadar kolay değildir.

BehaviorSpace iletişim kutusunda her onay işareti veya yalnızca sonunda bir onay işareti bulunur. Her kene için ayarladıysanız, her kene altı sayınızı otomatik olarak dışa aktarabilirsiniz. Sizin durumunuzda, bunu yapmanın denemek ve sadece ara sıra çıktı almaktan daha kolay olması muhtemeldir. Matrisin bu işareti sıfırlanıp sıfırlanmadığı için doğru / yanlış olan yedinci bir muhabir ekleyebilirsiniz. Daha sonra post-processing'de yapmanız gereken tek şey, yedinci muhabirin doğru olduğu satırları seçmek.

Modeli tam olarak N anlık görüntü için çalıştırmak istiyorsanız, her anlık görüntü noktasını artıran genel bir değişken de ayarlamanız gerekir. Daha sonra BehaviorSpace ayarlarınız durdurma koşulu için bu sayacı kullanır.


2

Sorunuzu anladığımdan emin değilim, ancak genellikle bir Kurulum ve Çalıştırma işleviniz olacak, doğru mu? Bu yüzden aşağıdaki kod yapısının aradığınız şey olması gerektiğini tahmin ediyorum. Netlogo'yu bir süredir kullanmadım, bu yüzden tam matris kodunu kendiniz anlamanız gerekecek.

globals your-1by6-matrix your-100by6-matrix

to setup
  ;reset your experiment
end

to run
  ;run your experiment
end

to run100times
  repeat 100[
    setup
    run
    ;save your 1by6matrix into your 100by6matrix
  ]
  ;use your 100by6matrix to plot or export
end
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.