Часть 2. Драконы. Комбинаторика Мира Дракоша

В этой части я расскажу вам, как я рассчитал вероятности обнаружения агентов в клетках в зависимости от плотности населения пространства.

Д ракоши.

А также как это можно наблюдать Д Ракоши становятся более сознательными жителями своей вселенной.

Кто они Д ракоши заглянуть первая часть .



Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

1. Зачем нам нужны вероятности? 2. Постановка задачи 3. Расчет способов расстановки агентов 4. Моделирование вероятностей методом Монте-Карло 5. Что случилось?



1. Зачем нам нужны вероятности?



Как следить за Д ракоши

Прежде чем мы начнем проводить симуляцию, нам нужно понять, как мы будем «смотреть» на мир.

Д ракош? Ведь их будут тысячи, каждый будет заниматься своим делом, куда-то ходить, что-то есть и т. д. Поэтому в самом начале мне пришлось подумать о параметрах, которые бы описывали текущее состояние моделируемой системы и показывали динамику происходящих в ней изменений.

Здесь всего 24 значения, за которыми интересно следить, помимо самого пространства с раздачей агентов и еды.

Среди этих параметров есть вполне очевидные: количество агентов, количество еды в космосе, рождаемость и смертность.

Но подробнее о них речь пойдет в третьей части.

Сейчас я остановлюсь подробнее на специальной группе параметров, которые позволят оценить степень «осведомленности» действий агентов.

Другими словами, отличайте случайное поведение от «сознательного».

Напомню, что агенты могут выполнять шесть разных действий: Проходить , Шаг 1 , Шаг 2 , Есть , Атака , Секс .

Для каждого из них можно посчитать долю агентов, выполняющих его на каждом временном шаге:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

,

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

,

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

,

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

,

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

,

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

.

Эти шесть параметров позволят вам понять, что они делают. Д ракоши.

Все действия, кроме Проходить может быть успешным или неудачным, в зависимости от текущей ситуации в текущей и соседних ячейках, а также от желания соседа по занятой ячейке.

Для отслеживания успеха используются четыре параметра:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

,

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

,

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

,

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

.

Они показывают, какая часть предпринятых действий оказалась успешной.

Более того, оба действия Шаг 1 И Шаг 2 учитываются в одном параметре

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

.



Индексы осведомленности или зачем нужны вероятности?

На начальном этапе, когда нейронная сеть агентов еще не обучена, действия агентов будут случайными.

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

Но необходимо учитывать, что успех действий зависит и от окружения.

Так что успех действий Шаг 1/2 определяется наличием свободного места в ячейке, которую агент выбрал для перемещения (всего в ячейках имеется два места для агентов).

И это будет зависеть как от правильного выбора агента, так и от количества агентов в космосе.

Текущее количество агентов удобно отслеживать с помощью параметра

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

– плотность агентов в пространстве, равная отношению количества агентов к числу ячеек в пространстве.

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

Поэтому, несмотря на наличие или отсутствие «осведомленности» у агентов при низкой плотности агентов (

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

) успех действий Шаг 1/2 будет высоким(

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

).

С увеличением числа агентов вероятность найти свободное место в случайно выбранной ячейке уменьшается вместе с успехом.



Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

, если только выбор ячейки для совершения шага не сделан осознанно.

Когда количество агентов близко к максимальной емкости пространства (

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

) вероятность найти свободное место станет близкой к нулю (

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

).

Вы можете ввести параметр для осознанности действий Шаг 1/2 , который мы будем рассчитывать как разницу между текущим успехом

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

и вероятность найти свободное место в ячейке

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Здесь

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

– обозначает вероятность присутствия двух агентов в выбранной ячейке.

Точно так же успех действий Атака И Секс будет зависеть от вероятности (

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

), что агент найдет другого агента в занимаемой им ячейке.

Осведомленность об атаке можно определить как превышение успеха.



Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

сверхвероятность

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Но успех

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

зависит не только от вероятности найти партнера в клетке, но и от вероятности того, что партнер также совершает в данный момент Половое действие.

Но даже если партнер окажется сговорчивым, для успешного полового акта необходимо, чтобы в окружающем пространстве нашлось место для малыша.

Следовательно, вероятность случайного успеха будет произведением вероятностей трех независимых событий:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

– в ячейке есть потенциальный партнер,

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

- партнер также выполняет действие Секс ,

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

– в ячейке, которую выбрала мать для размещения ребенка, есть свободное место.

Поэтому я предлагаю определить осознанность супружеского поведения следующим образом:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша



2. Постановка задачи

Для расчета представленных выше индексов осведомленности необходимо научиться рассчитывать две вероятности:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

И

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

.

Очевидно, они зависят от плотности агентов в пространстве, а также от равномерности их распределения по пространству.

Но для упрощения расчетов в будущем мы будем предполагать равномерное распределение агентов по пространству.

То есть будем считать, что эти вероятности не зависят от положения агента в пространстве.

Сформулируем задачу следующим образом.

Есть место от

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

клетки.

В одной ячейке может содержаться не более

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты.

Эти клетки содержат

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты (

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

).

Необходимо определить вероятность того, что в выбранной ячейке с одним агентом окажется другой агент –

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

.

И вероятность того, что выбранная ячейка будет иметь

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты –

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

.

Для решения этой проблемы я использовал два подхода.

Первый - это расчет вероятности в классическом его понимание как отношение числа различных расположений агентов, благоприятствующих желаемому событию, к общему числу расположений агентов в клетках.

Для расчетов я использовал метод производящих функций.

В второй подход использовал концепцию вероятность частоты .

Расчеты проводились методом Монте-Карло.

Вероятно, существуют и другие способы расчета этих вероятностей, возможно, даже более простые.

Буду признателен за подсказку по этим вопросам.



3. Расчет способов расстановки агентов



Вывод рекуррентной формулы

Предложенный ниже подход к вычислению вероятностей позволяет решить поставленную задачу даже в более общей постановке, когда емкости ячеек различны.

Определим емкости пространственных ячеек в виде последовательности

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

, Где

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

– номер ячейки (от

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

до

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

).

Для удобства вычислений перенумеруем ячейки так, чтобы ячейка, выбранная для определения вероятностей, имела номер

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

.

Поставленная задача может быть сведена к подсчету количества способов расположить агентов в ячейках пространства.

Тогда вероятность

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

– это отношение числа способов расположения агентов, при которых клетка

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

хотя бы один агент добирается до полного количества способов организовать

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты по

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

ячейки пространства.

Для мира Д Ракош емкость всех ячеек равна двум.

Но при расчете

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

емкость ячейки

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

принял

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

, поскольку изначально известно, что в этой ячейке уже есть один агент (см.

определение вероятности

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

выше).

Вероятность

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

– это отношение числа способов расположения агентов, при которых клетка

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

максимальное количество агентов для этой ячейки падает –

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

, к общему числу способов расположить

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты по

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

ячейки пространства.

Обозначим через

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

количество способов упорядочить

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

средства для клеток с

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

на первом.

Также для расчетов нам необходимо знать количество свободных мест в ячейках с

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

во-первых -

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Рассмотрим процесс, в котором мы последовательно перебираем все ячейки пространства (начиная с

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

до

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

) и на каждом шаге помещаем его в следующую ячейку —

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

ряд агентов -

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

пока мы не поставим все на место

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

неразмещенные агенты или мы не исчерпаем все клетки.

В ячейку

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

можно разместить из

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

до

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты.

Но если агентов осталось меньше, чем максимальная вместимость ячейки, то разместить можно не более

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты.

Таким образом

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

.

Количество способов заполнения ячейки агентами представляет собой комбинацию без повторений

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

К

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Поместив

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты на ячейку

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

, еще будет

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты для размещения в клетках с

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

К

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

.

И каждому

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

будет соответствовать

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

способы расстановки остальных агентов.

Работа

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

– дает нам количество способов размещения

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты в клетке

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

И

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты для остальных клеток.

Суммирование по всем допустимым значениям

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

, получим необходимое количество способов расстановки:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Чтобы использовать полученную рекуррентную формулу, необходимо задать граничные условия:

  • Если

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    , т.е.

    у нас не осталось агентов, которых можно поместить в ячейку, то у нас есть только один способ выполнить размещение агентов — никого не помещать в ячейку:

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

  • Для последней ячейки

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    агентов расставить тоже можно только один - оставить всё

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    агентов в нем, но только если для них достаточно места:

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

  • Если места для размещения недостаточно

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    агенты в клетках с

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    К

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    , то нет способов заполнить ячейку:

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Теперь мы можем написать выражения для вероятности

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Где

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

– это количество способов расположить агентов, в которых клетка

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

один или несколько агентов ударили:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Обратите внимание, что здесь мы начинаем суммирование с единицы, поскольку нас интересуют те расположения, при которых ячейка

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

по крайней мере один агент попадает. Выражения для вероятности

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Где

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

– это количество способов расположить агентов, в которых клетка

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

максимальное количество агентов для этой ячейки падает:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Пример расчета вероятностей для S=5 Рассмотрим пример расчета количества способов расположить агентов в пяти ячейках (

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

), емкость которого равна двум (

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

).

Результаты расчета сведены в таблицу:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша



Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша



Упрощение и переход к сокращенной форме

Количество мероприятий растет очень быстро и уже

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Чисел двойной точности недостаточно.

Даже если вы используете пакеты для символьных вычислений с произвольной точностью (например, Symbolic Math Toolbox и арифметика переменной точности в среде MatLab), проблема переполнения стека рекуррентных вызовов функций с большими размерами пространства остается.

Поэтому полученные выше выражения необходимо преобразовать.

А еще лучше вывести формулу, по которой можно сразу рассчитать

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

без необходимости читать предыдущие значения.

Первое, что можно сделать, это вынуть из-под знака суммы

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

.

Но сначала введем обозначения заданное количество аранжировок

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

агенты по

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

клетки, которые в

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

раз меньше:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Маленький алгебраический трюк

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Полное количество методов размещения теперь будет таким:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Аналогично для

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

, и после замены на

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

мы получаем:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

И мы можем сократить выражения для вероятностей факториалом:

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Где

Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

После введения новых обозначений необходимо переписать выражения для граничных условий.

Для дальнейших расчетов удобнее представить граничные условия в следующем виде:



  • Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    , в

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    ,

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    ;


  • Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    , в

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    ,

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    ;


  • Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

    , в

    Часть 2. Драконы.
</p><p>
 Комбинаторика мира Дракоша

Теги: #математика #искусственный интеллект #matlab #метод Монте-Карло #комбинаторика #искусственная жизнь #имитационное моделирование #эволюционное моделирование #многоагентные системы #генерирующие функции
Вместе с данным постом часто просматривают: