Главная > Оптика > Оптические вычисления
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

10.2.4. Сравнительные характеристики символьных и цифровых вычислений

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

Логический вывод является аналогом операции с плавающей запятой. В то время как операция с плавающей запятой является основным видом операций при работе с цифровыми символами, процедуры получения логических выводов применяются при работе с гораздо более широким классом символов, используемых в символьных вычислениях. Логические выводы получают за счет создания определенных комбинаций элементов знаний или группы объектов с целью получения каких-либо заключений. Для логических выводов, которые получают с помощью силлогизмов (двухступенчатых утверждений «если/тогда»), конкретные способы организации графических связей, сравнения фреймов или методов получения логических выводов существенно зависят от представления использованных знаний (системы продукций, семантической сети, фреймов или соответственно исчисления предикатов первого порядка). Комбинирование и обработка структур символьных данных (например, объектов и их признаков) с помощью логических выводов составляют основу для наиболее мощных методик проведения рассуждений в символьных вычислениях.

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

Рис. 10.9. Признаки символьных и цифровых вычислений.

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

Вопрос о возможности использования неточной или неполной информации демонстрирует читателям суть различий между использованием символьных и цифровых данных. Алгоритмы, использовавшиеся в цифровых компьютерах, обладают слабыми возможностями для получения корректных цифровых выходных данных на основе качественных описаний или неполных цифровых входных данных. Выходные данные зависят от точности входных данных, поскольку все наиболее существенные процедуры сводятся к комбинациям цифровых объектов. С другой стороны, характерным свойством большинства символьных представлений данных является то, что заключения могут быть получены чисто качественно, путем получения определенных соотношений, описывающих функциональные свойства. Это возможно даже тогда, когда входная информация является неполной или в некоторых случаях неточной. Следует заметить, что такие методики находятся на переднем крае сегодняшних исследований символьных вычислений и составляют дисциплину, называемую проведением рассуждений по неполным данным [3].

Вполне очевидно, что для реализации всех возможностей символьных вычислений, таких как использование неточных или неполных знаний при проведении рассуждений, требуются специальные языки программирования. Следует заметить, что языки цифрового программирования, такие как Фортран, в руках умелого программиста могли бы использоваться и в символьных вычислениях. Однако они предназначены для определенных применений и сделали бы аналоговое программирование очень трудной задачей. Язык Лисп и его основные версии Интерлисп и Маклисп создают такую среду программирования, которая существенно облегчает обработку символьных выражений, характеризуемых гибкими структурами данных. Семантические значения объектов изменяются непосредственно при расширении или сокращении переменного списка признаков.

Другой существенной характеристикой языка Лисп является его рекурсивная природа; любая функция языка Лисп может вызывать саму себя, и любая программа может быть определена содержащимися в ней самой понятиями. Такая способность облегчает поиск списков неопределенной длины в процедуре поиска заданных элементов (свойств), содержащихся в списках.

Язык Пролог («программируемая логика») сильно отличается от описанного выше языка Лисп. Язык базируется на правилах системы продукций, и использует методики сравнения образцов, чтобы доказать или опровергнуть какие-либо утверждения программы. В основе языка лежит применение исчисления предикатов для установления соотношений между объектами. Основной операцией в языке Пролог является логическое доказательство некоторых условий или соотношений исходя из набора более простых условий.

На рис. 10.9 указано (шестым по порядку) характерное свойство символьных систем, заключающееся в независимости процедуры управления от знаний, имеющихся по конкретной проблеме. При этом в символьных вычислениях понятие управления распространяется на любой процесс, явно или неявно влияющий на порядок выполнения процедур, осуществляемых с целью решения задачи [34]. Указанное важное свойство ярко проявляется в экспертных системах (обсуждаемых в разд. 10.5.3), где фактическая структура стратегии решения может быть рекурсивно изменена на основе поправок, внесенных в процессе совершенствования программы. В этом отношении ситуация сильно отличается от случая цифровых вычислений, где изменения и даже «условные» ветви в программе вводятся в систему заранее. Именно указанная независимость базы знаний от управляющих процедур позволяет экспертной системе «shell» быть достаточно мощным средством, чтобы применяться сразу в нескольких проблемных областях. Примером также служит тот факт, что хотя программа MYCIN была вначале разработана в целях медицинской диагностики бактериальных инфекций, она тем не менее может быть использована для создания базы знаний в области кристаллографии, предназначенной для специалистов по росту кристаллов. Вместо хранения правил, отражающих симптомы болезней, бактерии и лекарственные средства, база знаний должна содержать правила, относящиеся к методикам измерения кристаллографических структур, и рекомендации по методикам роста кристаллов. В области цифровых методов нельзя, например, взять программу, предназначенную для разработки интегральных схем со сверхвысокой степенью интеграции, и приспособить ее для проектирования линз лишь за счет изменения входных данных.

Способ внесения изменений в символьные программы также

отличается от цифровых методов. Если требуется изменить программу цифрового компьютера, то целая программа или по крайней мере ее часть, куда требуется внести изменения, должна быть выведена из системы, отредактирована и вновь введена в систему; в это же время должен быть перекомпилирован весь (или большая часть) машинный код. При работе с языком Лисп можно модифицировать программу без таких процедур. И программы, и наборы данных в языке Лисп записаны в одном и том же виде, с одним и тем же синтаксисом. В результате этого Лисп-программа может преобразовывать другую программу или базу данных, реализованную на языке Лисп. Она может автоматически исправлять некорректные правила или знания и, кроме того, может выводить вызывающие подозрения правила или знания для контроля оператором, который в свою очередь может вносить изменения в диалоговом режиме без повторной компиляции всей программы. Такие программные средства обладают очень большими возможностями и позволяют оператору организовать специальные «окна» в программе, и таким образом видеть в реальном времени все происходящие изменения в базе знаний или структуре правил. В настоящее время такая форма программного обеспечения не доступна цифровым компьютерам, в которых используются специальные отладочные циклы, требующие существенных затрат времени на поиск ошибок, повторную запись команд, компиляцию, прогоны, поиск новых ошибок, повторную перезапись, компиляцию, прогон и т. д.

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

выше возможность в любом случае создает у пользователя чувство уверенности в своем компьютере.

Рассмотрев сходства и различия между символьными и цифровыми вычислениями, читатель может понять некоторые из способов, с помощью которых символьные вычисления могут быть применены к реальным практическим задачам. На основе ранее проведенного обсуждения вопросов представления знаний и стратегий поиска в следующем разделе будет показано, как эти методики приобретают конкретный вид и могут быть трансформированы, а также каким образом они могут привести к затруднениям при работе. Это особенно справедливо по отношению к процессу поиска, который очень часто является причиной возникновения «узких мест» в системах ИИ. Обнаружение путей, по которым оптика может быть применена для выполнения этих операций, может быть ключом к оптическим символьным вычислениям. До обсуждения данного вопроса рассмотрим круг проблем, связанных с использованием символьных вычислений в задачах распознавания речи, системах технического зрения и распознавания образов, обработки естественного языка и экспертных системах.

<< Предыдущий параграф Следующий параграф >>
Оглавление