Эксперименты с моделью Urban Suite - Economic Disparity
ОПИСАНИЕ МОДЕЛИ
| Description | |
|---|---|
| Economic Disparity | Модель «Экономическое неравенство» представляет собой симуляцию городской среды, в которой две категории населения — богатые и бедные — выбирают место жительства, учитывая три ключевых параметра: стоимость земли, качество территории и близость к рабочим местам. Модель иллюстрирует процессы пространственной сегрегации по доходам, формирование кластеров услуг в более состоятельных районах и динамическое изменения характеристик территории под влиянием социально-экономического состава населения. Она служит инструментом для изучения взаимосвязи социально-экономических факторов и распределения населения, а также демонстрирует принципы гедонистического выбора и положительную обратную связь в городской экономике. Каждый агент действует согласно собственным правилам и целям, что делает модель более реалистичной по сравнению с подходами, основанными на оптимизации общесистемных критериев. Изучение эмерджентных свойств. Модель показывает, как индивидуальные предпочтения агентов приводят к крупномасштабным структурам - сегрегации населения по доходам и кластеризации услуг в более состоятельных районах. Это демонстрирует концепцию эмерджентности в сложных системах. |
Модель Urban Suite - Economic Disparity представляет упрощённую городскую экономическую систему, где агенты с различным социально-экономическим статусом конкурируют за землю в городском пространстве. Модель исследует процессы пространственной сегрегации и формирования экономического неравенства в городской среде. В модели есть фиксированные рабочие места (серые квадраты), распределённые по городской территории. Агенты стремятся минимизировать расстояние до ближайшего места работы.
ЭКСПЕРИМЕНТ 1
Автор - ZatsepinNA
- Гипотеза
- Изменение весов "rich-quality-priority" и "poor-price-priority" приведёт к разным типам городской сегрегации и уровням неравенства.
Цель эксперимента: Исследовать, как изменение приоритетов агентов (богатых и бедных) влияет на структуру городского пространства. В частности, нас интересует, как веса параметров rich-quality-priority (насколько богатые ценят качество района) и poor-price-priority (насколько бедные чувствительны к цене) определяют:
- уровень пространственной сегрегации (измеряется индексом Дункана ),
- степень неравенства в распределении полезности (измеряется коэффициентом Джини),
- среднее расстояние между представителями двух групп,
- разницу в средней полезности между богатыми и бедными.
Настройки NetLogo
;; ========== КОД ДЛЯ ЭКСПЕРИМЕНТОВ ==========
;; Индекс Дункана
to-report duncan-index
let total-rich count rich
let total-poor count poor
if total-rich = 0 or total-poor = 0 [ report 0 ]
let seg-sum 0
ask patches [
let p-rich count rich-here / total-rich
let p-poor count poor-here / total-poor
set seg-sum seg-sum + abs(p-rich - p-poor)
]
report seg-sum / 2
end
;; Среднее расстояние между богатыми и бедными
to-report avg-distance-rich-poor
if count rich = 0 or count poor = 0 [ report 0 ]
let distances []
ask rich [
let closest-poor min [distance myself] of poor
set distances lput closest-poor distances
]
report mean distances
end
to-report utility-diff
let rich-utils [utility-r] of rich with [utility-r > 0]
let poor-utils [utility-p] of poor with [utility-p > 0]
if (length rich-utils = 0 or length poor-utils = 0) [ report 0 ]
let avg-rich mean rich-utils
let avg-poor mean poor-utils
report abs(avg-rich - avg-poor)
end
to-report gini-coefficient [ values ]
if length values <= 1 [ report 0 ]
let valid-values filter [ x -> x > 0 ] values
if length valid-values <= 1 [ report 0 ]
let avg-val mean valid-values
if avg-val = 0 [ report 0 ] ; защита от деления на 0
let sorted sort valid-values
let n length sorted
let gini-sum 0
let cumsum 0
foreach sorted [ val ->
set cumsum cumsum + val
set gini-sum gini-sum + (cumsum - val / 2) / n / avg-val
]
report 1 - gini-sum / n
end
;; Создать CSV файл
to create-csv [exp-name]
let path (word "C:/Users/User/Desktop/" exp-name ".csv")
file-open path
file-print "run,ticks,rich_count,poor_count,duncan_index,avg_distance,utility_diff,gini_coefficient"
file-close
end
to write-line [exp-name]
let path (word "C:/Users/User/Desktop/" exp-name ".csv")
;; Берём только агентов с ненулевой полезностью
let rich-utils [utility-r] of rich with [utility-r > 0]
let poor-utils [utility-p] of poor with [utility-p > 0]
let all-utils sentence rich-utils poor-utils
;; Если нет данных — ставим 0
let gini-val ifelse-value (length all-utils > 1) [
gini-coefficient all-utils
] [ 0 ]
file-open path
file-print (word
run-number ","
ticks ","
count rich ","
count poor ","
duncan-index ","
avg-distance-rich-poor ","
utility-diff ","
gini-val
)
file-close
end
;; Процедура для одного прогона
to run-single-run [exp-name rich-val poor-val]
set rich-quality-priority rich-val
set poor-price-priority poor-val
setup
repeat 2000 [
go
]
write-line exp-name
end
;; Процедура для 30 прогонов
to run-experiment [exp-name rich-val poor-val]
set experiment-name exp-name
create-csv exp-name
set run-number 0
repeat 30 [
set run-number run-number + 1
run-single-run exp-name rich-val poor-val
print (word "Прогон " run-number " из 30 завершен.")
]
print (word "Эксперимент " exp-name " ЗАВЕРШЕН!")
end
;; === КНОПКИ ИНТЕРФЕЙСА ===
to experiment-1
run-experiment "exp1_08_05" 0.8 0.5
end
to experiment-2
run-experiment "exp2_02_05" 0.2 0.5
end
to experiment-3
run-experiment "exp3_05_08" 0.5 0.8
end
to experiment-4
run-experiment "exp4_05_02" 0.5 0.2
end
Для реализации эксперимента в исходный код модели были добавлены следующие процедуры:
- duncan-index — для расчёта индекса сегрегации,
- avg-distance-rich-poor — для измерения среднего расстояния между богатыми и бедными,
- utility-diff — для вычисления разницы в средней полезности между группами,
- gini-coefficient — для оценки уровня неравенства,
- run-experiment — для автоматического запуска 30 прогонов каждого сценария и записи результатов в CSV-файл.
Каждый прогон выполняется в течение 2000 тиков, после чего фиксируются итоговые значения метрик. Данная модификация позволила собрать репрезентативный датасет для сравнения сценариев.

Эксперимент проводился при четырёх комбинациях параметров rich-quality-priority и poor-price-priority, фиксированных системных настройках (residents-per-job = 100, number-of-tests = 30, max-jobs = 10, death-rate = 4, poor-per-step = 5, rich-per-step = 5) и на протяжении 2000 тиков. Данные были собраны для 30 независимых повторов на каждый сценарий.
Анализ графиков (Шаг 1–4)
На каждом графике:
- Ось X: сценарий (A, B, C, D)
- Ось Y(слева): значение индекса Дункана
- Ось Y(справа): значение коэффициента Джини
- Коробки (box plot) — показывают распределение результатов (медиана, IQR)
- Точки — отдельные прогоны (30 на сценарий)
Шаг 1 эксперимента (Сценарий A: rich=0.8, poor=0.5)
Duncan Index: медиана ≈ 0.272, IQR [0.271–0.273]
Gini Coefficient: медиана ≈ 0.836, IQR [0.835–0.837]
Богатые сильно ценят качество, бедные умеренно чувствительны к цене. Это приводит к наибольшей сегрегации — богатые концентрируются в высококачественных районах, вытесняя бедных в периферийные зоны. Неравенство также высоко, но не максимальное — бедные всё ещё получают некоторую полезность.
Вывод для Шага 1
При высоком приоритете качества у богатых сегрегация достигает максимума. Город разделяется на «богатые» и «бедные» районы. Альтернативные стратегии (например, снижение требований богатых) могут уменьшить поляризацию.
Шаг 2 эксперимента (Сценарий B: rich=0.2, poor=0.5)
Duncan Index: медиана ≈ 0.271, IQR [0.270–0.272]
Gini Coefficient: медиана ≈ 0.837, IQR [0.836–0.838]
Богатые почти не обращают внимания на качество, бедные умеренно чувствительны к цене. Сегрегация немного снижается, но неравенство остаётся высоким. Это говорит о том, что рассеивание богатых по городу не устраняет неравенство — бедные всё ещё ограничены ценой.
Вывод для Шага 2
Снижение требований богатых к качеству уменьшает пространственную сегрегацию, но не влияет на социальное неравенство. Цена остаётся ключевым фактором, определяющим доступ к ресурсам.
Шаг 3 эксперимента (Сценарий C: rich=0.5, poor=0.8)
Duncan Index: медиана ≈ 0.271, IQR [0.270–0.272]
Gini Coefficient: медиана ≈ 0.840, IQR [0.839–0.841]
Богатые умеренно ценят качество, бедные очень чувствительны к цене. Сегрегация остаётся на среднем уровне, но неравенство растёт — бедные вынуждены жить в самых дешёвых районах, что усиливает разрыв в полезности.
Вывод для Шага 3
Высокая чувствительность бедных к цене усиливает неравенство, даже если богатые не требуют высокого качества. Это показывает, что экономическая политика, направленная на снижение ценовой чувствительности бедных, может быть эффективнее, чем регулирование поведения богатых.
Шаг 4 эксперимента (Сценарий D: rich=0.5, poor=0.2)
Duncan Index: медиана ≈ 0.270, IQR [0.269–0.271]
Gini Coefficient: медиана ≈ 0.841, IQR [0.840–0.842]
Богатые умеренно ценят качество, бедные почти не реагируют на цену. Сегрегация минимальна — группы смешиваются. Однако неравенство достигает максимума — бедные теперь живут в хороших районах, но их полезность всё ещё ниже, чем у богатых.
Вывод для Шага 4
При снижении ценовой чувствительности бедных сегрегация исчезает, но неравенство растёт. Это означает, что смешанные районы не равны справедливым — если бедные не получают дополнительных ресурсов, они будут жить рядом с богатыми, но оставаться менее выгодными.
Главный вывод
Изменение приоритетов агентов напрямую формирует структуру городского пространства. Богатые, которые сильно ценят качество, создают элитные анклавы, вытесняя бедных в периферийные районы. Бедные, чувствительные к цене, усиливают сегрегацию, выбирая самые дешёвые зоны. Однако если бедные перестают реагировать на цену, сегрегация исчезает — но неравенство растёт, потому что они получают выгоду, но всё ещё отстают от богатых.
Это означает, что:
- Сегрегация — результат рационального выбора, а не случайности: агенты оптимизируют свою полезность на основе приоритетов.
- Цена — более мощный фактор, чем качество: снижение ценовой чувствительности бедных сильнее влияет на сегрегацию, чем требования богатых.
- Смешанные районы ≠ справедливость: даже при отсутствии пространственного разделения неравенство может быть выше, если бедные не получают дополнительных ресурсов.
В реальном мире это объясняет, почему программы доступного жилья или субсидий могут снижать сегрегацию, но не гарантируют социального равенства — для этого нужны дополнительные механизмы перераспределения выгоды.
Заключение
Модель городской сегрегации демонстрирует, что пространственное разделение богатых и бедных — не следствие дискриминации или предвзятости, а естественный результат экономических предпочтений агентов. Когда богатые максимизируют качество, а бедные — минимизируют цену, город автоматически разделяется. Но если изменить эти приоритеты (например, через политику доступности), можно достичь более смешанной структуры.
Этот вывод имеет прямое отношение к современной урбанистике, социальной политике и планированию городов. Он показывает, что для создания справедливых городов недостаточно просто «смешивать» группы — необходимо менять условия, при которых бедные принимают решения, чтобы они могли конкурировать на равных, не теряя в полезности.
ЭКСПЕРИМЕНТ 2
--KryuchkovSR (обсуждение) 22:58, 25 декабря 2025 (MSK)
Гипотеза: разная скорость роста населения (poor-per-step vs rich-per-step) и смертности (death-rate) создаёт циклические волны джентрификации.
Джентрификация (англ. gentrification) — процесс облагораживания и изменения образа жизни в пришедших в упадок городских кварталах в результате благоустройства, создания комфортной среды и привлечения более состоятельных жителей.
Цель эксперимента:
Исследовать, как дифференциальные демографические параметры poor-per-step, rich-per-step и death-rate влияют на:
1. Смену социально-экономического состава участков
2. Динамику цен в различных типах районов
3. Цикличность процессов джентрификации
ЭКСПЕРИМЕНТ 3
--ZhiltsovES (обсуждение)
Гипотеза: Распределение рабочих мест в дорогих районах создаёт дополнительное преимущество для богатых и увеличивает социальное неравенство
