Reseach based on Special:Log/NetLogo

Материал из Letopisi.Ru — «Время вернуться домой»
Перейти к: навигация, поиск

Исследовательское обучение и моделирование в 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 - в Летописи идея совместной деятельности термитов представлена на странице Муравейник.


Исходный проект основывался на наблюдении за поведением терминов, собирающих деревянные палочки в кучки. Все термиты следуют простым правилам. Каждый термитов начинает движение в случайном направлении. Если он натыкается на щепку, то он поднимает её, и продолжает бродить с этой щепкой в случайном направлении. Когда он врезается в другую щепку, то он находит пустое пространство рядом с той щепкой, в которую врезался и на это пустое место кладет свою щепку вниз. С помощью этих простых правил, все рассыпанные по полю щепки в конечном итоге будут собраны в одну кучу.

  • 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

Цикл действий термитов с журналом

TermitesLogs Ar interface2.png

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 и это мостик к понятию Учебная аналитика
Персональные инструменты
Инструменты