Читаем Фреймы для представления знаний полностью

С этой целью, во-первых, полезно найти и выделить в разнообразных возможных действиях общие универсальные фрагменты, с помощью которых можно компоновать эти действия. Очевидно, из т таких универсальных фрагментов в пределе можно скомпоновать (1!+2!+3!+:+ m!) разнообразных действий. Если даже ограничить число используемых для описания действия фрагментов величиной m , т.е. имеет место колоссальный выигрыш в использовании памяти, тем больший, чем больше т.

Во-вторых, необходимо стремиться так построить программы, входящие в модель реального мира для робота, чтобы каждая из них была способна формировать широкий набор (в пределе бесконечный) разнообразных действий, варьируемых, например, в зависимости от характера информации, собираемой определенной группой сенсоров, или от модификации приказов.

<p>Глава 2. </p><p>Характерные особенности фрейм-подхода к проблеме представления знаний</p>

Одним из возможных новых путей организации машинной модели реального мира является подход, развиваемый М.Минским. В соответствии с этим подходом знания о мире - машинная модель реального мира - должны быть представлены в памяти ЭВМ в виде достаточно большой совокупности определенным образом структурированных данных, представляющих собой стереотипные ситуации. Эти структуры запомненных данных получили название "фреймы". В случае возникновения конкретной ситуации, например, необходимости совершить роботом, управляемым ЭВМ, определённое действие, воспринять с помощью сенсоров, связанных с ЭВМ, какой-то зрительный образ и т.д., из памяти ЭВМ должен быть выбран фрейм, соответствующий данному классу ситуаций и согласован с рассматриваемой конкретной ситуацией из этого класса путем изменения подробностей, т.е. путем конкретизации данных из набора, которые могут удовлетворить выбранный фрейм.

Так как фрейм можно представить себе в виде сети, состоящей из узлов и связей между ними, то каждый узел должен быть заполнен своим "заданием", представляющим собой те или иные характерные черты ситуации, которой он соответствует. В общем случае во фрейме можно выделить несколько уровней, иерархически связанных друг с другом. Узлы фрейма, принадлежащие к верхним уровням, представляют собой более общие вещи, которые всегда справедливы в отношении предполагаемой ситуации. Эти узлы уже заполнены своими заданиями. Например, узел самого верхнего уровня фрейма обычно заполнен названием ситуации, т. е. названием зрительного образа (это может быть, например, "куб"), названием действия (например, "уборка комнаты"). Узлы нижних уровней по большей части не заполнены своими заданиями. Такие незаполненные узлы называют терминалами. Они должны быть заполнены конкретными данными, представляющими собой их возможные задания в процессе приспособления фрейма к конкретной ситуации, из того класса ситуаций, который представляет данный фрейм. Каждый терминал может устанавливать условия, которым должны отвечать его задания. Простые условия устанавливаются "маркерами", которые могут потребовать, например, чтобы заданием терминала было какое-то лицо, какой-то предмет достаточной величины, какое-то элементарное действие или "указатель" на какой-то другой фрейм, представляющий собой другую, обычно более частную ситуацию и называемый субфреймом. Более сложные условия могут устанавливать связи между заданиями для нескольких терминалов.

Группа фреймов может объединяться в систему фреймов. Результаты характерных действий отражаются с помощью трансформаций между фреймами системы. Они используются, чтобы ускорить вычисления определенных видов при представлении типичных изменений одной и той же ситуации.

В случае зрительного образа различные фреймы системы описывают картину с различных точек наблюдения, а трансформация одного фрейма в другой отражают результаты перемещения из одного места в другое. Для фреймов певизуальных видов различия между фреймами системы могут отражать действия, причинно-следственные связи и изменения понятийной точки зрения. Различные фреймы системы используют одни и те же терминалы. Это важное обстоятельство, благодаря которому, в частности, экономится объем памяти ЭВМ, используемой для построения модели реального мира. Характерной чертой описываемого подхода является возможность использования различных видов прогнозов, ожиданий, предположений. В соответствии с этим терминалы фрейма, выбираемого для представления ситуации, обычно уже заполнены заданиями, которые наиболее вероятны в данной ситуации. Эти задания называются "заданиями отсутствия".

Таким образом, фрейм может содержать большое число деталей, которые могут и не подтвердиться данной ситуацией. Задания отсутствия "непрочно" связаны со своими терминалами, поэтому они могут быть легко "вытеснены" другими заданиями, которые лучше подходят к текущей ситуации.

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

А. Алексашин , Дэвид Томас , Эндрю Хант

Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT