Разум, машины и математика. Искусственный интеллект и его задачи
Шрифт:
* * *
SIMCITY И СЛОЖНЫЕ АДАПТИВНЫЕ СИСТЕМЫ
Города — прекрасные примеры сложных адаптивных систем. Компьютерная игра SimCity, позволяющая строить города и симулировать их жизнь, — прекрасная возможность познакомиться со сложными адаптивными системами: сама игра наполняет города жителями, генерирует социальную и рыночную активность и ставит игрока перед сложными ситуациями, требующими решения (разрушение коммуникаций или стихийные бедствия).
Еще одна компьютерная игра, дающая возможность познакомиться со сложными адаптивными системами, — Civilization, ее цель — создать целую конкурентоспособную цивилизацию с городами, путями сообщения, оборонительными сооружениями, заключить торговые договоры с соседями,
Город, построенный в игре SimCity.
Первое свойство: агрегирование
Агрегирование — это объединение простых сущностей, в результате которого образуется система, более сложная, чем сумма ее составных частей. Представьте себе муравейник и муравьев — адаптируемость всей колонии к изменениям среды намного выше, чем адаптируемость отдельного муравья. Простые сущности, образующие систему, называются агентами.
Агрегирование является рекурсивным процессом: агент, возникший в результате агрегирования других, более простых агентов, может объединиться с другими агентами того же или другого вида и образовать агрегированный агент второго уровня.
К примеру, результатом агрегирования конечной продукции, потребленной обществом, капиталовложений и государственных расходов будет валовый внутренний продукт страны.
Следует отметить, что коммуникация между элементами одной категории или между элементами, образующими объект более высокого уровня, не является частью агрегирования, однако без нее адаптация к среде невозможна.
Первый механизм: присвоение меток
Присвоение меток — механизм, активно упрощающий агрегирование агентов. Присвоение меток не только упрощает идентификацию агентов, но и помогает разрушить симметрию, часто возникающую при агрегировании в сложных системах. К примеру, если мы начнем вращать белый бильярдный шар в одном направлении и на его поверхности будут отсутствовать какие-либо метки, то наблюдатель едва ли сможет увидеть, что шар вращается, и тем более не сможет определить скорость вращения.
Если же мы нанесем на поверхность шара метку в любой точке за исключением тех двух, в которых ось вращения шара пересекает его поверхность, то наблюдатель легко сможет определить направление и скорость вращения.
Агенты при агрегировании помечаются множеством разных меток, начиная от штандартов с изображением орла — отличительных знаков римских легионов, и заканчивая сложными метками, которыми современные телекоммуникационные устройства помечают передаваемые сообщения (эти метки указывают, в каком порядке следуют части сообщения, чтобы получатель мог восстановить сообщение целиком, а также содержат сложные механизмы обнаружения возможных ошибок в сообщении или самой метке в процессе передачи). Разумеется, не все метки должны быть видимыми: к примеру, млекопитающие обоих полов, принадлежащие к определенным видам, в период спаривания выделяют невидимые глазу вещества — феромоны.
Метки упрощают избирательное взаимодействие между агентами, так как позволяют различать экземпляры одного и того же класса агентов или различные составные части агента. На основе меток возможна реализация фильтров, схем сотрудничества, а также видообразование. Агенты также могут сохранять агрегированное состояние, и их метки будут оставаться неизменными, даже если будут меняться составные части агента более высокого уровня. По сути, нанесение меток — механизм, упрощающий организацию агентов и коммуникацию между ними.
Второе свойство: нелинейность
Свойство линейности лежит в основе множества математических дисциплин, начиная от арифметики и заканчивая алгебраической
Использование линейных методов в математике и инженерном деле настолько важно, что сегодня большая часть профессиональной деятельности любого инженера и ученого заключается в поиске линейных функций, максимально точно описывающих те или иные явления природы. К сожалению, ни один из этих методов неприменим для изучения сложных адаптивных систем. По сути, одна из важнейших особенностей таких систем заключается в том, что их совокупное поведение намного сложнее суммы поведений отдельных частей, из чего, по определению, следует нелинейность.
Прекрасный пример, иллюстрирующий нелинейности в природе и сложных адаптивных системах, — взаимодействие «производитель — потребитель» и его частный случай — взаимодействие «хищник — жертва». Представьте себе лес, где живет D хищников (например, лис) и Р жертв (например, зайцев). Если вероятность того, что лиса поймает зайца, равна с, то ежедневно в лапы лис попадает с•Р•D зайцев. К примеру, если с = 0,5, D = 3 и Р = 10, то лисы поймают с •Р•D = 0,5•3•10 = 15 зайцев. Если число лис и зайцев увеличится вчетверо, число пойманных зайцев возрастет еще больше: с•Р•D = 0,5•12•40 = 240. Как видите, этот результат нельзя получить простым сложением числа хищников и жертв.
Даже в сравнительно простой ситуации нелинейность может серьезно повлиять на агрегированную систему. Поэтому всегда говорят, что совокупное поведение сложной адаптивной системы сложнее, чем поведение ее составных частей.
* * *
МОДЕЛЬ ЛОТКИ — ВОЛЬТЕРРЫ
Уравнения, описывающие пример с лисами и зайцами, могут значительно усложняться. Исследователь Альфред Джеймс Лотка описал, как изменятся эти уравнения, если мы будем учитывать колебания численности хищников и жертв с течением времени. Допустим, что D(t) и P(t) — численность хищников и жертв в момент времени t. В каждый момент времени рождается n и умирает m хищников. Следовательно, формула, описывающая изменение численности хищников с течением времени, записывается так: D(t + 1) = D (t) + nD(t) — mD(t). Аналогично изменение численности жертв описывается уравнением: Р(t + 1) = Р(t) + n'Р(t) — mV(t). Следует учесть, что рост числа жертв означает рост рождаемости хищников, что можно выразить, к примеру, с помощью постоянной r.
Число взаимодействий «жертва — хищник», как мы показали, равно cPD. Следовательно, новое уравнение, описывающее численность хищников, будет выглядеть так:
D(t+1) = D(t) + nD(t) — mD(t) + r[cP(t)•D(t)]
Изменение численности жертв будет происходит прямо противоположным образом: при любом взаимодействии «хищник — жертва» численность жертв будет сокращаться. Уравнение численности жертв будет иметь вид:
P(t+1) = P(t) + r[P(t) — m'P(t) — r[cP(t)•D(t)].
Если теперь мы зафиксируем значения постоянных и будем решать эти уравнения для последовательных моментов времени, то увидим, что D(t) и P(t) будут колебаться, а хищники и жертвы будут последовательно переживать циклы изобилия и голода.