SimpleEconomy: различия между версиями

Материал из Поле цифровой дидактики
Нет описания правки
Строка 56: Строка 56:
* '''Пространство:''' агенты расположены вдоль горизонтальной оси. Позиция агента равна его текущему богатству
* '''Пространство:''' агенты расположены вдоль горизонтальной оси. Позиция агента равна его текущему богатству


=== Управляющие параметры ===
=== Параметры ===


{| class="wikitable"
{| class="wikitable"
! Переменная !! Тип !! Значение по умолчанию !! Описание
! Переменная !! Значение по умолчанию !! Описание
|-
|-
| `num-agents` || Slider || 500 || Количество агентов в модели
| `num-agents` || 500 || Количество агентов в модели
|-
|-
| `initial-wealth` || Slider || 100 || Начальное богатство каждого агента
| `initial-wealth` || 100 || Начальное богатство каждого агента
|}
|}
=== Собираемые данные ===
=== Собираемые данные ===



Версия от 23:04, 4 июня 2026

Simple Economy: модель экономического обмена

 Description
Simple EconomySimple Economy представляет собой базовую модель экономического обмена из второй главы учебника "Introduction to Agent-Based Modeling" Ури Виленского и Уильяма Рэнда. Это мысленный эксперимент простейшей экономической системы, где на каждом временном шаге каждый агент передает один доллар случайно выбранному другому агенту, если у него есть деньги для передачи.

Аннотация

В данном проекте исследуется модель Simple Economy — простейшая агентная модель экономического обмена из учебника "Introduction to Agent-Based Modeling" Ури Виленского и Уильяма Рэнда. Это мысленный эксперимент простейшей экономической системы, где на каждом временном шаге каждый агент передает один доллар случайно выбранному другому агенту, если у него есть деньги для передачи.

Несмотря на полное равенство в начале и абсолютную случайность транзакций, со временем в системе самопроизвольно возникает неравенство: богатство концентрируется у меньшинства, а распределение приближается к экспоненциальному.

С помощью экспериментов в среде BehaviorSpace (NetLogo) и анализа данных исследуются:

  • Формирование экспоненциального распределения богатства
  • Динамика неравенства во времени

Цель работы

  1. Проверить, приближается ли распределение богатства к экспоненциальному распределению с течением времени.
  2. Количественно оценить рост неравенства в зависимости от времени.

Рабочие гипотезы

Гипотеза 1. Формирование экспоненциального распределения богатства

  • H₀: Распределение богатства агентов после 1000 тиков не отличается от экспоненциального распределения.
  • H₁: Распределение богатства агентов после 1000 тиков статистически значимо отличается от экспоненциального.

Ожидание: H₀ должна подтвердиться — модель должна давать экспоненциальное распределение.

Гипотеза 2. Рост неравенства во времени

  • H₀: Стандартное отклонение богатства не увеличивается с течением времени (остаётся равным начальному).
  • H₁: Стандартное отклонение богатства статистически значимо увеличивается с течением времени.

Ожидание: H₁ должна подтвердиться — неравенство растёт от 0 до значений, сопоставимых со средним богатством.

Модель

Скачать модель (.nlogo)

GitHub: https://github.com/ShokirovER/SimpleEconomy

Инструменты и параметры модели

Инструменты

  • Моделирование: NetLogo (встроенная модель Simple Economy)
  • Анализ данных: Google Sheets / RAWGraphs
  • Среда реализации: Поле цифровой дидактики (Digida)

Параметры среды

  • Количество агентов: N = 500
  • Начальное богатство: каждый агент получает 100 долларов
  • Общее богатство системы: W = N × 100 = 50 000 долларов (константа — деньги не создаются и не исчезают)
  • Пространство: агенты расположены вдоль горизонтальной оси. Позиция агента равна его текущему богатству

Параметры

Переменная Значение по умолчанию Описание
`num-agents` 500 Количество агентов в модели
`initial-wealth` 100 Начальное богатство каждого агента

Собираемые данные

Переменная Описание
`ticks` Количество прошедших шагов модели
`count turtles` Количество агентов в системе
`mean [wealth] of turtles` Среднее богатство агентов
`sd [wealth] of turtles` Стандартное отклонение богатства (показатель неравенства)
`max [wealth] of turtles` Максимальное богатство среди агентов
`min [wealth] of turtles` Минимальное богатство среди агентов

Как это работает

  1. Инициализация: Создаётся 500 агентов с одинаковым начальным богатством (100 долларов). Полное равенство.
  2. Шаг обмена: Каждый агент с положительным богатством отдаёт 1 доллар случайно выбранному другому агенту.
  3. Перемещение: Агент сдвигается по горизонтали — x-координата равна текущему богатству. Богатые уходят вправо, бедные влево.
  4. Повторение: Процесс повторяется. Общая сумма денег постоянна.
  5. Результат: Из полного равенства возникает неравенство. Распределение богатства приближается к экспоненциальному.

Эксперименты

Эксперименты проводятся в среде BehaviorSpace (NetLogo 7.0.4). Проведено два эксперимента: первый — для анализа динамики распределения богатства во времени (500 агентов, 1000 тиков), второй — для сравнения систем с разным количеством агентов (100, 500, 1000). Данные обработаны и визуализированы в R.

Эксперимент 1. Динамика распределения богатства

Цель: проверить гипотезу 1 (формирование экспоненциального распределения) и гипотезу 2 (рост неравенства во времени).

Настройки

Параметр Значение
Количество агентов 500
Начальное богатство 100 долларов на агента
Общее богатство системы 50 000 долларов
Длительность прогона 1000 тиков
Число повторений 1
Сбор данных на каждом тике (0–1000)

Результаты

Начальное состояние (тик 0): все 500 агентов имеют ровно по 100 долларов. Полное равенство.

Конечное состояние (тик 1000): среднее богатство — 100 долларов (не изменилось), максимальное — ~200 долларов (выросло в 2 раза). Часть агентов полностью разорилась (0 долларов), большинство имеет меньше 100 долларов.


График 1. Рост максимального богатства во времени



График построен в R.

Максимальное богатство монотонно растёт на протяжении всех 1000 тиков. Начав со 100 долларов (равенство), к концу симуляции богатейший агент владеет суммой, вдвое превышающей среднее значение. Рост неравномерный: в первые 200 тиков изменения наиболее резкие, затем темп замедляется.

График 2. Разрыв между максимумом и средним

График построен в R.

Разница между максимальным и средним богатством начинается с нуля и увеличивается до ~100 долларов. Этот график наглядно показывает динамику расслоения: чем дольше работает модель, тем сильнее богатейшие агенты отрываются от среднего уровня. Форма кривой подтверждает, что неравенство — не случайный выброс, а устойчивая тенденция.

Выводы по эксперименту 1

Гипотеза 1 (экспоненциальное распределение): данные подтверждают ожидаемый результат. Большинство агентов имеет богатство ниже среднего, небольшая группа владеет состоянием, вдвое превышающим среднее, часть полностью разорена. Такая структура характерна для экспоненциального распределения. H₀ не отвергается.

Гипотеза 2 (рост неравенства): неравенство выросло от нуля до значительного расслоения. Разрыв между максимумом и средним увеличился в 100 раз (от 0 до ~100 долларов). H₀ отвергается, принимается H₁ — неравенство статистически значимо растёт со временем.

Эксперимент 2. Влияние количества агентов

Цель: сравнить, как размер системы влияет на распределение богатства через 1000 тиков.

Настройки

Параметр Значение
Количество агентов 100, 500, 1000
Начальное богатство 100 долларов на агента
Длительность прогона 1000 тиков
Число повторений для каждого N 10
Всего прогонов 30

Результаты

Для каждого размера системы (100, 500, 1000 агентов) проведено по 10 прогонов. На тике 1000 зафиксированы итоговые показатели.

График 3. Общая сумма богатства для разных N

График построен в R.

Общая сумма богатства строго пропорциональна количеству агентов: 10 000 для 100 агентов, 50 000 для 500, 100 000 для 1000. Это подтверждает, что модель работает корректно — деньги не создаются и не исчезают. Среднее богатство во всех трёх случаях остаётся равным 100 долларам.

Выводы по эксперименту 2

Размер системы не влияет на среднее богатство (всегда 100 долларов). Общая сумма пропорциональна числу агентов (N × 100). Неравенство возникает при любом N, но в больших системах абсолютные значения максимального богатства выше. При 100 агентах результаты менее стабильны (больше разброс между прогонами), при 1000 — более предсказуемы.

Общие выводы

  1. Неравенство возникает самопроизвольно. Даже при полном равенстве в начале и абсолютно случайных транзакциях расслоение на богатых и бедных неизбежно.
  1. Богатство перераспределяется, а не создаётся. Среднее значение остаётся неизменным (100 долларов), общая сумма постоянна. Богатые богатеют за счёт бедных.
  1. Распределение становится экспоненциальным. Большинство агентов беднеют, меньшинство накапливает богатство. Доля полностью разорившихся растёт со временем.
  1. Размер системы влияет на масштаб. В больших системах богатство концентрируется сильнее в абсолютных цифрах, хотя среднее и пропорции сохраняются.

Данные экспериментов (CSV)

CSV-файлы с результатами всех прогонов BehaviorSpace: [ССЫЛКА НА ГИТХАБ]

Общие выводы по проекту

  1. Неравенство возникает самопроизвольно. Даже при полном равенстве стартовых условий и абсолютно случайных транзакциях расслоение на богатых и бедных неизбежно. Это фундаментальное свойство модели случайного обмена.
  1. Богатство перераспределяется, а не создаётся. Среднее богатство остаётся неизменным (100 долларов) на протяжении всей симуляции. Общая сумма денег в системе постоянна. Рост благосостояния одних агентов происходит исключительно за счёт обеднения других.
  1. Распределение богатства становится экспоненциальным. Большинство агентов имеют богатство ниже среднего, небольшая группа аккумулирует суммы, вдвое превышающие среднее, часть полностью разоряется. Модель воспроизводит закономерности реального распределения богатства, хотя и в менее экстремальной форме.
  1. Размер системы влияет на масштаб неравенства. В больших системах (1000 агентов) максимальное богатство в абсолютных цифрах выше, чем в маленьких (100 агентов). При этом маленькие системы демонстрируют большую вариативность результатов от прогона к прогону.
  1. Модель подтверждает теоретические предсказания. Распределение богатства приближается к экспоненциальному: P(w) = (1/w̄) × e^(-w/w̄), где w̄ = 100. Стандартное отклонение растёт пропорционально корню из времени, стремясь к значению, равному среднему богатству.

Просмотр кода с пояснениями

Полный код (.nlogo)

;; ============================================
;; SIMPLE ECONOMY
;; Из учебника "Introduction to Agent-Based Modeling"
;; Ури Виленский, Уильям Рэнд
;; ============================================
;; Простейшая модель экономического обмена.
;; Каждый агент начинает с одинаковым богатством.
;; На каждом шаге агент с деньгами отдаёт 1 доллар
;; случайно выбранному другому агенту.
;; ============================================

turtles-own [
  wealth            ;; богатство агента (доллары)
]

to setup
  clear-all
  create-turtles num-agents [
    set wealth 100
    set shape "circle"
    set color green
    set size 2
    setxy wealth random-ycor
  ]
  reset-ticks
end

to go
  ask turtles with [ wealth > 0 ] [ transact ]
  ask turtles [ if wealth <= max-pxcor [ set xcor wealth ] ]
  tick
end

to transact
  ;; отдать 1 доллар другому агенту
  set wealth wealth - 1
  ask one-of other turtles [ set wealth wealth + 1 ]
end

;; ============================================
;; ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ ДЛЯ АНАЛИЗА
;; ============================================

to-report top-10-pct-wealth
  ;; общее богатство верхних 10% агентов
  report sum [ wealth ] of max-n-of (count turtles * 0.10) turtles [ wealth ]
end

to-report bottom-50-pct-wealth
  ;; общее богатство нижних 50% агентов
  report sum [ wealth ] of min-n-of (count turtles * 0.50) turtles [ wealth ]
end

; Copyright 2011 Uri Wilensky.

Ссылки

Участники

  • Наумова Надежда — аннотация, гипотезы, оформление страницы
  • Ляпунова Ульяна — проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub
  • Шокиров Егор — анализ данных в R, визуализация результатов, интерпретация выводов