Создана переходная базовая версия Бота (скинул Palarm).
Самое главное в данной версии - избавление от предопределенных сочетаний базовых контекстов в эмоциях.
Теперь базовое Дерево имеет только один базовый уровень: Плохо, Норма, Хорошо.
Эмоции формируются из сочетаний, которые предусмотрены в http://go/base_reflex.php: сочетания базовых гомеостатических контекстов, но при этом Бот имеет возможность сам формировать любые сочетания первичных (базовых) эмоций.
Тех.подробности
Итак, на основе базовых контекстов (ContextesN) отзеркаливаются Базовые эмоции (BaseEmotions), сочетания активностей которых может быть произвольно изменено.
Именно они определяют активацию дерева.
Сделан массив базовых эмоций (BaseEmotions) по значению аналогичных массиву контекстов (ContextesN):
0- НОРМА, 1-ПЛОХО, 2-ХОРОШО
3-ВОЗБУЖДЕНИЕ, 4-ВЯЛОСТЬ, 5-ГОН, 6-ИГРОВОЙ, 7-СТРАХ, 8-АГРЕССИЯ, 9-ЗАЩИТНЫЙ, 10-ЗЛОСТЬ, 11-ДОБРОТА, 12-ПАССИВНОСТЬ, 13-ЛЮБОПЫТСТВО, 14-ОСТОРОЖНОСТЬ
Сначала - просто принимает значения от ContextesN, но затем может произвольно устанавливаться в сочетания активностей,
предусмотренных для node.ConditionA (а первые 3 члена - для node.ConditionG)
Переактивация происходит при принудительной активации ветки дерева (VolutionNodeActivation(node *levelModel))
При потере активности Гомункулуса BaseEmotions вновь становится == ContextesN
В случае критического отклонения параметров гомеостаза Энергия и Гон, соответствующие компоненты BaseEmotions уже не произвольны, а прямо зависят от ContextesN, Функция updateBaseEmotions() - занимается этим перед каждой активаций дерева.
ЗНАЧЕНИЯ (такие же как у ContextesN):
0- НОРМА, 1-ПЛОХО, 2-ХОРОШО, 3-ВОЗБУЖДЕНИЕ, 4-ВЯЛОСТЬ, 5-ГОН, 6-ИГРОВОЙ, 7-СТРАХ, 8-АГРЕССИЯ,
9-ЗАЩИТНЫЙ, 10-ЗЛОСТЬ, 11-ДОБРОТА, 12-ПАССИВНОСТЬ, 13-ЛЮБОПЫТСТВО, 14-ОСТОРОЖНОСТЬ
Функция постоянной адаптации массива BaseEmotions по активности Дерева и принудительной активации ветки дерева (VolutionNodeActivation(NodeFromID[154])) поддерживает актуальный эмоциональный фон, способный к произвольной коррекции
- через принудительные активации веток, при котором BaseEmotions приобретают активность базовых узлов активированной ветки.
Массив BaseEmotions фактически определяет состояние самоощущения Бота, его базовый контекст понимания с учетом произвольного его изменения.
В его контексте Ботом воспринимается смысл (значимость для него) всего происходящего.
2. Сделана более полная поддержка массива ВажныхСлов ImportantWordsArr (в psy_Important_Words.go) с записью и считыванием файла bot_files_next/psy_important_wordsArr.txt
В массиве ImportantWordsArr для каждого ВажгогоСлова сохраняется список ID узлов, где оно есть.
При каждой активации Дерева если есть ВажноеСлово в узле, то в ActivedImportantWord устанавливается ID его узла.
Теперь в Гомункулусе перед отработкой автоматизма не только привлекается внимание к ВажнымСловам, которых нет в активной ветке (значимая новизна условий), но и к ВажнымСловам, имеющимся в ветке - с помощью ActivedImportantWord так, что автоматизм может и быть заблокированным, если Гомункулус увидит, что так нельзя реагировать.
Этим сформирован отслеживающий уровень осознания (в котором на 99% пребывают кошки).
Теперь становится возможна произвольная активация Ботом сочетания базовых эмоций (BotVolutionEmotionActivation)
эмоциональный детектор Норма, Плохо, Хорошо (GetCurBaseEmotions())
Но более актуальным является переактивация эмоций при выборе Ботом автоматизма с иной эмоцией, т.е. если Бот решит среагировать автоматизмом узла хорошего настроения, то у него возникнет хорошее настроение на время пока не потребуется следующая переактивация. Это может уводить сколь угодно далеко от адекватности состоянию базовых гомеостатических контекстов, если бы не уровень функциональности Мотиватора, который будет разрабатываться в ближайшее время и кратко описан ниже.
3. Сделаны функции быстрого поиска по дереву (psy_Tree_Models_Searching.go):
точного соответствия фразы с Пульта,
соответствия слов в любом порядке,
соответствия точному порядку корней,
соответствия любому порядку корней,
нахождение любых веток с данным словом (корнем) - за счет ассоциативного массива,
сохраняющего адреса узлов Дерева с индексом данного слова.
Эти функции обеспечивают возможности ментальных автоматизмов.
Данная версия позволяет быстро и без глюков набивать Дерево фразами и автоматизмами на них (с помощью http://go/training.php и контроля http://go/tree_show.php)
для авторитарного периода обучения. При очистке памяти с Пульта (для начала нового обучения)
можно продолжать работу без перезагрузки.
Сейчас Дерево набито для контекста Минимальная энергия + максимальный Стресс некоторым фразами и автоматизмами, что видно на стр. http://go/tree_show.php.
Конец скрываемого блока
Теперь, посвятив годик набиванию отработки авторитарного периода (уровень "навыков Алисы", но с базой собственной мотивации и основой для произвольности), можно сохранить и использовать такую базу
для дальнейшего развития, для копирования, для коррекции навыков и т.п.
Но я не буду сейчас заниматься таким обучением, ограничившись только очень узким окном условий
для разработки дальнейшей, уже произвольной адаптивности.
Выяснилось, что контекст НОРМА – столь же важен по функциональности, как контекст ПЛОХО и важнее контекста ХОРОШО. Так что теперь есть доказательство необходимости существования такого контекста в природной реализации.
_____________________________________________________________________________
Перехожу к разработке структуры функциональности и взаимодействия уровня произвольности (ментальные автоматизмы).
Мент.автоматизмы - реализация предоставляемых деревом и эпиз.памятью возможностей
в направлении желаемого:
изменение эмоц.состояния для нахождения решения проблем,
поиски в эпизод.памяти и дереве,
сопоставление нескольких веток дерева для общего рассмотрения (с помощью стека на 10 веток дерева),
использование отзеркаленных решений или послать сообщение с просьбой подсказать, как достичь такую-то цель.
Целеобразующее желаемое будет формироваться в psy_motivation.go на сл.принципе.
В контексте ПЛОХО - только решение текущей проблемы от которой стало плохо, если это - не гомеостатическая проблема, то:
В контексте НОРМА на передний план выходят субъективные мотиваторы (желания):
1. неудовлетворенность существующим
2. желание быть полезным
3. получать удовольствие
Эти желание становятся Нерешенной Проблемой, переводящей в состояние ПЛОХО
и, при невозможности сразу решить ее, открывающей Доминанту Нерешенной Проблемы с механизмами ее реализации.
В psy_motivation.go по состоянию гомеостатических контекстов выбирается целеобразующий приоритет в виде активности одного из основных желаний.
Это - предопределенное выделение активностей. Но Бот может и произвольно изменить приоритеты.
Возможно, станет необходимым в соответствии с текущими условиями формирование Дерева ментальных автоматизмов - по аналогии с Деревом моторных автоматизмов. Но постараюсь максимально консервативно отнестись к этому чтобы избежать этого дерева.