Искусственный интеллект. Системы, относящиеся к системам ии в настоящее время
Скачать 275 Kb.
|
MatLabЗарождение системы MATLAB относится к концу 70-х годов, когда первая версия этой системы была использована в Университете Нью Мехико и Станфордском университете для преподавания курсов теории матриц, линейной алгебры и численного анализа. В это время активно разрабатывались пакеты прикладных программ по линейной алгебре LINPACK и EISPACK на языке FORTRAN, и авторы системы MATLAB искали способы использовать эти пакеты, не программируя на языке FORTRAN. Сейчас возможности системы значительно превосходят возможности первоначальной версии матричной лаборатории Matrix Laboratory. Нынешний MATLAB - это высокоэффективный язык инженерных и научных вычислений. Он поддерживает математические вычисления, визуализацию научной графики и программирование с использованием легко осваиваемого операционного окружения, когда задачи и их решения могут быть представлены в нотации, близкой к математической. Наиболее известные области применения системы MATLAB: · математика и вычисления; · разработка алгоритмов; · вычислительный эксперимент, имитационное моделирование, макетирование; · анализ данных, исследование и визуализация результатов; · научная и инженерная графика; · разработка приложений, включая графический интерфейс пользователя. MATLAB - это интерактивная система, основным объектом которой является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками, существенно сокращая время, которое понадобилось бы для программирования на скалярных языках типа C или FORTRAN. Версия MATLAB 7 - это последнее достижение разработчиков; она содержит существенные изменения и улучшения в каждом разделе, начиная от встроенных математических функций и новых конструкций программирования и заканчивая новыми структурами данных, объектно-ориентированным подходом, новыми средствами визуализации и графическим интерфейсом пользователя. Фирма The MathWorks, Inc. поддерживает тесные связи с университетским миром и предлагает для образовательных версий значительные скидки. В настоящее время студенческая версия Student Edition of MATLAB ничем не отличается от коммерческой версии, но имеет невысокую цену и предназначена для студентов, работающих на персональном компьютере дома или в общежитии. Одно из назначений математики - служить языком общения между учеными и инженерами. Матрицы, дифференциальные уравнения, массивы данных, графики - это общие объекты и конструкции, используемые как в прикладной математике, так и в системе MATLAB. Именно эта фундаментальная основа обеспечивает системе MATLAB непревзойденную мощь и доступность. Стоит прислушаться к следующему афористичному мнению: "Причина, по которой MATLAB столь полезен для обработки сигналов, состоит в том, что он не проектировался специально для этой цели, а создавался для математиков". Система MATLAB - это одновременно и операционная среда и язык программирования. Одна из наиболее сильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы для многократного использования. Пользователь может сам написать специализированные функции и программы, которые оформляются в виде М-файлов. По мере увеличения количества созданных программ возникают проблемы их классификации и тогда можно попытаться собрать родственные функции в специальные папки. Это приводит к концепции пакетов прикладных программ (ППП), которые представляют собой коллекции М-файлов для решения определенной задачи или проблемы. В действительности ППП - это нечто большее, чем просто набор полезных функций. Часто это результат работы многих исследователей по всему миру, которые объединяются в зависимости от области применения - теория управления, обработка сигналов, идентификация и т. п. Именно поэтому пакеты прикладных программ - MATLAB Application Toolboxes, входящие в состав семейства продуктов MATLAB, позволяют находиться на уровне самых современных мировых достижений. PROLOGПролог (Prolog) — язык логического программирования, основанный на логике дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка. Разработка языка Prolog началась в 1970 г. Аланом Кулмероэ и Филиппом Русселом. Будучи декларативным языком программирования, Пролог воспринимает в качестве программы некоторое описание задачи, и сам производит поиск решения, пользуясь механизмом бэктрекинга и унификацией. Целью разработки языка Prolog было предоставить возможность задания спецификаций решения и позволить компьютеру вывести из них последовательность выполнения для этого решения, а не задание алгоритма решения задачи, как в большинстве языков. Интерес к Прологу поднимался и затихал несколько раз, энтузиазм сменялся жёстким неприятием. Наиболее высоко был поднят интерес к языку Пролог как к языку будущего во время разработок японской национальной программы компьютеры пятого поколения в 1980-х годах, когда разработчики надеялись, что с помощью Пролога можно будет сформулировать новые принципы, которые приведут к созданию компьютеров более высокого уровня интеллекта. Неправильная оценка этой перспективы явилась одной из причин неудачи проекта. В настоящее время Пролог, несмотря на неоднократные пессимистические прогнозы, продолжает развиваться в разных странах и вбирает в себя новые технологии и концепции, а также парадигмы императивного программирования. В частности, одно из направлений развития языка (в том числе и в России) реализует концепцию интеллектуальных агентов. Пролог реализован практически для всех известных операционных систем и платформ (в том числе для Java и .NET). В число операционных систем входят OS для мэйнфреймов, всё семейство Unix, Windows, OS для мобильных платформ. Многие современные реализации языка имеют внутреннее расширение за счет ООП-архитектуры. Кроме проприетарных решений также существуют реализации Пролог на условиях open source. Важно, что для языка существует стандарт ISO принятый как ISO/IEC JTC1/SC22/WG17. Базовым принципом языка является равнозначность представления программы и данных (декларативность), отчего утверждения языка одновременно являются и записями, подобными записям в базе данных, и правилами, несущими в себе способы их обработки. Сочетание этих качеств приводит к тому, что по мере работы системы Пролога знания (и данные и правила) накапливаются. Поэтому Пролог-системы считают естественной средой для накопления базы знаний. Очень интересно, что в России применялось одноименное ПО — «ПРОЛОГ» для реализации одного из самых амбициозных и технологически успешных проектов ВПК — «Буран». Также существуют весьма интересные, но спорные мнения и реализации по поводу применения Пролог в области задач искусственного интеллекта и экспертных систем. Пролог критикуется в первую очередь за свою недостаточную гибкость, отчего решения на обычных языках программирования (типа C++, Java) в сочетании с базами данных оказываются более технологичными, чем аналогичные решения на Прологе. Негибкость заключается в трудности изучения языка, более высоких требований к квалификации программиста на Прологе, трудности отладки программы, неразвитости технологии программирования, плохой контролируемости промежуточных результатов. Перспектива развития всемирной Сети, известной как проект Веб 2.0 поддерживает особый интерес к семантике распределенных данных и их обработке декларативными методами. В связи с этим появились концепции языка OWL основанного на концепции First-Order Logic(FOL) реализацию которой, в свою очередь, можно рассматривать как значительно более расширенную технику классического Prolog. Программные средства создания систем естественно-языкового общения Рассмотрим наиболее известные и широко применяемые программные средства искусственного интеллекта. Язык программирования Лисп. Самое популярное средство для программирования систем ИИ. Создан в 60-х годах американским ученым Дж. Маккарти и его учениками. Наиболее известными диалектами этого языка являются InterLisp, QLisp, CommonLisp. На языке Лисп написаны многие ЭС (Mycin, Internist, Kee), системы естественно-языкового общения (Margie, Shrdlu, Дилос), интеллектуальные ОС (Flex). Популярность Лиспа объясняется тем, что он с помощью довольно простых конструкций позволяет писать сложные и изящные системы обработки символьной информации. Правда все Лисп-системы имеют низкую вычислительную эффективность. Существенной особенностью языка Лисп является то, что здесь "данные" и "программы" внешне ничем не отличаются друг от друга. Это дает возможность писать на Лиспе программы, манипулирующие не только "данными", но и "программами". Именно данное свойство позволяет Лиспу стать изящным средством программирования систем ИИ. Язык программирования FRL (Frame Representation Language). Относится к классу фрейм-ориентированных языков. Фрейм в FRL - это совокупность поименованных, ассоциативных списков, содержащая до пяти уровней подструктур. Подструктурами фреймов могут быть слоты, аспекты, данные, комментарии и сообщения. Важным свойством FRL является наличие в нем встроенного механизма "наследования свойств". Т.е. все понятия предметной области в БЗ организовываются в виде иерархической классификационной системы, где каждое общее (родовое) понятие связывается с более конкретным (видом). Применяется механизм наследования свойств. На сегодняшний день большинство FRL-систем написаны на Лиспе. Язык программирования Пролог. Наиболее известные Пролог - системы: MProlog,CProlog, Prolog-2, Arity Prolog, Turbo Prolog, Strawberry Prolog. Пролог все чаще в последнее время стал привлекаться к разработке ЭС. Математической основой этого языка являются исчисление предикатов преимущественно первого порядка, метод резолюций Робинсона, теория рекурсивных функций. За счет наличия большого набора встроенных предикатов язык Пролог можно отнести к универсальным языкам программирования и даже к языкам системного программирования. Важнейшей особенностью языка является наличие реляционной базы данных. Язык программирования OPS. Язык относится к числу продукционных. Являясь универсальным языком, он, в первую очередь, предназначен для разработки систем ИИ, и, в частности экспертных систем. Архитектура языка OPS типична для продукционных систем: база правил, рабочая память и механизм вывода. Отличительные черты семейства языков OPS: программное управление стратегией вывода решений, развитая структура данных и принципиальная эффективность реализации. Язык программирования Рефал (рекурсивных функций алгоритмический язык). Это машинно-независимый алгоритмический язык, ориентированный на так называемые "символьные преобразования": перевод с одного языка на другой, алгебраические выкладки и т.п. Рефал - универсальный метаязык для преобразования объектов языковой природы. Важнейшим приложением Рефала является его использование в качестве метаязыка для построения системных макрокоманд и специализированных языков. В качестве конкретных областей применения Рефала следует отметить, в частности, создание специализированных языков общения с ЭВМ, автоматическую генерацию программ, перенос программ на языки высокого уровня и их адаптацию при переходе от одного типа ЭВМ к другому. Проблема выбора программных инструментальных средств вызывает бурные дискуссии между сторонниками специализированных языков ИИ и традиционных языков высокого уровня. Над решением данной проблемы работает целый ряд компаний, специализирующихся на ИИ и коммерческих ЭС, а также большинство крупных фирм по производству ЭВМ. Системы речевого общения В системах ЕЯ-общения обычно предполагается, что в качестве средства общения используется текст или письменная речь. Поэтому в системах ЕЯ-общения под текстом понимается орфографический текст (как пишется), а в системах речевого общения (СРО) используется фонемный текст (как слышится). В СРО решаются задачи преобразования «текст - речевой сигнал» (синтезатор речи) и «речевой сигнал - текст» (анализатор речи). Синтез речи - это возможность обработки текстовой или числовой информации, согласно установленным правилам произношения для конкретного языка, и преобразование ее в синтезированный голос, по восприятию близкий к человеческому. Анализ речи - это распознавание отдельных слов или слитной человеческой речи, с последующим ее преобразованием в текст либо последовательность команд. В настоящее время появляется много интересных разработок в области СРО. Одна из таких разработок - системы синтеза речи Sakrament text-to-speech engine компании «Сакрамент» (Mинск, Беларусь, http://www.sakrament.com), созданные с использованием собственных уникальных алгоритмов обработки звука, что позволило добиться высокого качества звучания синтезируемой речи и максимально приблизить компьютерную речь к человеческой. Эти системы синтеза речи ориентированы на применение в качестве голосовых информаторов в онлайновых телефонных информационных и справочных службах, всевозможных программных приложениях, Интернет-сервисах, бытовых и промышленных приборах и т.д. Система распознавания речи Sakrament Speech Recognition Engine выделяется хорошим качеством распознавания речи, низкой себестоимостью, а также возможностью дальнейшей модификации и настройки. Основная область применения - создание программ, управляющих действиями компьютера или другого электронного устройства с помощью голосовых команд, а также при организации телефонных справочных и информационных служб. В целом вопросом синтеза речи занимается в настоящее время большое число исследовательских групп, каждая из которых создает в конечном итоге свой программный продукт. «Клуб голосовых технологий» МГУ и фирма ПРОМТ создали «Magic Goody», компания Microsoft - Speech SDK, AT&T Германского исследовательского центра искусственного интеллекта - Verbmobil. Ведутся разработки также в Бийском технологическом институте совместно с Томским университетом систем радиоуправления и радиоэлектроники; в «Центре речевых технологий» г.С-Петербург; в компании «Истра-софт» г.Истра и других коллективах и компаниях Системы машинного перевода |