ИИ мечты: эмоции и иррациональность
Уже скоро нам снова будут лить в уши про то, что мощности современных квантовых компьютеров не хватает для имитации человека, а уж тем более - чувств и эмоций. Но почему мы должны им верить?
Изначально я делал анализ работы мозга (эмоции, сознание, сны) чтобы воспроизвести баги и таким образом воспроизвести сознание. Долго ли, коротко ли, но мне в руки попалась игра "Degrees of Lewdity", которая заставила меня ощутить себя спящим, а так же осознать, что нелюбовь к математике местных (игровых) учеников - это страх перед учителем.
Из этого родилось понимание, что (виртуально) эмоцией может быть любой навык. Но всё же, чтобы сделать универсальную модель, нам надо отвязаться от конкретной игры и выбрать какие-то минимальные универсальные правила.
В этой статье я хотел бы рассказать о моей "спарке" FPT и KASEOSA.
Hirasawa Susumu, Satoshi Kon
"Кирпичик" FPT
"Fear Passion Tense" - это базовый кирпичик эмоции, который я использую в своих набросках.
В целом, он избыточен, но для экономии ресурсов - очень даже хорош.
- Fear - Insequrity из DoL, "иррациональный страх" от трогания воспоминания с этим кирпичиком связанного.То есть: вы идёте по улице, всё нормально, но замечаете тень на ветке - и вот с воплем "гуки на деревьях!" вы скрываетесь за ближайшем укрытием. Просто несколько воспоминаний с предельным "Fear".
- Passion - "желаемость" этого действия, иррациональная тяга к нему. Психологическая зависимость.
- Tense - формальный параметр для учёта эмоциональной "напряжённости", нужно при расчётах.
FPTN это базовый кирпичик, который при испуге можно выложить. Он обеспечивает "иррациональность" поведения даже для ИИ сделанного в виде сценария в Twine.
Для разработчиков будет особенно интересно то, что это всего лишь 4 INT'a, при этом в расчётах непосредственно используется только 3 параметра.
Эмоциональная модель KASEOSA
Kaseosa - это сплав из Бартла и алайментов из ADnD. Если честно, то я удивлён, что никто не хвастался использованием такой схемы. Хотя, для того чтобы понять как её сделать достаточно быстрой в работе и, самое главное, применимой "в динамике" мне потребовалось поломать голову.
Если честно, по этой статье надо бы писать отдельный лонгрид, но мне очень не комфортно и душно. Стоит отметить, что я тут буду ссылаться на "стресс", который для простоты является виртуальным параметром, ну либо "Fear" из FPTN.
Опережая вопрос: "почему это - эмоции?" - отвечаю: эти параметры вычисляются динамически как реакция на окружающие НПЦ события. И по факту они становятся аналогами эмоций, которые задаются нейромедиаторами. Потому я предпочту назвать их эмоциями.
K (klr) - Bartle 2.0 "Killer"
Этот показатель указывает стремление персонажа к самоутверждению за счёт окружающих. Насколько он лучше.
Например, это может быть вычисление ожидаемого стресса у окружающих и вычисление соотношения. Скажем: "мой стресс вырос на 256 попугаев, стресс 256 окружающих на 65536 попугаев. Итого - бессмысленно".
A (ach) - Bartle 2.0 "Acheiver"
Этот показатель указывает стремление персонажа к самоутверждению за накопления, получения/усиления возможностей. Для него источником стресса является именно развитие: получил деньги? +возможности. Ограбили - СТРЕСС.
S (scl) - Bartle 2.0 "Socializer"
Этот показатель указывает насколько персонаж ценит окружающих, их эмпатию. Ему важен смех окружающих, их "входящая" оценка действий. В крайнем случае такой персонаж может действовать только при явном одобрении его действий со стороны.
По сути - это аналог "Good" из ADnD. Но нацеленный на "сиюсекундный" эффект. Само собой, высокий показатель K быстро создаст из клоуна - маньяка.
E (xpl) - Bartle 2.0 "Explorer"
Этот показатель указывает важность обучения, получения новых знаний. Это по сути что-то близкое к Acheiver'у, но не на хлам, а на знания. Т.е. Acheiver заберётся на край света ради дорогого коллекционного предмета. Explorer - ради информации об этом предмете и вообще потому что там никого ещё не было.
O (ord) - AD'n'D 3.x "Order" (Lawful-Chaotic)
Тут стресс анализируется "в долгую" и зависит от того, насколько персонаж следует Порядку.
Этот показатель указывает насколько персонаж придерживается Порядка. Какого - не суть важно, главное, чтобы он в него верил. Даже если его порядок это хаотичное следование пути Зла - он всё равно lawful - ведь он идёт по Правилу. Так же и с Хаотиком - если его правила другие - то он внезапно может быть очень "правильным". Пока ему это выгодно.
Если вам кажется, что это взаимоисключающие параграфы - прошу подписаться на Консультант+, ознакомиться с судебной практикой.
S (str) - AD'n'D 3.x "Strategy" (Good-Evil)
Этот показатель указывает какой из вариантов персонажу ближе: следовать за своими эгоистичными интересами или за Общественным Благом.
То есть - стресс зависит от того, насколько ему важно внешнее состояние низкого стресса и внутреннее.
A (act) - Bartle 3.0 "Activity"
Правильнее, в прочем, было бы назвать "Proactivity", но "P" уже занята.
Этот параметр указывает на то, насколько персонаж склонен к активности в событиях.
Очень проактивный персонаж - сам инициирует события и ввязывает окружающих ("О, гоблины! Мочиии!!!"), а очень не активный будет ждать события ("О, гоблины. Было бы интересно, если бы они напали").
Стресс, соответственно, от несовпадения ожиданий (кто должен нападать) и реальности (кто напал).
Примеры "миксовых" алайментов:
"Evil Killer" - типичный злой персонаж, самоутверждающийся страданиям остальных.
"Evil Socializer" - типичный самовлюблённый поц, который лицемерно радует окружающих, но ему важно только то, чтобы ему было хорошо.
"Evil Explorer" - типичный гуру-красноглазик, у которого совета допроситься невозможно.
"Good Explorer" - как хороший Анон: доставляет,и ему доставляет то, что это он доставляет.
"Good Killer" - паладин, который бьёт плохих ради хороших,
"Good Acheiver" - собирает помощь нуждающимся.
"Lawful Socializer" - охранитель-традиционалист. Не может пройти мимо творящегося разврата, наркомании и проституции, не осудив это.
Насколько это тяжело для компьютера?
В целом, это вполне самодостаточная система классификации, которая позволит за 7*3=21 параметр при наличии сценария имитировать жизнь персонажа с эмоциями.
Да, его поведение будет достаточно ограничено по вариациям (как будто взрослые так не живут, лол), зато за счёт разнообразия параметров - персонажи будут демонстрировать самые разнообразные сочетания, а общение с некоторыми из них будет чистым хождением по минному полю (всем женатикам - привет).
При работе это будет 21 вызов на каждую доступную ветку сценария/оценку, другой вопрос, что это можно делать "лениво". В целом, Дварвийская Крепость прекрасно справляется на одном ядре с такими задачами.
Workers&Resources: Soviet Republic.
Применение в играх.
Тут я снова советую обратить внимание на игры на движке Twine/KSP. По сути, у нас есть цепочки событий, но они прописываются не только для игрока, но и "с другой стороны".
Таким образом, НПЦ, участвующий в цепочке, начинает имитировать мышление игрока, считывая "главу", актуальную часть истории. Это значительно снижает когнитивную нагрузку на компьютер относительно полноценной симуляции высшей нервной деятельности. Из внезапных бонусов - "карточки истории" (мемы) вполне могут передаваться между персонажами, причём их эмоциональная оценка может быть записана динамически.
Возможно, будет интересно научить НПЦ проходить историю немного вперёд (как "маленькими шагами", так и "большими" используя всю "главу" как один шажок). Но тогда нужно будет решать уже вопрос с воображением и, по сути, бессознательным. А отсюда уже всего лишь 1 шаг до снов и раздвоения личности.
Подводя итог хочется отметить, что это всё ещё не разумный ИИ. Он всего лишь является продвинутым чат-ботом, который движется по сценарию, состоящему из фиксированных частей.