Reseach based on Special:Log/NetLogo
Исследовательское обучение и моделирование в NetLogo
Исходная модель Termites
- Думать как дерево - статья Резника, на которую сослаться - множество агентов
- Resnick M. Thinking Like a Tree (and Other Forms of Ecological Thinking // International Journal of Computers for Mathematical Learning. 2003. Т. 8. № 1. С. 43–62.
- Книга Резника - Черепахи, Термиты и дорожные пробки - о том, что всё это феномены одного уровня
- Resnick M. Turtles, termites, and traffic jams: explorations in massively parallel microworlds. : MIT Press, 1997. 184 с.
- Глава о термитах стр. 75 - 81 - в Летописи идея совместной деятельности термитов представлена на странице Муравейник.
- Resnick M. Turtles, termites, and traffic jams: explorations in massively parallel microworlds. : MIT Press, 1997. 184 с.
Исходный проект основывался на наблюдении за поведением терминов, собирающих деревянные палочки в кучки. Все термиты следуют простым правилам. Каждый термитов начинает движение в случайном направлении. Если он натыкается на щепку, то он поднимает её, и продолжает бродить с этой щепкой в случайном направлении. Когда он врезается в другую щепку, то он находит пустое пространство рядом с той щепкой, в которую врезался и на это пустое место кладет свою щепку вниз. С помощью этих простых правил, все рассыпанные по полю щепки в конечном итоге будут собраны в одну кучу.
- search-for-chip find-new-pile put-down-chip - ищи-палочку, ищи-новую-кучу, положи-палочку-рядом
search-for-chip find-new-pile put-down-chip
Журнал термитника
Модель термитов кажется наиболее привлекательной, поскольку в ней присутствуют объекты совместной деятельности. И экспериментируя с этой моделью мы можем глубже понять феномены совместной деятельности. А что было бы если бы в термитнике был бы журнал учета рабочих действий и термиты в нем бы записывали все операции, которые они совершают?
Представим себе, что у термитов есть журнал, куда они записывают все свои действия со щепочками.
К этим правилам в модели термитов с журналом добавлены новые переменные и правила. Появился журнал WIKILOG или Special:Log, куда термиты записывают отчеты о своих действия.
Представьте, что термиты собирают свои палочки в современной цифровой среде аналогично тому как авторы пишут свои статьи в википедии и там есть журнал - Special:Log - как он есть в вики - https://wikipedia.org/wiki/Special:Log где пишется вся история действий, которые совершают участники. Т.е. если участник совершает какое-то результативное действие с щепочкой, то он об этом действии оставляет запись в журнале.
В начальный момент времени никто ничего не знает о палочках. В исходный момент у нас нет никаких статей в вики. Статьи еще нужно создать. И вот тот агент, который подбирает с пола первую еще никем не тронутую раньше палочку, он создает страницу об этой палочке (мы не знаем содержание этой страницы и нас в рамках модели не интересуют физические свойства палочки) - и агент делает запись в журнале
Агент такой-то | щепка_такая_то |создал
А если это уже использованная щепка, то он записывает:
Агент такой-то | щепка_такая_то | редактировал
И на основании этих записей в журнале мы можем проанализировать отношения термитов, которые перетаскивали одни и те же палочки и получить социограмму - одномодальный граф, в котором связи идут от редакторов статей к авторам статей (тем, кто первыми поднял щепку).
И тут мы просто включаем текст программы и информацию о модели
Reseach based on Special:Log/NetLogo/TermitesLog Тут сама программа NetLogo
Цикл действий термитов с журналом
patches-own [pagenum] turtles-own [t-pagenum] undirected-link-breed [friendbonds friendbond] ; globals [ wikilog ; log - list of actions pages ;; list of created pages ]
to setup
clear-all set wikilog [] set pages [] set-default-shape turtles "bug" ask patches [ set pagenum 0 ;; message for all patches that there is no chip - это метка для пятна, что здесь нет палочки if random-float 100 < density [ set pcolor yellow ] ] create-turtles number [ set color white setxy random-xcor random-ycor set size 3 ;; easier to see ] end
to go ;; turtle procedure ;;; if length wikilog > number_of_turns [stop] ;; ограничитель числа ходов search-for-chip find-new-pile put-down-chip end
to search-for-chip ;; turtle procedure -- "picks up chip" by turning orange ifelse pcolor = yellow [
ifelse 0 = [pagenum] of patch-here [ let newpage 1 + length pages set pages lput newpage pages set t-pagenum newpage ;; это номер палочки, которую создал set wikilog lput (se [who] of self newpage "create" ) wikilog ;; If nobody takes this chip before you, then you need to write to Log that you create this chip ;; Если это палочка, которую не брали, то надо записать в журнал, что я создал эту новую палочку ] [set t-pagenum [pagenum] of patch-here ;; If it is used chip, then I need to memorize chip-number ;; а если палочка, которую уже кто-то создал, то я записал себе номер этой палочки ] set pcolor black set color orange fd 20 ] [ wiggle search-for-chip ] end to find-new-pile if pcolor != yellow [ wiggle find-new-pile ] end to put-down-chip ;; turtle procedure -- finds empty spot & drops chip ifelse pcolor = black [ ask patch-here [set pagenum [t-pagenum] of myself] ;; Send chip-number to the patch set wikilog lput (se [who] of self [t-pagenum] of self "edit" ) wikilog ;; Write to Log that you edit this chip set pcolor yellow set color white set t-pagenum 0 get-away ] [ rt random 360 fd 1 put-down-chip ] end to logs_to_sociogram ask patches [set pcolor 0] foreach edits [ let friend1 item 0 ? let p1 item 1 ? let friend2 first first filter [(p1 = item 1 ?) and ("create" = item 2 ?)] wikilog if friend1 != friend2 [ ask turtle friend1 [ create-friendbond-with turtle friend2 ] ] ] repeat 8 [layout-spring turtles links 1 5 7 ] end
to AroundKeyPlayer let KeyPlayer max-one-of turtles [nw:betweenness-centrality] layout-radial turtles links KeyPlayer ask KeyPlayer [set label who] end
Связать с дальнейшим - вернуться на доску образования опять - посмотрели к чему приводит появление журнала. До этого были палочки, как субстрат для деятельности. А теперь появился журнал, как материал для исследования.
На модель можно посмотреть и с ней можно поработать здесь - http://modelingcommons.org/browse/one_model/4749
Что должно быть в итоге:
- Мы показали, что умеем строить модели и включать их в учебный процесс
- Нас особенно интересуют модели, в которых исследуются взаимодействия, опосредованные социальными объектами
- У нас появилось понятие Special:Log и это мостик к понятию Учебная аналитика