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

Материал из Поле цифровой дидактики
Нет описания правки
 
(не показано 16 промежуточных версий 3 участников)
Строка 5: Строка 5:
== Аннотация ==
== Аннотация ==


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


С помощью экспериментов в BehaviorSpace (NetLogo) и анализа данных исследуются:
Несмотря на полное равенство в начале и абсолютную случайность транзакций, со временем в системе самопроизвольно возникает неравенство: богатство концентрируется у меньшинства, а распределение приближается к экспоненциальному.
 
С помощью экспериментов в среде BehaviorSpace (NetLogo) и анализа данных исследуются:
* '''Формирование экспоненциального распределения богатства'''
* '''Формирование экспоненциального распределения богатства'''
* '''Динамика неравенства''' (коэффициент Джини) во времени
* '''Динамика неравенства''' во времени
* '''Влияние количества агентов''' на скорость и уровень неравенства


=== Цель работы ===
=== Цель работы ===


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


== Рабочие гипотезы ==
== Рабочие гипотезы ==
Строка 29: Строка 29:
=== Гипотеза 2. Рост неравенства во времени ===
=== Гипотеза 2. Рост неравенства во времени ===


* '''H₀:''' Коэффициент Джини не увеличивается с течением времени (остаётся равным начальному, близкому к нулю).
* '''H₀:''' Стандартное отклонение богатства не увеличивается с течением времени (остаётся равным начальному).
* '''H₁:''' Коэффициент Джини статистически значимо увеличивается с течением времени.
* '''H₁:''' Стандартное отклонение богатства статистически значимо увеличивается с течением времени.
 
''Ожидание: H₁ должна подтвердиться — неравенство растёт от 0 до ~0.5.''
 
=== Гипотеза 3. Влияние количества агентов на неравенство ===
 
* '''H₀:''' Количество агентов в системе не влияет на итоговый уровень неравенства (коэффициент Джини через 1000 тиков одинаков при N = 100, 500, 1000).
* '''H₁:''' Количество агентов влияет на итоговый уровень неравенства.


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


== Модель ==
== Модель ==
Строка 45: Строка 38:


=== Скачать модель (.nlogo) ===
=== Скачать модель (.nlogo) ===
'''GitHub:''' [НАШ ГЕТХАБ]
'''GitHub:'''
 
https://github.com/ShokirovER/SimpleEconomy
''Примечание: модель взята из стандартной библиотеки NetLogo: File → Models Library → Social Science → Economics → Simple Economy.''


== Инструменты и параметры модели ==
== Инструменты и параметры модели ==
Строка 59: Строка 51:
=== Параметры среды ===
=== Параметры среды ===


* '''Количество агентов:''' N = 500 (по умолчанию)
* '''Количество агентов:''' N = 500
* '''Начальное богатство:''' каждый агент получает 100 долларов
* '''Начальное богатство:''' каждый агент получает 100 долларов
* '''Общее богатство системы:''' W = N × 100 = 50 000 долларов (константа — деньги не создаются и не исчезают)
* '''Общее богатство системы:''' W = N × 100 = 50 000 долларов (константа — деньги не создаются и не исчезают)
* '''Пространство:''' агенты расположены вдоль горизонтальной оси. Позиция агента = его текущее богатство (чем богаче, тем правее)
* '''Пространство:''' агенты расположены вдоль горизонтальной оси. Позиция агента равна его текущему богатству
 
=== Параметры ===
 
{| class="wikitable"
! Переменная !! Значение !! Описание
|-
| `num-agents` || 500 || Количество агентов в модели
|-
| `initial-wealth` || 100 || Начальное богатство каждого агента
|}
 
=== Собираемые данные ===
 
{| class="wikitable"
! Переменная !! Описание
|-
| `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 (рост неравенства во времени).
 
==== Настройки ====
 
{| class="wikitable"
! Параметр !! Значение
|-
| Количество агентов || 500
|-
| Начальное богатство || 100 долларов на агента
|-
| Общее богатство системы || 50 000 долларов
|-
| Длительность прогона || 1000 тиков
|-
| Число повторений || 1
|-
| Сбор данных || на каждом тике (0–1000)
|}
 
==== Результаты ====
 
'''Начальное состояние (тик 0):''' все 500 агентов имеют ровно по 100 долларов. Полное равенство.
 
'''Конечное состояние (тик 1000):''' среднее богатство — 100 долларов (не изменилось), максимальное — ~200 долларов (выросло в 2 раза). Часть агентов полностью разорилась (0 долларов), большинство имеет меньше 100 долларов.
 
 
==== График 1. Рост максимального богатства во времени ====
 
[[Файл:График 1.jpg|мини|центр|600px]]
 
 
 
 
''График построен в R.''
 
Максимальное богатство монотонно растёт на протяжении всех 1000 тиков. Начав со 100 долларов (равенство), к концу симуляции богатейший агент владеет суммой, вдвое превышающей среднее значение. Рост неравномерный: в первые 200 тиков изменения наиболее резкие, затем темп замедляется.
 
==== График 2. Разрыв между максимумом и средним ====
 
[[Файл:График 2..jpg|мини|центр|600px]]
 
''График построен в R.''
 
Разница между максимальным и средним богатством начинается с нуля и увеличивается до ~100 долларов. Этот график наглядно показывает динамику расслоения: чем дольше работает модель, тем сильнее богатейшие агенты отрываются от среднего уровня. Форма кривой подтверждает, что неравенство — не случайный выброс, а устойчивая тенденция.
 
==== Выводы по эксперименту 1 ====
 
'''Гипотеза 1 (экспоненциальное распределение):''' данные подтверждают ожидаемый результат. Большинство агентов имеет богатство ниже среднего, небольшая группа владеет состоянием, вдвое превышающим среднее, часть полностью разорена. Такая структура характерна для экспоненциального распределения. '''H₀ не отвергается.'''
 
'''Гипотеза 2 (рост неравенства):''' неравенство выросло от нуля до значительного расслоения. Разрыв между максимумом и средним увеличился в 100 раз (от 0 до ~100 долларов). '''H₀ отвергается, принимается H₁''' — неравенство статистически значимо растёт со временем.
 
=== Эксперимент 2. Влияние количества агентов ===
 
'''Цель:''' сравнить, как размер системы влияет на распределение богатства через 1000 тиков.


=== Управляющие параметры (настройки модели) ===
==== Настройки ====


{| class="wikitable"
{| class="wikitable"
! Переменная !! Тип !! Значение по умолчанию !! Описание
! Параметр !! Значение
|-
| Количество агентов || 100, 500, 1000
|-
| Начальное богатство || 100 долларов на агента
|-
| Длительность прогона || 1000 тиков
|-
|-
| `num-agents` || Slider || 500 || Количество агентов в модели
| Число повторений для каждого N || 10
|-
|-
| `initial-wealth` || Slider || 100 || Начальное богатство каждого агента
| Всего прогонов || 30
|}
|}
==== Результаты ====
Для каждого размера системы (100, 500, 1000 агентов) проведено по 10 прогонов. На тике 1000 зафиксированы итоговые показатели.
==== График 3. Общая сумма богатства для разных N ====
[[Файл:График 3..jpg|мини|центр|600px]]
''График построен в 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) ===
<syntaxhighlight lang="lisp" line>
;; ============================================
;; 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.
</syntaxhighlight>
== Ссылки ==
* Учебник "Introduction to Agent-Based Modeling" — Wilensky, Rand: [http://www.intro-to-abm.com]
* NetLogo: [https://ccl.northwestern.edu/netlogo/]
* NetLogo Web: [https://netlogoweb.org/]
* R Project for Statistical Computing: [https://www.r-project.org/]
* RStudio: [https://posit.co/download/rstudio-desktop/]
* Модель в библиотеке NetLogo: File → Models Library → Social Science → Economics → Simple Economy
* [[Практикум по эконометрике (syllabus)]]
== Участники ==
* [[Участник: Наумова Надя|Наумова Надежда]] — аннотация, гипотезы, оформление страницы
* [[Участник: Ляпунова Ульяна|Ляпунова Ульяна]] — проведение экспериментов в BehaviorSpace, сбор и выгрузка данных на GitHub
* [[Участник: Егор Шокиров|Шокиров Егор]] — анализ данных в R, визуализация результатов, интерпретация выводов
----
[[Категория:Работы по эконометрике]]

Текущая версия от 23:05, 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, визуализация результатов, интерпретация выводов