NetLogo
Строка 21: | Строка 21: | ||
== Связи NetLogo == | == Связи NetLogo == | ||
− | === Кнопки NetLogo === | + | === [[Кнопки NetLogo]] === |
{{:Кнопки NetLogo}} | {{:Кнопки NetLogo}} |
Версия 12:56, 19 марта 2009
NetLogo является продолжением языка Лого - первого языка, созданного еще в 1968 году объединенными усилиями Массачусетского Технологического Института и корпорации BBN (Bolt Beranek & Newman) с целью обучать детей при помощи компьютера. Создан Ури Виленским в 1999 году и развивается в Center for Connected Learning and Computer-Based Modeling.
Домашняя страничка проекта http://ccl.northwestern.edu/netlogo/ . Здесь же можно скачать последнюю версию языка. Обсуждения происходят в конференции пользователей - http://groups.yahoo.com/group/netlogo-users В отличие от конференции StarLogo, ориентированной на учителей, конференция и сам продукт NetLogo более тяготеет к исследовательской аудитории и преподавателям ВУЗов.
Среда программирования NetLogo служит для моделирования ситуаций и феноменов, происходящих в природе и обществе. NetLogo удобно использовать для моделирования сложных, развивающихся во времени систем. Создатель модели может давать указания сотням и тысячам независимых "агентов" действующим параллельно. Это открывает возможность для объяснения и понимания связей между поведением отдельных индивидуумов и явлениями, которые происходят на макро уровне.
Язык NetLogo достаточно прост и ученики и учителя могут создавать в этой среде свои собственные авторские модели. В то же время это достаточно мощный язык и среда для проведения исследовательских работ. Библиотека NetLogo содержит множество готовых моделей по биологии, математике, химии, социология. С этими моделями могут ознакомиться и поиграть ученики.
Возможности языка достаточно подробно документированы и по NetLogo существует подробное руководство. К сожалению пока только на английском языке. Язык распространяется вместе с большой библиотекой моделей, которые можно использовать и модифицировать. Для НетЛого повторное использование и дальнейшее развитие моделей даже более естественно, чем для среды Scratch, поскольку все модели хранятся в текстовых файлах. Модели NetLogo: естественные и общественные науки, физика, химия, математика, информатика, экономика, социальная психология.
Содержание |
Интерфейс Netlogo
- Interface - область, где мы исследуем свойства модели. В центре черное по умолчанию поле, на котором взаимодействую черепашки - turtles, пятна - patches и связи черепашек - links. На рабочее поле мы можем добавлять различные кнопки, переключатели. Кнопки привязываются к именам процедур.
- Information - описание модели. Здесь авторы модели рассказывают - о чем модель, как она устроена, какие особенности, как можно использовать и развивать модель.
- Procedures - область, где записываются процедуры NetLogo, управляющие поведением агентов - см. агенты NetLogo.
Как правило, в моделях НетЛого присутствуют 2 главные кнопки:
- setup - и с ней связана процедура setup - очистить экран, удалить всех агентов, создать агенты, необходимые для работы модели.
- go - запуск модели.
В нижней части экрана расположена строка observer - наблюдатель, который может давать команды NetLogo всем существующим в системе объектам.
Черепашки Netlogo
Пятна Netlogo
Связи NetLogo
Кнопки NetLogo
См. Кнопки NetLogo/test_buttons.nlogo
Button
Кнопка - button - связана с процедурой на странице Procedures. Когда создается кнопка, мы можем указать какому из агентов она отдает указание:
- Обозреватель
- Черепахи
- Пятна
- Связи
Имя команды и имя кнопки на экране могут не совпадать. Например, мы можем создать процедуру setup и на экране задать имя кнопки - "Начнем"
Если кнопка создана и для нее еще нет процедуры, то кнопка окрашена в красный цвет.
to setup ca cro 50 [fd 5] end
Создадим себе первую процедуру. В этой процедуре у нас создаются 50 черепашек.
Slider
Следующая кнопка - рычажок - slider - меняя положение рычажка можно изменять параметры модели. Например, мы хотим, чтобы число можно было при помощи этой кнопки менять число черепах. Рычажок задает имя глобальной переменной и может содержать только латинские буквы. Здесь же указывается интервал, в котором изменяются значения. Например, от 1 до 500
to setup ca cro num_turtles [fd 5] end
Switch
Переключает положение для глобальной переменной. Это значение пользователь на экране может поставить в положение ON/OFF
to setup ca cro num_turtles [fd 5] ifelse green? [ask patches [set pcolor green]] [ask patches [set pcolor pxcor]] end
Здесь показано использование кнопки для организации ветвления. Если переменная green? включена, то пятна экрана окрашиваются в зеленый цвет. Если значение переменной отключено, то пятна окрашиваются в другие цвета. В примере показано, как мы можем окрасить пятно в цвет, выбрав значение цвета из координат этого пятна.
to setup ca cro num_turtles [fd 5] ifelse green? [ask patches [set pcolor green]] [ask patches [ if pycor != 0 [set pcolor pxcor / pycor] ]] end
Chooser
Выбор значения глобальной переменной. Переключатель задает имя глобальной переменной и может содержать только латинские буквы. В этом примере мы создаем tcolor и указываем значения, которые может принимать tcolor - 5, 15, 25, 35, 45. Создадим еще одну кнопку, которая будет проверять цвет черепашки. Теперь жизни черепашек в наших руках. Все, чей цвет меньше выбранного, при нажатии кнопки go будут погибать.
to go ask turtles with [color < tcolor] [die] end
Input
Кнопка позволяет пользователю вводить или выбирать значение. Например, создадим кнопку incolor, в которой можно изменять или выбирать значение цвета. Создадим еще и кнопку "Новые черепахи" и свяжем ее с процедурой hatch_new
to hatch_new ask turtles with [color = incolor] [hatch 2 [rt random 90 fd 2]] end
Теперь мы можем увеличивать численность черепах заданного цвета. Если цвет черепахи совпадает с выбранным пользователем цветом, то эта черепаха рождает двоих потомков.
Monitor
Окно, в котором показывается выбранное значение. Например, мы создаем monitor, который показывает общую численность всех черепах - count turtles.
Plot
Окно, в котором в виде графика отражаются численные значения.
to hatch_new ask turtles with [color = incolor] [hatch 2 [rt random 90 fd 2]] set-current-plot "Trt" plot count turtles with [color = incolor] end
Примеры
- NetLogo примеры
- Статья Муравейник - анимированные гифы
- Статья Сеть с использованием модели растущего кластера
- Формирование команд - модель формирования команд
Сообщество NetLogo в сети
В сети существует сообщество пользователей, которые обмениваются моделями, написанными на языке NetLogo. Адрес сообщества - http://ccl.northwestern.edu/netlogo/models/community/
Что можно делать в этом сообществе:
- Прочитать описание модели, ее назначение, принципы, которые лежат в основании
- Посмотреть выполнение программы в сети. Для этого достаточно просто запустить программу в своем браузере. Java-applet отработает и покажет в отдельном окне как работает модель
- Скачать модель и запустить на своем компьютере.
- Внести в модель изменения и использовать готовые процедуры, взятые из чужой модели внутри своих собственных программ.
- Загрузить свою собственную модель на общедоступный сервер http://ccl.northwestern.edu/netlogo/upload.shtml и предложить ее к обсуждению и совместному использованию.
Достаточно часто встречается формулировка - данная модель является продолжением или развитием модели - далее следует ссылка на предшествующую модель и имя её автора.
Некоторые модели NetLogo позволяют изучать процессы, кооперации, формирования сообществ и процессы совместного обучения:
- http://ccl.northwestern.edu/netlogo/models/community/Cluster
- http://ccl.northwestern.edu/netlogo/models/community/Homework_highschool
- http://ccl.northwestern.edu/netlogo/models/community/Wireless-Coop-Mobile
- http://ccl.northwestern.edu/netlogo/models/community/Network_growth
- http://ccl.northwestern.edu/netlogo/models/community/Learning%20and%20Creativity
- http://ccl.northwestern.edu/netlogo/models/community/AdoptLearnOnLine - Как фермеры обмениваются своими опытами о земле
- http://ccl.northwestern.edu/netlogo/models/TeamAssembly - формирование команд
Насколько продуктивно работает сообщество? Сообщество исследовательское, создание модели требует достаточно высокого уровня программирования в среде NetLogo - так что количество загружаемых на сервер файлов не велико. Все загруженные модели пригодны для дальнейшего использования в учебном процессе.
Близкие по стилю организации сообщества:
Литература
- Изучение сетевых и общественных феноменов с помощью черепашек
- SIMULATION FOR THE SOCIAL SCIENTIST - http://cress.soc.surrey.ac.uk/s4ss/ - книга с многочисленными примерами социальных систем, написанными и на NetLogo