<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://digida.mgpu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%A1%D0%BE%D1%84%D1%80%D0%BE%D0%BD%D0%BE%D0%B2%D0%B0+%D0%9A%D0%B8%D1%80%D0%B0</id>
	<title>Поле цифровой дидактики - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="http://digida.mgpu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%A1%D0%BE%D1%84%D1%80%D0%BE%D0%BD%D0%BE%D0%B2%D0%B0+%D0%9A%D0%B8%D1%80%D0%B0"/>
	<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/%D0%A1%D0%BE%D1%84%D1%80%D0%BE%D0%BD%D0%BE%D0%B2%D0%B0_%D0%9A%D0%B8%D1%80%D0%B0"/>
	<updated>2026-07-14T03:10:18Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47671</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47671"/>
		<updated>2026-06-10T20:31:22Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Стигмергия в образовании */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Участниками проекта был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии было измерено &#039;&#039;&#039;количество доставленной еды&#039;&#039;&#039; (`total-food-count`) и &#039;&#039;&#039;выживаемость муравьёв&#039;&#039;&#039; (`count turtles`). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512 &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; феромон+память vs только феромон (3 источника)&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; комбинация феромона и памяти обеспечивает статистически более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (`count turtles`) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Стратегия !! Средняя выживаемость&lt;br /&gt;
|-&lt;br /&gt;
| Только память || 41.2&lt;br /&gt;
|-&lt;br /&gt;
| Феромон + память || 23.1&lt;br /&gt;
|-&lt;br /&gt;
| Только феромон || 8.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2   18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137   16957      15                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Данные различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря зафиксированным в памяти координатам источника еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость:&#039;&#039;&#039;&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод:&#039;&#039;&#039; увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации были выполнены в &#039;&#039;&#039;среде R&#039;&#039;&#039; (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ссылка на репозиторий:&#039;&#039;&#039;&lt;br /&gt;
[https://github.com/SofronovaKA/econometrics Ссылка на репозиторий]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Содержимое репозитория:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! Файл !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hypothesis1_analysis.R&amp;lt;/code&amp;gt; || R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hypothesis2_analysis.R&amp;lt;/code&amp;gt; || R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Гипотеза_1(table_output).csv&amp;lt;/code&amp;gt; || Сырые данные эксперимента для Гипотезы 1 (120 прогонов).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Гипотеза_2(table_output).csv&amp;lt;/code&amp;gt; || Сырые данные эксперимента для Гипотезы 2 (60 прогонов).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Гипотеза 1:&#039;&#039;&#039; комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Гипотеза 2:&#039;&#039;&#039; увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод:&#039;&#039;&#039; наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды (41.2 муравья). Память важна для выживания при изобилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление и конечная редактура страницы&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47670</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47670"/>
		<updated>2026-06-10T20:26:43Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Участники */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Участниками проекта был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии было измерено &#039;&#039;&#039;количество доставленной еды&#039;&#039;&#039; (`total-food-count`) и &#039;&#039;&#039;выживаемость муравьёв&#039;&#039;&#039; (`count turtles`). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512 &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; феромон+память vs только феромон (3 источника)&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; комбинация феромона и памяти обеспечивает статистически более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (`count turtles`) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Стратегия !! Средняя выживаемость&lt;br /&gt;
|-&lt;br /&gt;
| Только память || 41.2&lt;br /&gt;
|-&lt;br /&gt;
| Феромон + память || 23.1&lt;br /&gt;
|-&lt;br /&gt;
| Только феромон || 8.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2   18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137   16957      15                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Данные различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря зафиксированным в памяти координатам источника еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость:&#039;&#039;&#039;&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод:&#039;&#039;&#039; увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации были выполнены в &#039;&#039;&#039;среде R&#039;&#039;&#039; (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ссылка на репозиторий:&#039;&#039;&#039;&lt;br /&gt;
[https://github.com/SofronovaKA/econometrics Ссылка на репозиторий]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Содержимое репозитория:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! Файл !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hypothesis1_analysis.R&amp;lt;/code&amp;gt; || R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hypothesis2_analysis.R&amp;lt;/code&amp;gt; || R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Гипотеза_1(table_output).csv&amp;lt;/code&amp;gt; || Сырые данные эксперимента для Гипотезы 1 (120 прогонов).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Гипотеза_2(table_output).csv&amp;lt;/code&amp;gt; || Сырые данные эксперимента для Гипотезы 2 (60 прогонов).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Гипотеза 1:&#039;&#039;&#039; комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Гипотеза 2:&#039;&#039;&#039; увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод:&#039;&#039;&#039; наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды (41.2 муравья). Память важна для выживания при изобилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление и конечная редактура страницы&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47669</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47669"/>
		<updated>2026-06-10T20:25:42Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Общий вывод */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Участниками проекта был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии было измерено &#039;&#039;&#039;количество доставленной еды&#039;&#039;&#039; (`total-food-count`) и &#039;&#039;&#039;выживаемость муравьёв&#039;&#039;&#039; (`count turtles`). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512 &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; феромон+память vs только феромон (3 источника)&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; комбинация феромона и памяти обеспечивает статистически более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (`count turtles`) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Стратегия !! Средняя выживаемость&lt;br /&gt;
|-&lt;br /&gt;
| Только память || 41.2&lt;br /&gt;
|-&lt;br /&gt;
| Феромон + память || 23.1&lt;br /&gt;
|-&lt;br /&gt;
| Только феромон || 8.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2   18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137   16957      15                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Данные различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря зафиксированным в памяти координатам источника еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость:&#039;&#039;&#039;&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод:&#039;&#039;&#039; увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации были выполнены в &#039;&#039;&#039;среде R&#039;&#039;&#039; (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ссылка на репозиторий:&#039;&#039;&#039;&lt;br /&gt;
[https://github.com/SofronovaKA/econometrics Ссылка на репозиторий]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Содержимое репозитория:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! Файл !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hypothesis1_analysis.R&amp;lt;/code&amp;gt; || R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hypothesis2_analysis.R&amp;lt;/code&amp;gt; || R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Гипотеза_1(table_output).csv&amp;lt;/code&amp;gt; || Сырые данные эксперимента для Гипотезы 1 (120 прогонов).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Гипотеза_2(table_output).csv&amp;lt;/code&amp;gt; || Сырые данные эксперимента для Гипотезы 2 (60 прогонов).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Гипотеза 1:&#039;&#039;&#039; комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Гипотеза 2:&#039;&#039;&#039; увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод:&#039;&#039;&#039; наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды (41.2 муравья). Память важна для выживания при изобилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47667</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47667"/>
		<updated>2026-06-10T20:23:50Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Анализ в R */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Участниками проекта был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии было измерено &#039;&#039;&#039;количество доставленной еды&#039;&#039;&#039; (`total-food-count`) и &#039;&#039;&#039;выживаемость муравьёв&#039;&#039;&#039; (`count turtles`). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512 &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; феромон+память vs только феромон (3 источника)&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; комбинация феромона и памяти обеспечивает статистически более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (`count turtles`) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Стратегия !! Средняя выживаемость&lt;br /&gt;
|-&lt;br /&gt;
| Только память || 41.2&lt;br /&gt;
|-&lt;br /&gt;
| Феромон + память || 23.1&lt;br /&gt;
|-&lt;br /&gt;
| Только феромон || 8.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2   18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137   16957      15                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Данные различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря зафиксированным в памяти координатам источника еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость:&#039;&#039;&#039;&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод:&#039;&#039;&#039; увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации были выполнены в &#039;&#039;&#039;среде R&#039;&#039;&#039; (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ссылка на репозиторий:&#039;&#039;&#039;&lt;br /&gt;
[https://github.com/SofronovaKA/econometrics Ссылка на репозиторий]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Содержимое репозитория:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
! Файл !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hypothesis1_analysis.R&amp;lt;/code&amp;gt; || R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hypothesis2_analysis.R&amp;lt;/code&amp;gt; || R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Гипотеза_1(table_output).csv&amp;lt;/code&amp;gt; || Сырые данные эксперимента для Гипотезы 1 (120 прогонов).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Гипотеза_2(table_output).csv&amp;lt;/code&amp;gt; || Сырые данные эксперимента для Гипотезы 2 (60 прогонов).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47666</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47666"/>
		<updated>2026-06-10T20:20:39Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Гипотеза 2: Влияние количества источников еды */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Участниками проекта был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии было измерено &#039;&#039;&#039;количество доставленной еды&#039;&#039;&#039; (`total-food-count`) и &#039;&#039;&#039;выживаемость муравьёв&#039;&#039;&#039; (`count turtles`). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512 &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; феромон+память vs только феромон (3 источника)&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; комбинация феромона и памяти обеспечивает статистически более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (`count turtles`) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Стратегия !! Средняя выживаемость&lt;br /&gt;
|-&lt;br /&gt;
| Только память || 41.2&lt;br /&gt;
|-&lt;br /&gt;
| Феромон + память || 23.1&lt;br /&gt;
|-&lt;br /&gt;
| Только феромон || 8.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2   18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137   16957      15                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Данные различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря зафиксированным в памяти координатам источника еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость:&#039;&#039;&#039;&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод:&#039;&#039;&#039; увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47665</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47665"/>
		<updated>2026-06-10T20:19:16Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Выживаемость */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Участниками проекта был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии было измерено &#039;&#039;&#039;количество доставленной еды&#039;&#039;&#039; (`total-food-count`) и &#039;&#039;&#039;выживаемость муравьёв&#039;&#039;&#039; (`count turtles`). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512 &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; феромон+память vs только феромон (3 источника)&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; комбинация феромона и памяти обеспечивает статистически более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (`count turtles`) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Стратегия !! Средняя выживаемость&lt;br /&gt;
|-&lt;br /&gt;
| Только память || 41.2&lt;br /&gt;
|-&lt;br /&gt;
| Феромон + память || 23.1&lt;br /&gt;
|-&lt;br /&gt;
| Только феромон || 8.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2   18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137   16957      15                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Данные различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря зафиксированным в памяти координатам источника еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47664</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47664"/>
		<updated>2026-06-10T20:18:44Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Доставленная еда */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Участниками проекта был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии было измерено &#039;&#039;&#039;количество доставленной еды&#039;&#039;&#039; (`total-food-count`) и &#039;&#039;&#039;выживаемость муравьёв&#039;&#039;&#039; (`count turtles`). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512 &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; феромон+память vs только феромон (3 источника)&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; комбинация феромона и памяти обеспечивает статистически более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость (`count turtles`) при 6 источниках еды:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Стратегия !! Средняя выживаемость&lt;br /&gt;
|-&lt;br /&gt;
| Только память || 41.2&lt;br /&gt;
|-&lt;br /&gt;
| Феромон + память || 23.1&lt;br /&gt;
|-&lt;br /&gt;
| Только феромон || 8.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2   18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137   16957      15                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Данные различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря зафиксированным в памяти координатам источника еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47663</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47663"/>
		<updated>2026-06-10T20:17:55Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Доставленная еда */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Участниками проекта был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии было измерено &#039;&#039;&#039;количество доставленной еды&#039;&#039;&#039; (`total-food-count`) и &#039;&#039;&#039;выживаемость муравьёв&#039;&#039;&#039; (`count turtles`). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512 &lt;br /&gt;
&amp;lt;pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; феромон+память vs только феромон (3 источника)&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; комбинация феромона и памяти обеспечивает статистически более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость (`count turtles`) при 6 источниках еды:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Стратегия !! Средняя выживаемость&lt;br /&gt;
|-&lt;br /&gt;
| Только память || 41.2&lt;br /&gt;
|-&lt;br /&gt;
| Феромон + память || 23.1&lt;br /&gt;
|-&lt;br /&gt;
| Только феромон || 8.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2   18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137   16957      15                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Данные различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря зафиксированным в памяти координатам источника еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47662</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47662"/>
		<updated>2026-06-10T20:17:13Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Выживаемость */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Участниками проекта был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии было измерено &#039;&#039;&#039;количество доставленной еды&#039;&#039;&#039; (`total-food-count`) и &#039;&#039;&#039;выживаемость муравьёв&#039;&#039;&#039; (`count turtles`). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; феромон+память vs только феромон (3 источника)&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; комбинация феромона и памяти обеспечивает статистически более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость (`count turtles`) при 6 источниках еды:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Стратегия !! Средняя выживаемость&lt;br /&gt;
|-&lt;br /&gt;
| Только память || 41.2&lt;br /&gt;
|-&lt;br /&gt;
| Феромон + память || 23.1&lt;br /&gt;
|-&lt;br /&gt;
| Только феромон || 8.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2   18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137   16957      15                   &lt;br /&gt;
&amp;lt;/pre&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
Данные различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря зафиксированным в памяти координатам источника еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47661</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47661"/>
		<updated>2026-06-10T20:14:57Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Выживаемость */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Участниками проекта был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии было измерено &#039;&#039;&#039;количество доставленной еды&#039;&#039;&#039; (`total-food-count`) и &#039;&#039;&#039;выживаемость муравьёв&#039;&#039;&#039; (`count turtles`). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; феромон+память vs только феромон (3 источника)&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; комбинация феромона и памяти обеспечивает статистически более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость (`count turtles`) при 6 источниках еды:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Стратегия !! Средняя выживаемость&lt;br /&gt;
|-&lt;br /&gt;
| Только память || 41.2&lt;br /&gt;
|-&lt;br /&gt;
| Феромон + память || 23.1&lt;br /&gt;
|-&lt;br /&gt;
| Только феромон || 8.1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Данные различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря зафиксированным в памяти координатам источника еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47660</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47660"/>
		<updated>2026-06-10T20:12:21Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Гипотеза 1: Сравнение трёх стратегий */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Участниками проекта был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии было измерено &#039;&#039;&#039;количество доставленной еды&#039;&#039;&#039; (`total-food-count`) и &#039;&#039;&#039;выживаемость муравьёв&#039;&#039;&#039; (`count turtles`). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест:&#039;&#039;&#039; феромон+память vs только феромон (3 источника)&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя доставленная еда:&#039;&#039;&#039;&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Разница:&#039;&#039;&#039; 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; комбинация феромона и памяти обеспечивает статистически более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Данные различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря зафиксированным в памяти координатам источника еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47659</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47659"/>
		<updated>2026-06-10T20:08:24Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Исходные данные экспериментов */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47658</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47658"/>
		<updated>2026-06-10T20:07:46Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* План экспериментов */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Все исследования были проведены в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: феромон, память, феромон + память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B Эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47657</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47657"/>
		<updated>2026-06-10T20:04:07Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Как это работает */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают движение из гнезда с нулевой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя источник еды, запоминают координаты патча и несут ее в точку отправления, становясь по пути к ней &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039;&lt;br /&gt;
# После доставки еды в гнездо цвет муравьёв меняется на &#039;&#039;&#039;жёлтый&#039;&#039;&#039; (= 1 слот в памяти) или &#039;&#039;&#039;красный&#039;&#039;&#039; (= 2+ слотов в памяти) в зависимости от количества зафиксированных в памяти локаций с источниками еды&lt;br /&gt;
# Когда энергия объекта падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и направляется к месту, отмеченному в памяти как знакомый источник еды&lt;br /&gt;
# Если в данном месте пусто, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает местонахождение источника еды&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47656</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47656"/>
		<updated>2026-06-10T19:58:44Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Собираемые данные для анализа */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые для анализа данные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47655</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47655"/>
		<updated>2026-06-10T19:58:08Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Цветовая индикация муравьёв */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к ранее обнаруженному источнику еды&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт добытую еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет в памяти 1 слот для местонахождения источника еды, но не использует его в данный момент&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более слотов в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47654</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47654"/>
		<updated>2026-06-10T19:49:14Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Скачать модель (.nlogox) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics Скачать модель по ссылке]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47653</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47653"/>
		<updated>2026-06-10T19:45:46Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Рабочие гипотезы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в количестве доставленной еды `total-food-count` (эффективности) между тремя сценариями: использованием только коллективного феромона, индивидуальной памяти или их сочетания.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически более высокую эффективность, чем каждый из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к высокому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47652</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47652"/>
		<updated>2026-06-10T19:42:14Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Аннотация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий&#039;&#039;&#039; (феромон + память)&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Оценить количественно, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в эффективности (количестве доставленной еды `total-food-count`) между тремя сценариями: использованием только коллективного феромона, только индивидуальной памяти и их сочетанием.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически значимо более высокую эффективность, чем каждый из этих механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды (с 3 до 6) не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к статистически значимому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47651</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47651"/>
		<updated>2026-06-10T19:40:32Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Аннотация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание двух стратегий (феромон + память)&#039;&#039;&#039;&lt;br /&gt;
С помощью экспериментов в среде BehaviorSpace были собраны данные об эффективности колонии (по количеству доставленной еды и выживаемости муравьёв). Первый эксперимент (проверка Гипотезы 1) включал в себя 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) был проведён при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Количественно оценить, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в эффективности (количестве доставленной еды `total-food-count`) между тремя сценариями: использованием только коллективного феромона, только индивидуальной памяти и их сочетанием.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически значимо более высокую эффективность, чем каждый из этих механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды (с 3 до 6) не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к статистически значимому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47650</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47650"/>
		<updated>2026-06-10T19:32:09Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Результаты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;только коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;только индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание (феромон + память)&#039;&#039;&#039;&lt;br /&gt;
С помощью двух экспериментов в среде BehaviorSpace были собраны данные о эффективности колонии (доставленная еда) и выживаемости муравьёв. Первый эксперимент (проверка Гипотезы 1) включал 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) проводился при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Количественно оценить, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в эффективности (количестве доставленной еды `total-food-count`) между тремя сценариями: использованием только коллективного феромона, только индивидуальной памяти и их сочетанием.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически значимо более высокую эффективность, чем каждый из этих механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды (с 3 до 6) не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к статистически значимому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47649</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47649"/>
		<updated>2026-06-10T19:31:37Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Результаты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;только коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;только индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание (феромон + память)&#039;&#039;&#039;&lt;br /&gt;
С помощью двух экспериментов в среде BehaviorSpace были собраны данные о эффективности колонии (доставленная еда) и выживаемости муравьёв. Первый эксперимент (проверка Гипотезы 1) включал 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) проводился при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Количественно оценить, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в эффективности (количестве доставленной еды `total-food-count`) между тремя сценариями: использованием только коллективного феромона, только индивидуальной памяти и их сочетанием.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически значимо более высокую эффективность, чем каждый из этих механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды (с 3 до 6) не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к статистически значимому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий ===&lt;br /&gt;
&lt;br /&gt;
Для наглядной демонстрации различий в поведении муравьёв были записаны анимации (GIF) для каждого сценария. Ниже представлены выбранные прогоны, результаты которых близки к средним значениям по соответствующей стратегии.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 1: Сравнение трёх стратегий (3 источника еды) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;3&amp;quot; caption=&amp;quot;Доставленная еда (слева направо): 103, 210, 212&amp;quot;&amp;gt;&lt;br /&gt;
Файл:pheromone_only.gif|&#039;&#039;&#039;Только феромон&#039;&#039;&#039;&amp;lt;br&amp;gt;Зелёные тропы феромона, муравьи идут по коллективному следу.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:memory_only.gif|&#039;&#039;&#039;Только память&#039;&#039;&#039;&amp;lt;br&amp;gt;Нет феромона, муравьи меняют цвет (жёлтый, красный, синий), идут по памяти.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 0&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:pheromone_memory.gif|&#039;&#039;&#039;Феромон + память&#039;&#039;&#039;&amp;lt;br&amp;gt;И феромонные тропы, и цветовая индикация памяти, максимальная эффективность.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества еды (стратегия «феромон + память») ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot; heights=&amp;quot;225px&amp;quot; perrow=&amp;quot;2&amp;quot; caption=&amp;quot;Доставленная еда: 204.5 и 308.9&amp;quot;&amp;gt;&lt;br /&gt;
Файл:three_sources.gif|&#039;&#039;&#039;3 источника еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Менее интенсивное движение, меньше фиолетовых муравьёв, меньше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = false&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
Файл:six_sources.gif|&#039;&#039;&#039;6 источников еды&#039;&#039;&#039;&amp;lt;br&amp;gt;Более интенсивное движение, больше фиолетовых муравьёв, выше насыщенность троп.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Параметры:&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;more-food? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Анализ в R ===&lt;br /&gt;
&lt;br /&gt;
Все статистические расчёты и визуализации выполнены в среде R (версия 4.4.1) с использованием пакетов `ggplot2` и `dplyr`. Код полностью воспроизводим и доступен в репозитории проекта на GitHub.&lt;br /&gt;
&lt;br /&gt;
**Ссылка на репозиторий:**  &lt;br /&gt;
[Файлы для проекта здесь](https://github.com/SofronovaKA/econometrics)&lt;br /&gt;
&lt;br /&gt;
**Содержимое репозитория:**&lt;br /&gt;
&lt;br /&gt;
| Файл | Описание |&lt;br /&gt;
|------|----------|&lt;br /&gt;
| `hypothesis1_analysis.R` | R-скрипт для анализа Гипотезы 1 (сравнение трёх стратегий). Загружает CSV, строит графики, проводит ANOVA и t-тесты. |&lt;br /&gt;
| `hypothesis2_analysis.R` | R-скрипт для анализа Гипотезы 2 (влияние количества еды). Загружает CSV, строит графики, проводит t-тесты. |&lt;br /&gt;
| `Гипотеза_1(table_output).csv` | Сырые данные эксперимента для Гипотезы 1 (120 прогонов). |&lt;br /&gt;
| `Гипотеза_2(table_output).csv` | Сырые данные эксперимента для Гипотезы 2 (60 прогонов). |&lt;br /&gt;
&lt;br /&gt;
**Как воспроизвести анализ:**&lt;br /&gt;
&lt;br /&gt;
1. Скачайте нужный R-скрипт (`hypothesis1_analysis.R` или `hypothesis2_analysis.R`).&lt;br /&gt;
2. Откройте его в RStudio.&lt;br /&gt;
3. Убедитесь, что установлены пакеты `ggplot2` и `dplyr` (скрипт установит их автоматически при необходимости).&lt;br /&gt;
4. Запустите код (Ctrl+A, затем Ctrl+Enter).&lt;br /&gt;
5. При появлении диалогового окна выберите соответствующий CSV-файл с данными.&lt;br /&gt;
6. Результаты (графики, таблицы, тесты) появятся в консоли и окне графиков.&lt;br /&gt;
&lt;br /&gt;
**Примечание:** Графики автоматически сохраняются в рабочую папку в формате PNG при использовании команд `ggsave()` (раскомментируйте соответствующие строки в скрипте).&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:G2_turtles.png&amp;diff=47630</id>
		<title>Файл:G2 turtles.png</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:G2_turtles.png&amp;diff=47630"/>
		<updated>2026-06-10T14:21:56Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: Гипотеза 2. Выживаемость&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
Гипотеза 2. Выживаемость&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:G2_food.png&amp;diff=47628</id>
		<title>Файл:G2 food.png</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:G2_food.png&amp;diff=47628"/>
		<updated>2026-06-10T14:21:20Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: Гипотеза 2. Доставка еды&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
Гипотеза 2. Доставка еды&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47627</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47627"/>
		<updated>2026-06-10T14:20:04Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Результаты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;только коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;только индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание (феромон + память)&#039;&#039;&#039;&lt;br /&gt;
С помощью двух экспериментов в среде BehaviorSpace были собраны данные о эффективности колонии (доставленная еда) и выживаемости муравьёв. Первый эксперимент (проверка Гипотезы 1) включал 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) проводился при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Количественно оценить, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в эффективности (количестве доставленной еды `total-food-count`) между тремя сценариями: использованием только коллективного феромона, только индивидуальной памяти и их сочетанием.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически значимо более высокую эффективность, чем каждый из этих механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды (с 3 до 6) не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к статистически значимому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2: Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий (GIF) ===&lt;br /&gt;
&lt;br /&gt;
Ниже представлены анимации (GIF), показывающие поведение муравьёв в каждом из трёх сценариев (3 источника еды, 1000 тиков). Значения в скобках — количество доставленной еды за прогон.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;33%&amp;quot; | Только феромон (103 еды) !! width=&amp;quot;33%&amp;quot; | Только память (210 еды) !! width=&amp;quot;33%&amp;quot; | Феромон + память (212 еды)&lt;br /&gt;
|-&lt;br /&gt;
| [[Файл:Pheromone_only.gif|thumb|center|300px|Зелёные тропы феромона]] || [[Файл:Memory_only.gif|thumb|center|300px|Жёлтые, красные, синие муравьи]] || [[Файл:Pheromone_memory.gif|thumb|center|300px|Тропы + цветная память]]&lt;br /&gt;
|-&lt;br /&gt;
| Коллективный след без памяти. Муравьи полагаются только на феромон. || Индивидуальная память без феромона. Цвета отражают размер памяти. || Сочетание двух механизмов. Наивысшая эффективность.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Что показывают гифки:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* **Только феромон:** Зелёные тропы формируются, но эффективность ниже (103 еды).&lt;br /&gt;
* **Только память:** Нет зелёных троп, но муравьи с памятью (синие) идут напрямую к еде (210 еды).&lt;br /&gt;
* **Феромон + память:** Работают оба механизма — зелёные тропы и муравьи с памятью (212 еды).&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47622</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47622"/>
		<updated>2026-06-10T14:16:06Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Результаты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;только коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;только индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание (феромон + память)&#039;&#039;&#039;&lt;br /&gt;
С помощью двух экспериментов в среде BehaviorSpace были собраны данные о эффективности колонии (доставленная еда) и выживаемости муравьёв. Первый эксперимент (проверка Гипотезы 1) включал 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) проводился при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Количественно оценить, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в эффективности (количестве доставленной еды `total-food-count`) между тремя сценариями: использованием только коллективного феромона, только индивидуальной памяти и их сочетанием.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически значимо более высокую эффективность, чем каждый из этих механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды (с 3 до 6) не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к статистически значимому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
==== Гипотеза 2: Влияние количества источников еды ====&lt;br /&gt;
&lt;br /&gt;
Для проверки влияния количества еды проведён отдельный эксперимент при фиксированной стратегии «Феромон + память» (30 повторений, 2 комбинации: 3 и 6 источников, всего 60 прогонов).&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_food.png|thumb|center|600px|Рисунок 3. Доставленная еда при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Доставленная еда&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- 3 источника: 204.5&lt;br /&gt;
- 6 источников: 308.9&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -17.59, df = 41.46, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 104.4 единицы еды (95% доверительный интервал: от 92.4 до 116.4)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 2:&#039;&#039;&#039; Гипотеза ПОДТВЕРЖДАЕТСЯ. Увеличение количества источников еды с 3 до 6 приводит к статистически значимому росту доставленной еды (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Выживаемость&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Файл:g2_turtles.png|thumb|center|600px|Рисунок 4. Выживаемость при 3 и 6 источниках]]&lt;br /&gt;
&lt;br /&gt;
Средняя выживаемость:&lt;br /&gt;
- 3 источника: 7.2 муравья&lt;br /&gt;
- 6 источников: 23.4 муравья&lt;br /&gt;
&lt;br /&gt;
t-тест: t = -11.73, df = 57.57, p &amp;lt; 0.001&lt;br /&gt;
&lt;br /&gt;
Разница: 16.2 муравья (95% доверительный интервал: от 13.4 до 18.9)&lt;br /&gt;
&lt;br /&gt;
Увеличение количества еды также значимо повышает выживаемость колонии.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий (GIF) ===&lt;br /&gt;
&lt;br /&gt;
Ниже представлены анимации (GIF), показывающие поведение муравьёв в каждом из трёх сценариев (3 источника еды, 1000 тиков). Значения в скобках — количество доставленной еды за прогон.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;33%&amp;quot; | Только феромон (103 еды) !! width=&amp;quot;33%&amp;quot; | Только память (210 еды) !! width=&amp;quot;33%&amp;quot; | Феромон + память (212 еды)&lt;br /&gt;
|-&lt;br /&gt;
| [[Файл:Pheromone_only.gif|thumb|center|300px|Зелёные тропы феромона]] || [[Файл:Memory_only.gif|thumb|center|300px|Жёлтые, красные, синие муравьи]] || [[Файл:Pheromone_memory.gif|thumb|center|300px|Тропы + цветная память]]&lt;br /&gt;
|-&lt;br /&gt;
| Коллективный след без памяти. Муравьи полагаются только на феромон. || Индивидуальная память без феромона. Цвета отражают размер памяти. || Сочетание двух механизмов. Наивысшая эффективность.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Что показывают гифки:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* **Только феромон:** Зелёные тропы формируются, но эффективность ниже (103 еды).&lt;br /&gt;
* **Только память:** Нет зелёных троп, но муравьи с памятью (синие) идут напрямую к еде (210 еды).&lt;br /&gt;
* **Феромон + память:** Работают оба механизма — зелёные тропы и муравьи с памятью (212 еды).&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47615</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47615"/>
		<updated>2026-06-10T14:12:42Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Результаты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;только коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;только индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание (феромон + память)&#039;&#039;&#039;&lt;br /&gt;
С помощью двух экспериментов в среде BehaviorSpace были собраны данные о эффективности колонии (доставленная еда) и выживаемости муравьёв. Первый эксперимент (проверка Гипотезы 1) включал 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) проводился при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Количественно оценить, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в эффективности (количестве доставленной еды `total-food-count`) между тремя сценариями: использованием только коллективного феромона, только индивидуальной памяти и их сочетанием.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически значимо более высокую эффективность, чем каждый из этих механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды (с 3 до 6) не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к статистически значимому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
=== Демонстрация работы стратегий (GIF) ===&lt;br /&gt;
&lt;br /&gt;
Ниже представлены анимации (GIF), показывающие поведение муравьёв в каждом из трёх сценариев (3 источника еды, 1000 тиков). Значения в скобках — количество доставленной еды за прогон.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;33%&amp;quot; | Только феромон (103 еды) !! width=&amp;quot;33%&amp;quot; | Только память (210 еды) !! width=&amp;quot;33%&amp;quot; | Феромон + память (212 еды)&lt;br /&gt;
|-&lt;br /&gt;
| [[Файл:Pheromone_only.gif|thumb|center|300px|Зелёные тропы феромона]] || [[Файл:Memory_only.gif|thumb|center|300px|Жёлтые, красные, синие муравьи]] || [[Файл:Pheromone_memory.gif|thumb|center|300px|Тропы + цветная память]]&lt;br /&gt;
|-&lt;br /&gt;
| Коллективный след без памяти. Муравьи полагаются только на феромон. || Индивидуальная память без феромона. Цвета отражают размер памяти. || Сочетание двух механизмов. Наивысшая эффективность.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Что показывают гифки:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* **Только феромон:** Зелёные тропы формируются, но эффективность ниже (103 еды).&lt;br /&gt;
* **Только память:** Нет зелёных троп, но муравьи с памятью (синие) идут напрямую к еде (210 еды).&lt;br /&gt;
* **Феромон + память:** Работают оба механизма — зелёные тропы и муравьи с памятью (212 еды).&lt;br /&gt;
&lt;br /&gt;
=== Общий вывод ===&lt;br /&gt;
&lt;br /&gt;
Обе гипотезы подтверждены:&lt;br /&gt;
&lt;br /&gt;
1. **Гипотеза 1:** Комбинация феромона и индивидуальной памяти даёт статистически значимо более высокую эффективность доставки еды (204.1 против 88.3, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
2. **Гипотеза 2:** Увеличение количества источников еды с 3 до 6 значимо повышает как доставленную еду (308.9 против 204.5, p &amp;lt; 0.001), так и выживаемость (23.4 против 7.2, p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
**Дополнительный вывод:** Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды (41.2 муравья). Память важна для выживания при обилии ресурсов, но для максимизации доставки еды необходимо сочетание с феромоном.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:G1_survival.png&amp;diff=47613</id>
		<title>Файл:G1 survival.png</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:G1_survival.png&amp;diff=47613"/>
		<updated>2026-06-10T14:09:39Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: Гипотеза 1. Выживаемость&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
Гипотеза 1. Выживаемость&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47611</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47611"/>
		<updated>2026-06-10T14:08:49Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Результаты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;только коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;только индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание (феромон + память)&#039;&#039;&#039;&lt;br /&gt;
С помощью двух экспериментов в среде BehaviorSpace были собраны данные о эффективности колонии (доставленная еда) и выживаемости муравьёв. Первый эксперимент (проверка Гипотезы 1) включал 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) проводился при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Количественно оценить, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в эффективности (количестве доставленной еды `total-food-count`) между тремя сценариями: использованием только коллективного феромона, только индивидуальной памяти и их сочетанием.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически значимо более высокую эффективность, чем каждый из этих механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды (с 3 до 6) не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к статистически значимому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
==== Выживаемость ====&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_survival.png|thumb|center|600px|Рисунок 2. Выживаемость муравьёв по трём стратегиям (6 источников)]]&lt;br /&gt;
&lt;br /&gt;
Хотя основная гипотеза проверялась на доставленной еде, анализ выживаемости муравьёв дал интересные дополнительные результаты.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Средняя выживаемость (count turtles) при 6 источниках еды:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
| Стратегия | Средняя выживаемость |&lt;br /&gt;
|-----------|---------------------|&lt;br /&gt;
| Только память | 41.2 |&lt;br /&gt;
| Феромон + память | 23.1 |&lt;br /&gt;
| Только феромон | 8.1 |&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA для выживаемости (3 источника):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2  18721    9360   627.6 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  16957      15                   &lt;br /&gt;
&lt;br /&gt;
Различия также статистически значимы. Наибольшая выживаемость наблюдается при стратегии «Только память» с 6 источниками еды, что может объясняться более эффективным использованием энергии благодаря запомненным координатам еды.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47605</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47605"/>
		<updated>2026-06-10T14:06:24Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Гипотеза 1: Сравнение трёх стратегий */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;только коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;только индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание (феромон + память)&#039;&#039;&#039;&lt;br /&gt;
С помощью двух экспериментов в среде BehaviorSpace были собраны данные о эффективности колонии (доставленная еда) и выживаемости муравьёв. Первый эксперимент (проверка Гипотезы 1) включал 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) проводился при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Количественно оценить, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в эффективности (количестве доставленной еды `total-food-count`) между тремя сценариями: использованием только коллективного феромона, только индивидуальной памяти и их сочетанием.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически значимо более высокую эффективность, чем каждый из этих механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды (с 3 до 6) не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к статистически значимому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов ===&lt;br /&gt;
&lt;br /&gt;
Сам эксперимент и CSV-файлы с результатами всех прогонов в BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
- GitHub:[https://github.com/cristycrastys-source/Labs_my_beloved/tree/fed1a5b206bfe3456bfe9520b9b298f4c4c33946/Econometrics/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D1%82%D1%8B]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
[[Файл:g1_food.png|thumb|center|600px|Рисунок 1. Доставленная еда по трём стратегиям (3 источника)]]&lt;br /&gt;
&lt;br /&gt;
==== Доставленная еда ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ANOVA (3 источника еды):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
              Df  Sum Sq Mean Sq F value Pr(&amp;gt;F)    &lt;br /&gt;
strategy       2 3885725 1942863    3797 &amp;lt;2e-16 ***&lt;br /&gt;
Residuals   1137  581745     512                   &lt;br /&gt;
&lt;br /&gt;
Различия между стратегиями статистически значимы (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;t-тест: феромон+память vs только феромон (3 источника)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
t = -80.886, df = 774.9, p-value &amp;lt; 2.2e-16&lt;br /&gt;
&lt;br /&gt;
Средняя доставленная еда:&lt;br /&gt;
- Только феромон: 88.3&lt;br /&gt;
- Феромон + память: 204.1&lt;br /&gt;
&lt;br /&gt;
Разница: 115.8 единиц еды (95% доверительный интервал: от 112.9 до 118.6).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Вывод по Гипотезе 1:&#039;&#039;&#039; Гипотеза подтверждается. Комбинация феромона и памяти обеспечивает статистически значимо более высокую эффективность поиска еды по сравнению с использованием только феромона (p &amp;lt; 0.001).&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:G1_food.png&amp;diff=47593</id>
		<title>Файл:G1 food.png</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:G1_food.png&amp;diff=47593"/>
		<updated>2026-06-10T13:57:19Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: Гипотеза 1. Доставка еды&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Краткое описание ==&lt;br /&gt;
Гипотеза 1. Доставка еды&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47592</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47592"/>
		<updated>2026-06-10T13:55:57Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Результаты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;только коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;только индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание (феромон + память)&#039;&#039;&#039;&lt;br /&gt;
С помощью двух экспериментов в среде BehaviorSpace были собраны данные о эффективности колонии (доставленная еда) и выживаемости муравьёв. Первый эксперимент (проверка Гипотезы 1) включал 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) проводился при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Количественно оценить, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в эффективности (количестве доставленной еды `total-food-count`) между тремя сценариями: использованием только коллективного феромона, только индивидуальной памяти и их сочетанием.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически значимо более высокую эффективность, чем каждый из этих механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды (с 3 до 6) не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к статистически значимому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализованы два независимых эксперимента для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 1 (Гипотеза 1): Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;use-memory?&amp;lt;/code&amp;gt; — три сценария: только феромон, только память, феромон+память&lt;br /&gt;
** &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;&lt;br /&gt;
** время прогона = 1000 тиков&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 20&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 6 комбинаций × 20 = &#039;&#039;&#039;120&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Эксперимент 2 (Гипотеза 2): Влияние количества еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированная стратегия:&#039;&#039;&#039; феромон + память (&amp;lt;code&amp;gt;use-memory? = true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;evaporation-rate = 10&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;diffusion-rate = 50&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &#039;&#039;&#039;Независимая переменная:&#039;&#039;&#039; &amp;lt;code&amp;gt;more-food?&amp;lt;/code&amp;gt; — два уровня: 3 источника, 6 источников&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039; те же (&amp;lt;code&amp;gt;population = 50&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory-threshold = 100&amp;lt;/code&amp;gt;, 1000 тиков)&lt;br /&gt;
* &#039;&#039;&#039;Повторений:&#039;&#039;&#039; 30&lt;br /&gt;
* &#039;&#039;&#039;Всего прогонов:&#039;&#039;&#039; 2 комбинации × 30 = &#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов (CSV) и R-код ===&lt;br /&gt;
&lt;br /&gt;
CSV-файлы с результатами прогонов BehaviorSpace и R-скрипты для статистического анализа доступны в GitHub-репозитории: [[1]] (или вставьте прямую ссылку вместо [[1]]).&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1: Сравнение трёх стратегий ===&lt;br /&gt;
&lt;br /&gt;
Был проведён полный факторный эксперимент (6 комбинаций, 20 повторений, 120 прогонов). Для каждой стратегии измерялась доставленная еда (total-food-count) и выживаемость муравьёв (count turtles). Анализ проведён в R.&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47589</id>
		<title>Stygmergia v obrazovanii</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=Stygmergia_v_obrazovanii&amp;diff=47589"/>
		<updated>2026-06-10T13:51:13Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: /* Результаты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= [[Стигмергия]] в образовании =&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Стигмергия]] | ?Description }}&lt;br /&gt;
&lt;br /&gt;
== Аннотация ==&lt;br /&gt;
&lt;br /&gt;
В данном проекте исследуется механизм стигмергии (коллективного взаимодействия через метки в среде) и его конкуренция/синергия с индивидуальной памятью агентов. На примере модифицированной агентной модели «Муравьи» (NetLogo) сравниваются три стратегии поиска ресурсов:&lt;br /&gt;
* &#039;&#039;&#039;только коллективный феромон&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;только индивидуальная память&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;сочетание (феромон + память)&#039;&#039;&#039;&lt;br /&gt;
С помощью двух экспериментов в среде BehaviorSpace были собраны данные о эффективности колонии (доставленная еда) и выживаемости муравьёв. Первый эксперимент (проверка Гипотезы 1) включал 6 комбинаций параметров (3 стратегии × 2 уровня еды) с 20 повторениями (120 прогонов). Второй эксперимент (Гипотеза 2) проводился при фиксированной стратегии «феромон + память» и двух уровнях еды (3 и 6 источников) с 30 повторениями (60 прогонов). &lt;br /&gt;
&lt;br /&gt;
=== Цель работы ===&lt;br /&gt;
&lt;br /&gt;
Количественно оценить, даёт ли совместное использование коллективного и индивидуального опыта статистически значимое преимущество по сравнению с каждым из механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
== Рабочие гипотезы ==&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 1. Сравнение механизмов: феромон, память и их сочетание ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Не существует статистически значимой разницы в эффективности (количестве доставленной еды `total-food-count`) между тремя сценариями: использованием только коллективного феромона, только индивидуальной памяти и их сочетанием.&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Сценарий, сочетающий коллективный феромон и индивидуальную память, обеспечивает статистически значимо более высокую эффективность, чем каждый из этих механизмов по отдельности.&lt;br /&gt;
&lt;br /&gt;
=== Гипотеза 2. Влияние количества источников еды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;H₀:&#039;&#039;&#039; Увеличение количества источников еды (с 3 до 6) не приводит к статистически значимому изменению эффективности колонии (`total-food-count`) и выживаемости муравьёв (`count turtles`).&lt;br /&gt;
* &#039;&#039;&#039;H₁:&#039;&#039;&#039; Увеличение количества источников еды приводит к статистически значимому росту эффективности колонии и выживаемости муравьёв, а также может влиять на величину преимущества от использования индивидуальной памяти.&lt;br /&gt;
&lt;br /&gt;
== Модель ==&lt;br /&gt;
&amp;lt;netlogo model=&amp;quot;Memory_Ants&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Скачать модель (.nlogox) ===&lt;br /&gt;
&#039;&#039;&#039;GitHub:&#039;&#039;&#039; [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics]&lt;br /&gt;
&lt;br /&gt;
== Инструменты и параметры модели ==&lt;br /&gt;
&lt;br /&gt;
=== Инструменты ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Моделирование:&#039;&#039;&#039; NetLogo (модель Ants с добавленной памятью)&lt;br /&gt;
* &#039;&#039;&#039;Анализ данных:&#039;&#039;&#039; R (библиотеки tidyverse, ggplot2, lmtest)&lt;br /&gt;
* &#039;&#039;&#039;Среда реализации:&#039;&#039;&#039; Поле цифровой дидактики (SMW)&lt;br /&gt;
&lt;br /&gt;
=== Параметры среды ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Размер мира:&#039;&#039;&#039; от -40 до 40 (80×80)&lt;br /&gt;
* &#039;&#039;&#039;Гнездо:&#039;&#039;&#039; центр (0,0), радиус 5&lt;br /&gt;
* &#039;&#039;&#039;Еда:&#039;&#039;&#039; на радиусе 30 от центра, 3 или 6 кучек&lt;br /&gt;
* &#039;&#039;&#039;Феромон:&#039;&#039;&#039; диффузия и испарение управляются ползунками `diffusion-rate` и `evaporation-rate`&lt;br /&gt;
&lt;br /&gt;
=== Управляющие параметры (настройки модели) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Тип !! Диапазон !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `population` || Slider || 0–100 || Количество муравьёв&lt;br /&gt;
|-&lt;br /&gt;
| `diffusion-rate` || Slider || 0–50 || Скорость распространения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `evaporation-rate` || Slider || 0–20 || Скорость испарения феромона&lt;br /&gt;
|-&lt;br /&gt;
| `use-memory?` || Switch || On/Off || Включение/выключение памяти&lt;br /&gt;
|-&lt;br /&gt;
| `more-food?` || Switch || On/Off || Дополнительные источники еды (3 → 6)&lt;br /&gt;
|-&lt;br /&gt;
| `memory-threshold` || Slider || 50–200 || Порог энергии для использования памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Цветовая индикация муравьёв ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Цвет !! Состояние&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Зелёный&#039;&#039;&#039; || Ищет еду, память пуста&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Синий&#039;&#039;&#039; || Идёт по памяти к запомненной еде&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Фиолетовый&#039;&#039;&#039; || Несёт еду в гнездо&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Жёлтый&#039;&#039;&#039; || Имеет 1 место в памяти (но не использует его в данный момент)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Красный&#039;&#039;&#039; || Имеет 2 и более мест в памяти&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Собираемые данные для анализа ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Переменная !! Откуда !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| `total-food-count` || Глобальная || Общее количество доставленной еды&lt;br /&gt;
|-&lt;br /&gt;
| `count turtles` || Встроенная || Количество живых муравьёв&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Как это работает ===&lt;br /&gt;
&lt;br /&gt;
# Муравьи начинают с пустой памятью (&#039;&#039;&#039;зелёные&#039;&#039;&#039;)&lt;br /&gt;
# Найдя еду, запоминают координаты патча и становятся &#039;&#039;&#039;фиолетовыми&#039;&#039;&#039; (несут еду)&lt;br /&gt;
# После доставки еды в гнездо цвет меняется в зависимости от количества запомненных мест (&#039;&#039;&#039;жёлтый&#039;&#039;&#039; = 1 место, &#039;&#039;&#039;красный&#039;&#039;&#039; = 2+)&lt;br /&gt;
# Когда энергия падает ниже порога (`memory-threshold`), муравей с памятью становится &#039;&#039;&#039;синим&#039;&#039;&#039; и идёт к ближайшему запомненному месту&lt;br /&gt;
# Если запомненное место опустело, муравей ищет еду в радиусе 8 патчей вокруг; если не находит — забывает это место&lt;br /&gt;
&lt;br /&gt;
== План экспериментов ==&lt;br /&gt;
&lt;br /&gt;
Эксперименты проводятся в среде BehaviorSpace (NetLogo). Реализован полный факторный эксперимент для проверки двух гипотез.&lt;br /&gt;
&lt;br /&gt;
=== Параметры эксперимента ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Независимые переменные (варьируемые):&#039;&#039;&#039;&lt;br /&gt;
    * `use-memory?` — три сценария:&lt;br /&gt;
        * `false` — только коллективный феромон (стигмергия)&lt;br /&gt;
        * `true` при `evaporation-rate = 0`, `diffusion-rate = 0` — только индивидуальная память&lt;br /&gt;
        * `true` при `evaporation-rate = 10`, `diffusion-rate = 50` — память + феромон&lt;br /&gt;
    * `more-food?` — два уровня: `false` (3 источника еды) и `true` (6 источников)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Фиксированные параметры:&#039;&#039;&#039;&lt;br /&gt;
    * `population = 50`&lt;br /&gt;
    * `memory-threshold = 100`&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Замеряемые показатели (зависимые переменные):&#039;&#039;&#039;&lt;br /&gt;
    * `total-food-count` — общее количество доставленной в гнездо еды&lt;br /&gt;
    * `count turtles` — количество живых муравьёв (выживаемость)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Повторений для каждой комбинации параметров:&#039;&#039;&#039; 10&lt;br /&gt;
* &#039;&#039;&#039;Длительность одного прогона:&#039;&#039;&#039; 1000 тиков&lt;br /&gt;
&lt;br /&gt;
Итого: &#039;&#039;&#039;12960 прогонов&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Исходные данные экспериментов (CSV) ===&lt;br /&gt;
&lt;br /&gt;
CSV-файл с результатами всех прогонов BehaviorSpace:&lt;br /&gt;
&lt;br /&gt;
* GitHub: [https://github.com/cristycrastys-source/Labs_my_beloved/tree/main/Econometrics/Experiments]&lt;br /&gt;
&lt;br /&gt;
== Результаты ==&lt;br /&gt;
&lt;br /&gt;
== Просмотр кода с пояснениями ==&lt;br /&gt;
=== Полный код (.nlogo) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot; line&amp;gt;&lt;br /&gt;
;; ANTS WITH MEMORY - ФИНАЛ&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; РАЗМЕР МИРА: от -40 до 40 (80×80)&lt;br /&gt;
;; ЕДА: на радиусе 30 от центра&lt;br /&gt;
;; ============================================&lt;br /&gt;
;; ЦВЕТА МУРАВЬЁВ:&lt;br /&gt;
;; ЗЕЛЁНЫЙ - ищет еду (память пуста)&lt;br /&gt;
;; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
;; ФИОЛЕТОВЫЙ - несёт еду в гнездо&lt;br /&gt;
;; ЖЁЛТЫЙ - 1 место в памяти (не использует)&lt;br /&gt;
;; КРАСНЫЙ - 2+ места в памяти (не использует)&lt;br /&gt;
;; ============================================&lt;br /&gt;
&lt;br /&gt;
globals [&lt;br /&gt;
  total-food-count      ; общее количество еды, доставленной в гнездо&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
patches-own [&lt;br /&gt;
  chemical              ; феромон на патче (коллективный след)&lt;br /&gt;
  food-here             ; наличие еды на патче (0 или 1)&lt;br /&gt;
  is-nest               ; является ли патч гнездом (1 да, 0 нет)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
turtles-own [&lt;br /&gt;
  my-food               ; есть ли у муравья еда (0 или 1)&lt;br /&gt;
  my-energy             ; текущий запас энергии муравья&lt;br /&gt;
  my-memory             ; список запомненных патчей (места, где была еда)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; НАСТРОЙКА МИРА&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to setup&lt;br /&gt;
  clear-all&lt;br /&gt;
  set-default-shape turtles &amp;quot;bug&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ГНЕЗДО =====&lt;br /&gt;
  ; Все патчи в радиусе 5 от центра становятся гнездом&lt;br /&gt;
  ask patches [&lt;br /&gt;
    ifelse (distancexy 0 0) &amp;lt; 5 [&lt;br /&gt;
      set is-nest 1&lt;br /&gt;
      set pcolor violet&lt;br /&gt;
    ] [&lt;br /&gt;
      set is-nest 0&lt;br /&gt;
      set food-here 0&lt;br /&gt;
      set chemical 0&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ ИСТОЧНИКИ ЕДЫ =====&lt;br /&gt;
  let radius 30                      ; расстояние от центра до еды&lt;br /&gt;
  let sources 3                      ; базовое количество источников&lt;br /&gt;
  if more-food? = true [ set sources 6 ]  ; если включён переключатель&lt;br /&gt;
  &lt;br /&gt;
  ; Равномерно распределяем источники по кругу&lt;br /&gt;
  let angles []                       ; список углов&lt;br /&gt;
  let step 360 / sources              ; шаг между источниками&lt;br /&gt;
  let current 0&lt;br /&gt;
  repeat sources [&lt;br /&gt;
    set angles lput current angles&lt;br /&gt;
    set current current + step&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; Для каждого угла создаём пятно еды радиусом 5&lt;br /&gt;
  foreach angles [ angle -&amp;gt;&lt;br /&gt;
    let xc radius * cos angle&lt;br /&gt;
    let yc radius * sin angle&lt;br /&gt;
    ask patches with [ distancexy xc yc &amp;lt; 5 ] [&lt;br /&gt;
      set food-here 1&lt;br /&gt;
      ; Разные цвета для разных источников&lt;br /&gt;
      if angle = 0   [ set pcolor cyan ]&lt;br /&gt;
      if angle = 60  [ set pcolor sky ]&lt;br /&gt;
      if angle = 120 [ set pcolor blue ]&lt;br /&gt;
      if angle = 180 [ set pcolor cyan ]&lt;br /&gt;
      if angle = 240 [ set pcolor sky ]&lt;br /&gt;
      if angle = 300 [ set pcolor blue ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== СОЗДАЁМ МУРАВЬЁВ =====&lt;br /&gt;
  create-turtles population [&lt;br /&gt;
    setxy 0 0                       ; все муравьи начинают из гнезда&lt;br /&gt;
    set size 2&lt;br /&gt;
    set color green                 ; ЗЕЛЁНЫЙ - ищет еду, память пуста&lt;br /&gt;
    set my-food 0&lt;br /&gt;
    set my-energy 200&lt;br /&gt;
    set my-memory []                ; память пуста&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  set total-food-count 0&lt;br /&gt;
  reset-ticks&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ОСНОВНОЙ ЦИКЛ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to go&lt;br /&gt;
  ask turtles [&lt;br /&gt;
    if who &amp;gt;= ticks [ stop ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ТРАТИМ ЭНЕРГИЮ =====&lt;br /&gt;
    ; Каждый шаг отнимает 1 единицу энергии&lt;br /&gt;
    set my-energy my-energy - 1&lt;br /&gt;
    if my-energy &amp;lt;= 0 [ die ]       ; энергия кончилась - муравей умирает&lt;br /&gt;
    &lt;br /&gt;
    ; ===== СБРОС ЕДЫ В ГНЕЗДЕ =====&lt;br /&gt;
    ; Если муравей в гнезде и несёт еду - выгружает её&lt;br /&gt;
    if is-nest = 1 and my-food = 1 [&lt;br /&gt;
      set my-food 0&lt;br /&gt;
      set my-energy my-energy + 100    ; награда за доставленную еду&lt;br /&gt;
      set total-food-count total-food-count + 1  ; увеличиваем счётчик&lt;br /&gt;
      update-color-by-memory           ; обновляем цвет в зависимости от памяти&lt;br /&gt;
      rt 180                           ; разворачиваемся&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ВОЗВРАЩЕНИЕ С ЕДОЙ =====&lt;br /&gt;
    ; Если муравей несёт еду - идёт прямо в гнездо&lt;br /&gt;
    if my-food = 1 [&lt;br /&gt;
      set color violet                 ; ФИОЛЕТОВЫЙ - несёт еду&lt;br /&gt;
      set chemical chemical + 60       ; оставляет феромон&lt;br /&gt;
      facexy 0 0                       ; поворачивается к центру (гнезду)&lt;br /&gt;
      wiggle&lt;br /&gt;
      fd 1&lt;br /&gt;
      stop&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    ; ===== ПОИСК ЕДЫ =====&lt;br /&gt;
    ; Если муравей не несёт еду - ищет её&lt;br /&gt;
    look-for-food&lt;br /&gt;
    &lt;br /&gt;
    wiggle&lt;br /&gt;
    fd 1&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБРАБОТКА ФЕРОМОНА =====&lt;br /&gt;
  ; Диффузия: феромон распространяется на соседние патчи&lt;br /&gt;
  diffuse chemical (diffusion-rate / 100)&lt;br /&gt;
  &lt;br /&gt;
  ask patches [&lt;br /&gt;
    ; Испарение: феромон постепенно исчезает&lt;br /&gt;
    set chemical chemical * (100 - evaporation-rate) / 100&lt;br /&gt;
    if chemical &amp;lt; 0.01 [ set chemical 0 ]&lt;br /&gt;
    &lt;br /&gt;
    ; Визуализация феромона (чем больше феромона, тем ярче зелёный)&lt;br /&gt;
    if food-here = 0 and is-nest = 0 [&lt;br /&gt;
      set pcolor scale-color green chemical 0 5&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  tick&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ПОИСК ЕДЫ С ПАМЯТЬЮ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to look-for-food&lt;br /&gt;
  ; ===== ПОДБОР ЕДЫ =====&lt;br /&gt;
  ; Если на текущем патче есть еда - подбираем её&lt;br /&gt;
  if food-here &amp;gt; 0 [&lt;br /&gt;
    set my-food 1&lt;br /&gt;
    set food-here food-here - 1       ; еда исчезает с патча&lt;br /&gt;
    &lt;br /&gt;
    ; ЗАПОМИНАЕМ МЕСТО&lt;br /&gt;
    if use-memory? [&lt;br /&gt;
      set my-memory lput patch-here my-memory   ; добавляем патч в список&lt;br /&gt;
      if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]  ; ограничиваем размер&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    rt 180                           ; разворачиваемся к гнезду&lt;br /&gt;
    stop&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ИСПОЛЬЗОВАНИЕ ПАМЯТИ =====&lt;br /&gt;
  ; Если память включена, энергии мало и есть запомненные места&lt;br /&gt;
  if use-memory? and my-energy &amp;lt; memory-threshold and length my-memory &amp;gt; 0 [&lt;br /&gt;
    let target nobody&lt;br /&gt;
    let best-dist 999999&lt;br /&gt;
    &lt;br /&gt;
    ; Находим ближайшее запомненное место&lt;br /&gt;
    foreach my-memory [ mem-patch -&amp;gt;&lt;br /&gt;
      let d distance mem-patch&lt;br /&gt;
      if d &amp;lt; best-dist [&lt;br /&gt;
        set best-dist d&lt;br /&gt;
        set target mem-patch&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
    &lt;br /&gt;
    if target != nobody [&lt;br /&gt;
      ; ПРОВЕРЯЕМ, ЕСТЬ ЛИ ЕЩЁ ЕДА НА ЗАПОМНЕННОМ МЕСТЕ&lt;br /&gt;
      ifelse [food-here] of target &amp;gt; 0 [&lt;br /&gt;
        set color blue                ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
        face target&lt;br /&gt;
        stop&lt;br /&gt;
      ] [&lt;br /&gt;
        ; ЕСЛИ ЕДЫ НЕТ - ИЩЕМ В РАДИУСЕ 8 ПАТЧЕЙ ВОКРУГ&lt;br /&gt;
        let nearby-food patches with [food-here &amp;gt; 0 and distance target &amp;lt;= 8]&lt;br /&gt;
        ifelse any? nearby-food [&lt;br /&gt;
          ; нашли еду рядом - идём к ближайшей&lt;br /&gt;
          let closest-nearby min-one-of nearby-food [distance myself]&lt;br /&gt;
          ; добавляем новое место в память&lt;br /&gt;
          set my-memory lput closest-nearby my-memory&lt;br /&gt;
          if length my-memory &amp;gt; 15 [ set my-memory but-last my-memory ]&lt;br /&gt;
          set color blue            ; СИНИЙ - идёт по памяти к еде&lt;br /&gt;
          face closest-nearby&lt;br /&gt;
          stop&lt;br /&gt;
        ] [&lt;br /&gt;
          ; НЕТ ЕДЫ В РАДИУСЕ - УДАЛЯЕМ ЭТО МЕСТО ИЗ ПАМЯТИ&lt;br /&gt;
          set my-memory remove target my-memory&lt;br /&gt;
        ]&lt;br /&gt;
      ]&lt;br /&gt;
    ]&lt;br /&gt;
  ]&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ОБНОВЛЕНИЕ ЦВЕТА =====&lt;br /&gt;
  update-color-by-memory&lt;br /&gt;
  &lt;br /&gt;
  ; ===== ДВИЖЕНИЕ ПО ФЕРОМОНУ =====&lt;br /&gt;
  ; Если есть феромон - идём по нему&lt;br /&gt;
  if (chemical &amp;gt;= 0.05) and (chemical &amp;lt; 2) [&lt;br /&gt;
    uphill-chemical&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;; ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
to update-color-by-memory&lt;br /&gt;
  ; Обновляет цвет муравья в зависимости от размера его памяти&lt;br /&gt;
  ; (только если муравей не несёт еду и не в режиме синего)&lt;br /&gt;
  if my-food = 0 and color != blue [&lt;br /&gt;
    let mem-count length my-memory&lt;br /&gt;
    if mem-count = 0 [ set color green ]      ; ЗЕЛЁНЫЙ - память пуста&lt;br /&gt;
    if mem-count = 1 [ set color yellow ]     ; ЖЁЛТЫЙ - 1 место&lt;br /&gt;
    if mem-count &amp;gt;= 2 [ set color red ]       ; КРАСНЫЙ - 2+ мест&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to uphill-chemical&lt;br /&gt;
  ; Движение вверх по градиенту феромона&lt;br /&gt;
  ; Сравнивает концентрацию феромона спереди, справа и слева&lt;br /&gt;
  let scent-ahead chemical-scent 0&lt;br /&gt;
  let scent-right chemical-scent 45&lt;br /&gt;
  let scent-left chemical-scent -45&lt;br /&gt;
  if (scent-right &amp;gt; scent-ahead) or (scent-left &amp;gt; scent-ahead) [&lt;br /&gt;
    ifelse scent-right &amp;gt; scent-left [ rt 45 ] [ lt 45 ]&lt;br /&gt;
  ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to wiggle&lt;br /&gt;
  ; Лёгкое случайное покачивание, чтобы муравьи не застревали&lt;br /&gt;
  rt random 30&lt;br /&gt;
  lt random 30&lt;br /&gt;
  if not can-move? 1 [ rt 180 ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
to-report chemical-scent [angle]&lt;br /&gt;
  ; Возвращает количество феромона на патче под указанным углом&lt;br /&gt;
  let p patch-right-and-ahead angle 1&lt;br /&gt;
  if p = nobody [ report 0 ]&lt;br /&gt;
  report [chemical] of p&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
; Copyright 1997 Uri Wilensky.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [[Практикум по эконометрике (syllabus)]]&lt;br /&gt;
* An Introduction to Agent-Based Modeling with NetLogo — [[Wilensky]], Rand [https://archive.org/details/introductiontoag0000wile/page/n507/mode/2up]&lt;br /&gt;
* Introduction to Econometrics with R — онлайн-учебник [https://www.econometrics-with-r.org/index.html]&lt;br /&gt;
* Causal Inference: The Mixtape — Cunningham [https://jwmason.org/wp-content/uploads/2021/08/Cunningham-Cuasal-Inference-the-Mixtape.pdf]&lt;br /&gt;
* Дружелюбная эконометрика — учебник [https://books.econ.msu.ru/Introduction-to-Econometrics/]&lt;br /&gt;
* NetLogo: [https://netlogo.org netlogo.org]&lt;br /&gt;
* R: [https://r-project.org r-project.org]&lt;br /&gt;
&lt;br /&gt;
== Участники ==&lt;br /&gt;
* [[Участник:CristCas|Анастасия Юдаева]] — создание и оформление страницы, разработка и модификация кода модели NetLogo, выгрузка модели на GitHub, описание кода&lt;br /&gt;
* [[Участник:Маргарита Еськова|Маргарита Еськова]] — аннотация, формирование гипотез, проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub, частичное оформление&lt;br /&gt;
* [[Участник:Софронова Кира|Кира Софронова]] — формулировка статистических гипотез, анализ данных в R, визуализация результатов, интерпретация выводов, частичное оформление&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Категория:Работы по эконометрике]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0&amp;diff=45756</id>
		<title>Обсуждение:Социальная статистика</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0&amp;diff=45756"/>
		<updated>2026-04-02T11:04:51Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: Новая страница: «Хотела бы взять социологическую тему, пригодится --~~~~»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Хотела бы взять социологическую тему, пригодится --[[Участник:Софронова Кира|Софронова Кира]] ([[Обсуждение участника:Софронова Кира|обсуждение]]) 14:04, 2 апреля 2026 (MSK)&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%A1%D0%BE%D1%84%D1%80%D0%BE%D0%BD%D0%BE%D0%B2%D0%B0_%D0%9A%D0%B8%D1%80%D0%B0&amp;diff=45755</id>
		<title>Участник:Софронова Кира</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%A1%D0%BE%D1%84%D1%80%D0%BE%D0%BD%D0%BE%D0%B2%D0%B0_%D0%9A%D0%B8%D1%80%D0%B0&amp;diff=45755"/>
		<updated>2026-04-02T11:03:13Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UserMGPU&lt;br /&gt;
|Description=Любознательная и жаждущая познать этот мир!&lt;br /&gt;
|Field_of_knowledge=Математика, Информатика, Педагогика, Экономика, Образование, Искусственный интеллект, Управление, Статистика, Моделирование, Музыка&lt;br /&gt;
|Ancestors=Патаракин Евгений Дмитриевич&lt;br /&gt;
|similar_concepts=1C, Русский язык, Агентное моделирование, Экологическое воспитание, Аналитика данных&lt;br /&gt;
|Environment=Miro, 1C: Предприятие, Ecoplatform&lt;br /&gt;
|Position=Бакалавриат&lt;br /&gt;
|Profile=Информатика&lt;br /&gt;
|PedDirection=Нет&lt;br /&gt;
|Community=MGPU, МГПУ, ИЦО, GitHub, VK&lt;br /&gt;
|Виды_спорта=Йога, Фитнес (фитнес), Велоспорт&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
[[Категория:UserMGPU]]&lt;br /&gt;
[[Категория:ЦИБ-241]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81_%D0%9C%D0%BE%D1%80%D0%B0%D0%BD%D0%B0&amp;diff=45754</id>
		<title>Обсуждение:Индекс Морана</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%98%D0%BD%D0%B4%D0%B5%D0%BA%D1%81_%D0%9C%D0%BE%D1%80%D0%B0%D0%BD%D0%B0&amp;diff=45754"/>
		<updated>2026-04-02T10:54:09Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: Новая страница: «Может пригодиться в исследовании --~~~~»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Может пригодиться в исследовании --[[Участник:Софронова Кира|Софронова Кира]] ([[Обсуждение участника:Софронова Кира|обсуждение]]) 13:54, 2 апреля 2026 (MSK)&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%A1%D0%BE%D1%84%D1%80%D0%BE%D0%BD%D0%BE%D0%B2%D0%B0_%D0%9A%D0%B8%D1%80%D0%B0&amp;diff=44266</id>
		<title>Участник:Софронова Кира</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%A1%D0%BE%D1%84%D1%80%D0%BE%D0%BD%D0%BE%D0%B2%D0%B0_%D0%9A%D0%B8%D1%80%D0%B0&amp;diff=44266"/>
		<updated>2026-02-19T06:45:43Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UserMGPU&lt;br /&gt;
|Field_of_knowledge=Математика, Информатика, Педагогика, Экономика, Искусственный интеллект, Управление, Большие данные, Статистика, Моделирование&lt;br /&gt;
|Ancestors=Патаракин Евгений Дмитриевич&lt;br /&gt;
|Position=Бакалавриат&lt;br /&gt;
|Profile=Информатика&lt;br /&gt;
|PedDirection=Нет&lt;br /&gt;
|Community=MGPU, МГПУ, ИЦО, Miro&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
[[Категория:UserMGPU]]&lt;br /&gt;
[[Категория:ЦИБ-241]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%A1%D0%BE%D1%84%D1%80%D0%BE%D0%BD%D0%BE%D0%B2%D0%B0_%D0%9A%D0%B8%D1%80%D0%B0&amp;diff=44258</id>
		<title>Участник:Софронова Кира</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%A1%D0%BE%D1%84%D1%80%D0%BE%D0%BD%D0%BE%D0%B2%D0%B0_%D0%9A%D0%B8%D1%80%D0%B0&amp;diff=44258"/>
		<updated>2026-02-19T06:42:38Z</updated>

		<summary type="html">&lt;p&gt;Софронова Кира: Новая страница: «---- Категория:UserMGPU Категория:ЦИБ-241»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
[[Категория:UserMGPU]]&lt;br /&gt;
[[Категория:ЦИБ-241]]&lt;/div&gt;</summary>
		<author><name>Софронова Кира</name></author>
	</entry>
</feed>