SimpleEconomy: различия между версиями
| (не показано 6 промежуточных версий 2 участников) | |||
| Строка 38: | Строка 38: | ||
=== Скачать модель (.nlogo) === | === Скачать модель (.nlogo) === | ||
'''GitHub:''' | '''GitHub:''' | ||
https://github.com/ShokirovER/SimpleEconomy | |||
== Инструменты и параметры модели == | == Инструменты и параметры модели == | ||
| Строка 55: | Строка 56: | ||
* '''Пространство:''' агенты расположены вдоль горизонтальной оси. Позиция агента равна его текущему богатству | * '''Пространство:''' агенты расположены вдоль горизонтальной оси. Позиция агента равна его текущему богатству | ||
=== | === Параметры === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Переменная | ! Переменная !! Значение !! Описание | ||
|- | |- | ||
| `num-agents` | | `num-agents` || 500 || Количество агентов в модели | ||
|- | |- | ||
| `initial-wealth` | | `initial-wealth` || 100 || Начальное богатство каждого агента | ||
|} | |} | ||
=== Собираемые данные === | === Собираемые данные === | ||
| Строка 125: | Строка 127: | ||
==== График 1. Рост максимального богатства во времени ==== | ==== График 1. Рост максимального богатства во времени ==== | ||
[[Файл:График 1.jpg|мини|центр|600px]] | |||
| Строка 136: | Строка 138: | ||
==== График 2. Разрыв между максимумом и средним ==== | ==== График 2. Разрыв между максимумом и средним ==== | ||
[ | [[Файл:График 2..jpg|мини|центр|600px]] | ||
''График построен в R.'' | ''График построен в R.'' | ||
| Строка 174: | Строка 176: | ||
==== График 3. Общая сумма богатства для разных N ==== | ==== График 3. Общая сумма богатства для разных N ==== | ||
[ | [[Файл:График 3..jpg|мини|центр|600px]] | ||
''График построен в R.'' | ''График построен в R.'' | ||
Текущая версия от 23:05, 4 июня 2026
Simple Economy: модель экономического обмена
| Description | |
|---|---|
| Simple Economy | Simple Economy представляет собой базовую модель экономического обмена из второй главы учебника "Introduction to Agent-Based Modeling" Ури Виленского и Уильяма Рэнда. Это мысленный эксперимент простейшей экономической системы, где на каждом временном шаге каждый агент передает один доллар случайно выбранному другому агенту, если у него есть деньги для передачи. |
Аннотация
В данном проекте исследуется модель Simple Economy — простейшая агентная модель экономического обмена из учебника "Introduction to Agent-Based Modeling" Ури Виленского и Уильяма Рэнда. Это мысленный эксперимент простейшей экономической системы, где на каждом временном шаге каждый агент передает один доллар случайно выбранному другому агенту, если у него есть деньги для передачи.
Несмотря на полное равенство в начале и абсолютную случайность транзакций, со временем в системе самопроизвольно возникает неравенство: богатство концентрируется у меньшинства, а распределение приближается к экспоненциальному.
С помощью экспериментов в среде BehaviorSpace (NetLogo) и анализа данных исследуются:
- Формирование экспоненциального распределения богатства
- Динамика неравенства во времени
Цель работы
- Проверить, приближается ли распределение богатства к экспоненциальному распределению с течением времени.
- Количественно оценить рост неравенства в зависимости от времени.
Рабочие гипотезы
Гипотеза 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` | Минимальное богатство среди агентов |
Как это работает
- Инициализация: Создаётся 500 агентов с одинаковым начальным богатством (100 долларов). Полное равенство.
- Шаг обмена: Каждый агент с положительным богатством отдаёт 1 доллар случайно выбранному другому агенту.
- Перемещение: Агент сдвигается по горизонтали — x-координата равна текущему богатству. Богатые уходят вправо, бедные влево.
- Повторение: Процесс повторяется. Общая сумма денег постоянна.
- Результат: Из полного равенства возникает неравенство. Распределение богатства приближается к экспоненциальному.
Эксперименты
Эксперименты проводятся в среде 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 — более предсказуемы.
Общие выводы
- Неравенство возникает самопроизвольно. Даже при полном равенстве в начале и абсолютно случайных транзакциях расслоение на богатых и бедных неизбежно.
- Богатство перераспределяется, а не создаётся. Среднее значение остаётся неизменным (100 долларов), общая сумма постоянна. Богатые богатеют за счёт бедных.
- Распределение становится экспоненциальным. Большинство агентов беднеют, меньшинство накапливает богатство. Доля полностью разорившихся растёт со временем.
- Размер системы влияет на масштаб. В больших системах богатство концентрируется сильнее в абсолютных цифрах, хотя среднее и пропорции сохраняются.
Данные экспериментов (CSV)
CSV-файлы с результатами всех прогонов BehaviorSpace: [ССЫЛКА НА ГИТХАБ]
Общие выводы по проекту
- Неравенство возникает самопроизвольно. Даже при полном равенстве стартовых условий и абсолютно случайных транзакциях расслоение на богатых и бедных неизбежно. Это фундаментальное свойство модели случайного обмена.
- Богатство перераспределяется, а не создаётся. Среднее богатство остаётся неизменным (100 долларов) на протяжении всей симуляции. Общая сумма денег в системе постоянна. Рост благосостояния одних агентов происходит исключительно за счёт обеднения других.
- Распределение богатства становится экспоненциальным. Большинство агентов имеют богатство ниже среднего, небольшая группа аккумулирует суммы, вдвое превышающие среднее, часть полностью разоряется. Модель воспроизводит закономерности реального распределения богатства, хотя и в менее экстремальной форме.
- Размер системы влияет на масштаб неравенства. В больших системах (1000 агентов) максимальное богатство в абсолютных цифрах выше, чем в маленьких (100 агентов). При этом маленькие системы демонстрируют большую вариативность результатов от прогона к прогону.
- Модель подтверждает теоретические предсказания. Распределение богатства приближается к экспоненциальному: 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.
Ссылки
- Учебник "Introduction to Agent-Based Modeling" — Wilensky, Rand: [1]
- NetLogo: [2]
- NetLogo Web: [3]
- R Project for Statistical Computing: [4]
- RStudio: [5]
- Модель в библиотеке NetLogo: File → Models Library → Social Science → Economics → Simple Economy
- Практикум по эконометрике (syllabus)
Участники
- Наумова Надежда — аннотация, гипотезы, оформление страницы
- Ляпунова Ульяна — проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub
- Шокиров Егор — анализ данных в R, визуализация результатов, интерпретация выводов
