2011-12-08 14 views
8

मेरे पास दो एजेंट हैं। वहाँ खोजने के लिए कार्य हैं:नेटलोगो दो एजेंट ऑपरेशंस

  1. एजेंट है कि दोनों (चौराहे) में मौजूद हैं का एक agentset
  2. एजेंट है कि एक में मौजूद हैं और नहीं अन्य

मैं खोजने कर रहा हूँ का एक agentset यह बहुत मुश्किल हाथ से इस लागू करने के लिए, खासकर जब यह एक ट्रिपल ask

आदर्श प्रयोग के अंदर आवश्यक है with वाक्य रचना करने के समान होगा:

+०१२३५१६४१०६१
let cross set1 and-in set2 
let uniq set1 with [color = red] not-in set2 

सरल चीजें जैसे एजेंट एजेंट एक्स में एजेंट ए है? " समस्याग्रस्त हैं

उत्तर

11

सबसे पहले आप turtle-set आदिम का उपयोग करते हैं। दूसरे के लिए आपको member? आदिम की आवश्यकता है, जो एजेंटों पर भी काम करता है। इस प्रकार:

to setup 
    ca 
    create-turtles 10 [set color red] 
    create-turtles 10 [set color blue] 
    let red-ones turtles with [color = red] 
    let blue-ones turtles with [color = blue] 

    ;join 2 agent sets 
    let joinset (turtle-set red-ones blue-ones) 
    show joinset 

    let even-ones (turtles with [who mod 2 = 0]) 
    ;subtract even-ones from red-ones 
    let subtractset red-ones with [not member? self even-ones] 
    show subtractset 
end 
+1

मुझे एहसास नहीं हुआ कि '[साथ]' एक "संवाददाता" प्राप्त कर सकता है। मेरा पहला सवाल एक छेड़छाड़ ढूंढना था, न कि यूनियन, लेकिन दूसरे प्रश्न के लिए आपका जवाब देखकर मैं अनुमान लगा रहा हूं कि यह 'सदस्य के साथ लाल' जैसा आसान होगा? स्वयं भी ...]। धन्यवाद! – Mikhail

+0

धन्यवाद। मेरे पास एक ही सवाल था और मुझे एहसास नहीं हुआ कि कोई 'निर्माण' में 'स्वयं' का उपयोग कर सकता है। सबसे पहले मैंने '?' कोशिश की, लेकिन एक त्रुटि संदेश मिला और उसके बाद आगे बढ़ने के बारे में कोई अन्य विचार नहीं था। – RussAbbott

संबंधित मुद्दे