2007 г.
Оглавление
Введение. 3
Инструментальные
средства разработки экспертных систем. 5
MatLab. 10
PROLOG.. 13
Заключение. 16
Список
использованных источников. 17
Искусственный интеллект – самое молодое
научное направление. Появление его было подготовлено развитием мощности
вычислительных машин.
Искусственный интеллект занимает
исключительное положение. Это связано со следующим:
1.
часть функций программирования в настоящее время
оказалось возможным передать машине. При этом общение с машиной происходит на
языке, близком к разговорному. Для этого в ЭВМ закладывают огромную базу
знаний, способы решения, процедуры синтеза, программы, а также средства
общения, позволяющие пользователю легко общаться с ЭВМ.
2.
В связи с внедрением ЭВМ во все сферы человеческой
жизни становится возможным переход к безбумажной технологии обработки
информации.
3.
Если раньше производство ориентировалось на
обязательное участие человека, то в настоящее время находят применение
безлюдные технологии, основанные на роботизации и автоматизации системы
управления.
4.
Интеллектуальные системы в настоящее время начинают
занимать ведущее положение в проектировании образцов изделий. Часть изделий
невозможно спроектировать без их участия.
Системы, относящиеся к системам ИИ в настоящее
время:
1.
Экспертные системы. Первые системы, которые нашли
широкое применение. Их элементы используются в системах проектирования, диагностики,
управления и играх. Основаны на вводе знаний высококвалифицированных
специалистов (экспертов) в ЭВМ и разработке специальной системы по их
использованию.
2.
Системы естественно - языкового общения
(подразумевается письменная речь). Данные системы позволяют производить
обработку связанных текстов по какой – либо тематике на естественном языке.
3.
Системы речевого общения. Состоят из двух частей:
·
системы восприятия речи
·
системы воспроизведения речи.
4.
Системы обработки визуальной информации. Находят
применение в обработке аэрокосмических снимков, данных, поступающих с датчиков,
роботов и автоматизированных систем.
5.
Системы машинного перевода. Подразумеваются
естественные языки человеческого общения.
6.
Системы автоматического проектирования. Без этих
систем не может обойтись ни одно крупное машиностроительное предприятие.
Экспертные системы (ЭС) - это системы
искусственного интеллекта (интеллектуальные системы), предназначенные для
решения плохоформализованных и слабоструктурированных задач в определенных
проблемных областях, на основе заложенных в них знаний специалистов-экспертов.
В настоящее время ЭС внедряются в различные виды человеческой деятельности, где
использование точных математических методов и моделей затруднительно или вообще
невозможно. К ним относятся: медицина, обучение, поддержка принятия решений и
управление в сложных ситуациях, деловые различные приложения и т. д.
Основными компонентами ЭС являются базы данных
(БД) и знаний (БД), блоки поиска решения, объяснения, извлечения и накопления
знаний, обучения и организации взаимодействия с пользователем. БД, БЗ и блок
поиска решений образуют ядро ЭС.
Для конструирования ЭС используются различные
инструментальные средства: универсальные языки программирования, языки
искусственного интеллекта, инструментальные системы и среды и системы-оболочки.
Системы-оболочки являются наиболее простым средством формализации
(автоформализации) экспертных знаний, практически не требующие участия
посредников в лице инженера по знаниям или программиста при их использовании.
Инженер по знаниям только помогает эксперту выбрать наиболее подходящую для его
проблемной области оболочку.
Известны три основные разновидности исполнения
экспертных систем:
• - Экспертные системы, выполненные в
виде отдельных программ, на некотором алгоритмическом языке, база знаний которых
является непосредственно частью этой программы. Как правило, такие системы
предназначены для решения задач в одной фиксированной предметной области. При построении
таких систем применяются как традиционные процедурные языки PASCAL, C и др., так
и специализированные языки искусственного интеллекта LISP, PROLOG.
• - Оболочки экспертных систем -
программный продукт, обладающий средствами представления знаний для определенных
предметных областей. Задача пользователя заключается не в непосредственном
программировании, а в формализации и вводе знаний с использованием
предоставленных оболочкой возможностей. Недостатком этих систем можно считать
невозможность охвата одной системой всех существующих предметных областей.
Примером могут служить ИНТЕРЭКСПЕРТ, РС+, VP-Expert.
• - Генераторы экспертных систем -
мощные программные продукты, предназначенные для получения оболочек, ориентированных
на то или иное представление знаний в зависимости от рассматриваемой предметной
области. Примеры этой разновидности - системы KEE, ART и др..
Системы EXSYS и GURU относятся к системам
дедуктивного продукционного типа, причем система GURU (в ее современной версии,
ориентированной на рабочие станции) по сути является инструментальной средой,
поддерживающей различные режимы конструирования прикладных ЭС и обладающей
достаточно развитыми средствами обработки фактора неопределенности. Эта система
ориентирована на различные классы пользователей в зависимости от их подготовки
в области искусственного интеллекта и программирования, имеет развитый
интерфейс с современными СУБД и электронными таблицами, средства сбора
статистики и т. д. Система может работать на различных вычислительных
платформах под управлением различных операционных систем, а также имеет
поддержку сетевой конфигурации.
Экспертная система Exsys представляет собой
интеллектуальную систему, которая может быть использована для разработки базы
знаний в любой предметной области. При этом знания представляются в виде
продукционных правил. В систему включены средства отладки и тестирования
программы, редактирования для модификации знаний и данных.
В списке наиболее распространенных в настоящее
время за рубежом экспертных систем и их оболочек можно выделить следующие
наименования: INSIGT, LOGIAN, NEXPERT, RULE MASTER, KDS, PICON, KNOWLEDGE
CRAFT, KESII, S1, TIMM и др.
В качестве критериев, по которым можно судить
о возможности создания экспертной системы следует отметить следующие:
1. - Необходимость символьных
рассуждений, очевидно, нет смысла разрабатывать экспертную систему для
численных расчетов, например, для преобразований Фурье, интегрирования, решения
систем алгебраических уравнений и др.
2. - Наличие экспертов, компетентных в
избранном круге вопросов, которые согласны сотрудничать при создании ЭС.
3. - Поставленная проблема должна быть достаточно
важной и актуальной. Это могут быть проблемы, требующие высокого уровня
экспертизы, либо простые, но трудоемкие многократно повторяющиеся проверки. Нет
смысла тратить время на решение проблем, которые возникают редко и могут быть разрешены
человеком с обычной квалификацией.
4. - Необходимо четко ограничивать круг решаемых
задач, т.е. предметная область выбирается достаточно "узкой", чтобы
избежать "комбинаторного взрыва" объема информации необходимой для
компетентного решения поставленной задачи.
5. - Необходима согласованность мнений экспертов
о том, как следует решать поставленные задачи, какие факты необходимо
использовать и каковы общие правила вынесения суждений. В противном случае
невозможно расширить базу знаний за пределы опыта одного человека и осуществить
сплав экспертных знаний из нескольких областей.
6. - Должно быть достаточно исходных данных
для проверки работоспособности экспертной системы в выбранной предметной
7. области, чтобы разработчики смогли убедиться
в достижимости некоторого заданного уровня ее функционирования.
8. - Должна обеспечиваться возможность постепенного
наращивания системы. База знаний должна легко расширяться и корректироваться,
так как правила часто меняются с появлением новых фактов.
Ценность использования ЭС проявляется в
следующих аспектах:
a) - В сборе, оперативном уточнении, кодировании
и распространении экспертных знаний.
b) - В эффективном решении проблем, сложность
которых превышает человеческие возможности и для которых требуются экспертные знания
нескольких областей.
c) - В сохранении наиболее уязвимой ценности
коллектива - коллективной памяти.
Экспертная система позволяет решить проблему сохранения
экспертных знаний, связанную с утратой наиболее квалифицированных экспертов в
результате их продвижения по службе, смерти, перехода на другую работу или
выхода на пенсию, а также позволит сделать знания легко доступными для тех, кто
займет места ушедших экспертов.
Экспертная система VP-Expert представляет
собой "пустую" оболочку, хорошо зарекомендовавшую и получившую достаточно
широкое распространение. ее применение возможно на IBM совместимых персональных
компьютерах с операционной системой MS DOS, имеющих не менее 256 К оперативной памяти
и адаптеры графических дисплеев подобные CGA, EGA или HERKULES. Важной
особенностью оболочки, существенно расширяющей ее возможности, является
совместимость с файлами созданными dBASE II, dBASE III и dBASE III+.
Зарождение системы 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 началась в 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.
Нами были расмотрены некоторые
инструментальные средства разработки систем ИИ. Создание ИИ – задача
трудоемкая. Для сложного ИИ необходимо представлять область применения, базы
данных для обработки, специалистов для отладки, компетентных инженеров и
программистов. Для создания же простой ИИ необходим лишь навык работы с каким –
либо готовым программным средством разработки ИИ, как MatLab или Prolog. Но с
возрастанием компьютеризации и мощности ПК можно говорить о скором
возникновении таких видов Искуственного интеллекта, которые смогут пройти тест
Тьюринга, получать призы Лёбнера, и будут во всём неотличимы от человека.
1. Материалы сайта http://ru.wikipedia.org/wiki/Тест_Тьюринга.
2. Левин Р. и др. Практическое введение в технологию искусственного
интеллекта и экспертных систем с иллюстрациями на Бейсике.- М., 1991.
3. Шихов Е. Варианты реализации искусственного интеллекта – ресурс
Интернета, http://neural.narod.ru/, 2002.
4. Квасный Р. Искусственный интеллект – ресурс Интернета, http://neural.narod.ru/,
2001.