ПУД
Подсистема ПУД вызывается тогда, когда АЕЯ и БНП поняли входное сообщение в соответствии с замыслом пользователя. Для построения ответной реакции на понятое сообщение используется некоторое множество правил типа „если — то“.
Полная КЗ, представляющая значение входного сообщения, помещается в стек, и правила поочередно проверяются на соответствие их левой части той КЗ, которая находится в начале стека. Если происходит совпадение, то выполняется действие, предписываемое данным правилом. Это действие может состоять в том, чтобы послать команды робототехнической системе, вывести некоторые КЗ и дополнить ими стек, обратиться с запросом к базе знаний МЭРФИ или задать вопросы пользователю (это делается путем отсылки понятий в КГ). Таким образом, ПУД — это отчасти система, основанная на правилах, отчасти система решения задач, действующая по принципу сведения одних задач к другим, а частично — автомат, выводящий умозаключения на основе знаний. Его действие описывается следующим алгоритмом:(1) Начать работу, когда в стек будет помещено некоторое целевое понятие.
(2) Найти первое правило, левая часть которого соответствует понятию, находящемуся в начале стека; если стек пуст, то передать управление АЕЯ, который будет ждать очередного сообщения пользователя.
(3) Оставить стек и выполнить действие, предписываемое этим правилом.
(4) Перейти к (2).
Хотя ПУД и не выполняет большого объема поисковой работы в рамках процесса понимания, оставаясь последовательными, мы должны заметить, что все же работу этой программы можно рассматривать как выполнение поискового процесса. Поскольку действие, предписываемое правилом, может помещать понятия в стек, ПУД может фактически просматривать дерево понятий и выполнять таким образом, по существу, тот же процесс, что и АЕЯ и БНП.
5.6.