Кіріспе
NetLogo – агенттік негіздегі модельдеуге арналған бағдарламалау тілі және біріктірілген даму ортасы (IDE).
Туралы
NetLogo-ны Ури Виленский жобалаған, ол Logo бағдарламалау тілінің рухымен "төмен шекті және шексіздікке жететін" болуы керек. Ол бағдарламалау концепцияларын агенттер арқылы үйретеді, олар тасбақалар, жамбастар, байланыстар және бақылаушы түрінде болады. NetLogo бірнеше аудиторияны ескере отырып жасалған, әсіресе: білім беру саласындағы балаларды оқыту және бағдарламалау негіздерін білмейтін сала мамандарының осыған қатысты құбылыстарды модельдеуі үшін. NetLogo-ны пайдалану арқылы көптеген ғылыми мақалалар жарияланды. NetLogo ортасы пайда болатын құбылыстарды зерттеуге мүмкіндік береді. Ол экономика, биология, физика, химия, психология және жүйелік динамика сияқты әртүрлі салалардағы модельдерді қамтитын кең модельдер кітапханасымен бірге келеді. NetLogo коммутаторларды, слайдерлерді, таңдауларды, енгізулерді және басқа интерфейс элементтерін өзгерту арқылы зерттеуге мүмкіндік береді. NetLogo зерттеуден өзге жаңа модельдерді жасауға және қолданыстағы модельдерді өзгертуге де мүмкіндік береді. NetLogo ашық кодты және NetLogo веб-сайтынан тегін қолжетімді. Ол бастауыш мектептен бастап аспирантураға дейінгі әртүрлі білім беру контекстінде қолданылады. Көптеген мұғалімдер өздерінің оқу жоспарларында NetLogo-ны пайдаланады. NetLogo-ны жобалаған және жазған – Ури Виленский, Солтүстік-Батыс университетінің Қосылған оқыту және компьютерлік модельдеу орталығының (CCL) директоры.
Басқа ерекшеліктері
Агенттікке негізделген модельдеуден өзге, NetLogo динамикалық жүйелерді модельдеуге де қарапайым қолдау көрсетеді.
Техникалық негіз
NetLogo - GNU General Public License (GPL) лицензиясы бойынша шығарылған тегін және ашық кодты бағдарламалық қамтамасыз ету. Коммерциялық лицензиялар да қолжетімді. Ол Scala және Java тілдерінде жазылған және Java виртуалды машинасы (JVM) негізінде жұмыс істейді. Оның ядросы – пайдаланушы кодын JVM байт-кодына жартылай компиляциялайтын гибридті интерпретатор/компилятор. NetLogo Web – JVM орнына JavaScript-те жұмыс істейтін нұсқа, сондықтан модельдерді веб-браузерде іске асыруға болады. Дегенмен, ол десктоптық нұсқаның барлық мүмкіндіктеріне ие емес, ал ресми веб-сайт "көптеген жағдайларда NetLogo-ның десктоптық нұсқасын пайдалану ұсынылады" деп кеңес береді.
Мысалдар
NetLogo-дағы қарапайым мультиагенттік модель – жоғарыдағы скриншотта көрсетілген Қасқыр-Қой жыртқыштық моделі. Ол уақыт өте келе жыртқыш пен олжа популяциясының өсуін модельдейді. Оның мынадай ерекшеліктері бар: Қой және қасқыр деп аталатын екі түрлі жұмырқа (turtles) бар. Қойлар мен қасқырлар кездейсоқ қозғалады және олардың энергиясы шектеулі. Қозғалу кезінде қасқырлар мен қойлар энергия жоғалтады. Егер қасқырдың немесе қойдың энергиясы нөлге жетсе, олар өледі. Қойлар шөп жеп энергия алады. Қасқырлар қойларды жеп энергия алады. Қасқырлар да, қойлар да көбейе алады, өз балаларымен энергия бөліседі.
There are two breeds of turtles, called sheep and wolves. Sheep and wolves move randomly and have limited energy. Wolves and sheep lose energy by moving. If a wolf or sheep has zero energy, it dies. Sheep gain energy by eating grass. Wolves gain energy by eating sheep. Both wolves and sheep can reproduce, sharing energy with their offspring.
Хабнет
HubNet – сыныпта қатысушылық симуляцияларды жүргізу үшін NetLogo технологиясын пайдаланатын құрал. Қатысушылық симуляцияда пайдаланушылардың барлық тобы жүйенің қызметін сомдайды. Желілік компьютер немесе Texas Instruments графикалық калькуляторы сияқты жеке құрылғы арқылы әр пайдаланушы дербес, тәуелсіз агент ретінде әрекет етеді. HubNet қызметтерінің бір мысалы – "Ортақ мүліктің трагедиясы", ол "ортақ мүліктің трагедиясы" деп аталатын экономикалық мәселені модельдейді.