Фреймы для представления знаний | страница 62
Глава четвертая
Управление
4.1. Централизация управления
Выше уже затрагивался вопрос о процессах, которые манипулируют системами фреймов. Далее я не буду касаться тех аспектов, которые связаны с длительным управлением процессами мышления, включая такие проблемы, как многоцелевое управление, распределение времени между задачами, распределение памяти, энергетических и других видов ресурсов.
В значительно более короткие промежутки времени — назовем их эпизодами — деятельность механизмов человеческого мышления и понимания, как я это себе представляю, направлена на то, чтобы отыскать подходящий в данной ситуации (будь то планирование или распознавание образов) фрейм и заполнить задания отсутствия его терминалов конкретными данными. Это дает нам возможность представить крупные проблемы в виде совокупности более мелких, а также затрагивает все обычные вопросы эвристического программирования, например:
ПОИСК СВЕРХУ — ВНИЗ ИЛИ ГОРИЗОНТАЛЬНЫЙ. Следует ли вначале обойти все терминалы или же попытаться осуществить полное заполнение пробелов одного, центрального терминала? В действительности, ни тот, ни другой вариант не следует считать достаточно хорошим. Человек обычно стремится «семь раз отмерить и один раз отрезать», однако всегда должна существовать возможность немедленной обработки субфреймов, вызванных интересным или неожиданным событием.
ЦЕНТРАЛЬНОЕ УПРАВЛЕНИЕ. Должен ли фрейм после своей активации взять на себя управление и руководить заполнением своих собственных пробелов, или же эта операция должна вестись под руководством какого-то центрального процесса? И здесь ни одна из этих двух стратегий не является наилучшей. Ни демон, ни любой другой локальный процесс не может обладать знаниями обо всей ситуации в целом, достаточными для принятия правильных решений; однако ни один «руководитель» верхнего уровня не может знать требуемое количество подробностей.
Видимо, оба вопроса следует попытаться решить на основе, предложенной У.Мартином(1974) в противовес идее о «поддержке» и задуманной как стратегия обращения с ошибками и неудачами. Нельзя ни передавать управление подчиненным структурам, ни полностью сосредоточить его на верхнем уровне; поэтому нам требуется такой интерпретатор, который имел бы доступ и к целям верхнего уровня, и к работе отдельных демонов. Терминалы различных типов нуждаются в различных типах процессов, поэтому одной стратегией здесь не обойтись. Заполнение пробелов терминала стены фрейма комнаты предусматривает поиск и заполнение конкретными данными субфрейма «стена» более низкого уровня, в то время как конкретизация терминала «дверь» предусматривает присоединение фрейма комнаты к фрейму дома. Для включения в каждый фрейм данных относительно действий подобного типа каждый терминал мог бы указывать интерпретатору на те инструкции, где сказано, как собирать нужную информацию и как реагировать в случае трудностей и различного рода неожиданностей.