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

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

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

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

правая центральная область изображения;

должно быть означено;

должно быть видимым; если нет. рассмотреть перемещение вправо;

должно быть субфреймом "грань куба";

использует совместно с гранью В терминал левой вертикальной границы;

при неудаче рассмотреть фрейм "ящик, лежащий на боку";

тот же цвет фона, что и у грани В.

3. Управление. При получении сведений о трансформации (например, о предстоящем перемещении) выбранный фрейм передает управление соответствующему фрейму той же системы.

При более подробном рассмотрении этой схемы управления видно, что в ней содержатся возможности для использования многих видов знаний. Если попытка задания значений терминалам не удается, то результирующее сообщение об ошибке может быть использовано для выбора альтернативного варианта. Пользуясь этим, ниже рассмотрим вариант организации памяти в виде сети подобия, как это сделано в работе П.Уинстона(1970).

1.5. Носит ли зрительное восприятие символьную форму

Можно ли действительно предполагать, что восприятие человеком трехмерных объектов столь фрагментарно и атомистично, что оно может быть представлено в терминах отношений между элементами двухмерных изображений? Давайте сразу же отделим друг от друга эти два вопроса: являются ли зрительные образы символьными и основаны ли они на двухмерных конструкциях. Первый вопрос имеет особое значение; не вызывает сомнения, что на некотором уровне зрительное восприятие протекает в основном в символьной форме. Разногласия могут быть между теми, кто, с одной стороны, придерживается несколько наивных концепций и считает вое приятие либо картиноподобным, либо протекающим на основе оперирования с воображаемыми геометрическим телами, и теми, кто, с другой стороны, основываясь на экспериментальных данных (см. Ж.Пиаже, Б.Инельдер,1956 и др.), доказывает, что многие возможные ограничения, вытекающие из символьных представлений, и в самом деле существуют.

Так, нам известно, что дети в своем творчестве, особенно в графике (впрочем, это относится и к взрослым) пользуются набором весьма ограниченных символьных ингредиентов (см., например, Е.Гомбрих(1959)). Перспективы и заслонения обычно представляются не такими, какие они есть на самом деле, а с помощью определенных условностей. Метрические соотношения сильно искажены; сложные формы изображаются с помощью специальных знаков, которые не пользуются для представления наиболее существенны! признаков. Представители "наивной" точки зрения обычно не признают подобных ухищрений и придерживаются мнения, что люди действительно "видят и манипулирую! образами, подобными картинам" так, что это нельзя объяснить с помощью дискретных описаний.

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

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

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

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

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

ОС и Сети / Программирование / Книги по IT
C++
C++

С++ – это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы. Ключевым понятием С++ является класс. Класс – это тип, определяемый пользователем. Классы обеспечивают сокрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. С++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline-подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В С++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. С++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из С++ программ можно использовать C библиотеки, и с С++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C. Эта книга предназначена главным образом для того, чтобы помочь серьезным программистам изучить язык и применять его в нетривиальных проектах. В ней дано полное описание С++, много примеров и еще больше фрагментов программ.

Бьёрн Страуструп , Бьярн Страустрап , Мюррей Хилл

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

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

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