Интеллектуальное программирование.
Теперь можно перейти к четвертому основному направлению в искусственном интеллекте - программистскому взгляду на эту область.
Общая структура исследований в этом направлении показана на Рис. 6.
Рис. 6
Среди огромного количества языков программирования, созданных для различных целей, в работах по искусственному интеллекту используется мизерная часть, в подавляющем большинстве случаев из ранее известных языков используется Лисп и все его многочисленные версии, куда меньше используется Паскаль или Си. Зато именно искусственный интеллект породил Пролог (в самом начале он был стимулирован к жизни работами в области машинного перевода, но Р. Ковальский понял, что в идее клаузальных логических выражений и в процедурах вывода кроется куда более общая идея). Вместе с прологом родилось и некоторое семейство языков программирования, в основе которых лежит идея логического вывода. На сегодняшний день все специалисты в области искусственного интеллекта за небольшим исключением работают на Лиспе или на Прологе.
Языки логического программирования расцветали вместе с идеей, что логический вывод есть основа всех процессов решения задач в искусственном интеллекте (расцвет Лиспа был связан с предшествующим этапом развития искусственного интеллекта, когда считалось, что основой всех процессов решения задач являются хорошо организованный перебор и поиск). Сейчас начинает казаться, что на смену языкам типа Пролога должны придти языки программирования, в которых основной конструкцией является объект и его свойства и признаки. Такие объектно-ориентированные языки уже появились, наиболее известным их представителем является Смолток. Парадигма, связанная языками такого типа состоит в том, что решение задач может мыслиться, как манипулирование с понятиями, обобщающими объекты, с помощью которых описываются предметные области.
Особняком стоят языки для представления знаний. Таковы языки, ориентированные на фреймы KL-1, КRL, FRL, или язык Пилот, ориентированный на модель знаний в виде продукций. Пока таких языков немного и они не достигли еще уровня, на котором можно конкурировать с мощным программным окружением таких языков, как Лисп или Пролог.
Весьма не быстро развиваются работы, связанные с автоматическим программированием. Обе ветви этих работ; создание нужных программ из готовых модулей по специфицированному описанию исходной задачи на основании некоторой дедуктивной системы, осуществляющей синтез путем процедуры, напоминающей логический вывод (программа как бы "извлекается" из траектории вывода) и индуктивный способ генерирования программ на основе обучения на множестве примеров, пока дали достаточно скромные результаты. Но энтузиасты рассчитывают, что трудности преодолимы.
Наиболее бурно развиваются работы в области создания инструментальных систем, предназначенных для быстрого проектирования и разработки самых разнообразных интеллектуальных систем. Общая идея тут состоит в том, чтобы создать некоторую систему-прототип, затратив на ее создание достаточно много усилий. Но затем использовать для решения задач в конкретной предметной области.
Если в системе-прототипе заранее зафиксированы все средства заполнения базы знаний и манипулирования знаниями в ней, но сама база знаний не заполнена, то такая инструментальная система называется "пустой". Чтобы "настроить" ее на некоторую предметную область, инженер по знаниям должен, используя готовую форму представления знаний, ввести в базу знаний всю необходимую информацию о предметной области. После этого система-прототип превращается в готовую интеллектуальную систему.
Сейчас интерес к "пустым" системам резко уменьшился. Оказалось, что даже для однотипных предметных областей переход из одной области к другой может потребовать модификации тек или иных средств для манипулирования знаниями, а иногда и формы представления знаний. Поэтому основные усилия разработчиков сейчас направлены на создание систем-оболочек. В таких инструментальных системах имеется возможность при переходе к конкретной системе варьировать в достаточно широких пределах форму представления знаний и способы манипулирования ими. Конечно, такая гибкость требует больших затрат на создание системы- оболочки, но эти затраты оправданы. В этой области уже получены интересные результаты, и именно здесь программисты, специализирующиеся в области интеллектуальных программных систем, ожидают большого прорыва в интеллектуальное программирование завтрашнего дня.
Системы когнитивной графики - новое направление в интеллектуальном программировании. В персональных ЭВМ имеются достаточно развитые графические средства, но они как бы оторваны от остальных средств, существуют автономно, но одна из центральных идей искусственного интеллекта - это идея о том, что суть самого феномена интеллекта состоит в совместной работе двух систем переработки информации, зрительной, создающей образную картину мира, и символической, способной к абстрактному мышлению, к оперированию с понятиями, интегрирующими образы внешнего мира. Возможность перехода от зрительной картины к ее текстовому (символическому) описанию и от текста к некоторой зрительной картине, могущей быть представительницей этого текста, составляют, по- видимому, основу того, что называется мышлением.
Символьная система изучена достаточно хорошо. Успехи искусственного интеллекта определяются тем, что символьная система достаточно хорошо изучена и промоделирована в искусственных системах. Со зрительной системой дело обстоит хуже. Мы пока еще не слишком много знаем о том, как хранятся зрительные образы в памяти человека, как они обрабатываются и, что самое главное, как они соотносятся с текстами, им соответствующими.
Когнитивная графика как раз и занимается приемами соотнесения текстов и зрительных картин через общее представление знаний, интегрирующих тексты и зрительные образы. Это направление в искусственном интеллекте признается всем, как весьма перспективное. Его развитие даст новый виток развития наших представлений о способах решения задач, стимулирующих развитие систем параллельной обработки, создаст предпосылки перехода к новой технологии решения задач.
Пока в этом направлении делаются первые шаги. Появились программы, которые занимаются оживлением картин на экране дисплея, первые программы, в которых оживление происходит не на основании жестких процедур, как при создании мультипликации, а в соответствии с некоторыми текстами на ограниченном естественном языке, вводимых в систему, но исследования в этом направлении неуклонно расширяются, и специалисты считают, что в девяностых годах в этой области будут получены новые фундаментальные результаты.
Контрольные вопросы.
1. Что включает в себя интеллектуальное программирование?
2. Какие основные языки программирования используются в искусственном интеллекте?
3. Какой язык породил искусственный интеллект?
4. Объясните по какой причине появился объектно-ориентированный язык Смолток.
5. Назовите какие языки относятся к языкам представления знаний.
6. Какова общая идея создания инструментальных систем?
7. В каком случае инструментальная система называется пустой?
8. Почему сейчас основные усилия разработчиков направлены на создание систем-оболочек?
9. Что именно составляет основу мышления?
10. Объясните чем занимается когнитивная графика.
Дата добавления: 2015-02-10; просмотров: 3751;