Языки ориентированные на разработку экспертных систем

Автор работы: Пользователь скрыл имя, 22 Января 2012 в 19:23, реферат

Описание работы

Другие подобные программы — поисковые или справочные (энциклопедические) системы. По запросу пользователя они предоставляют наиболее подходящие (релевантные) разделы базы статей (представления об объектах областей знаний, их виртуальную модель). Например, в Википедии аналогами статических визардов являются её структуры (типы данных, в терминологии ООП - классы и интерфейсы) - категории, списки, шаблоны, порталы, которые по названию объекта выдают пользователю все его имеющиеся для данной структуры Википедии аттрибуты.

Содержание работы

Введение…………………………………………………………………….3
1.Четыре категории инструментальных программ, применяемые при проектировании………………………………………….4
1.1 Оболочки экспертных систем…………………………………………4
1.2 Языки программирования высокого уровня………………………….4
1.3 Среда программирования, поддерживающая несколько парадигм…5
1.4 Дополнительные модули………………………………………………5
2.Языки программирования высокого уровня……………………………7
2.1Языки описания порождающих правил……………………………….7
2.2Объектно-ориентированные языки…………………………………...10
2.3Языки логического программирования экспертных систем………..12
Заключение………………………………………………………………..14
Список источников………………………………………………………..16

Файлы: 1 файл

языки ориентированные на разработку экспертных систем. Андрианов А.А. 07-С1.doc

— 109.50 Кб (Скачать файл)

     2.2Объектно-ориентированные языки

     Мы  уже обращали внимание на то, что формат правил хорошо согласуется с представлением знаний в форме "при выполнении условий Сь ..., С„ выполнить действие А", но менее подходит для описания сложных объектов и отношений между ними. Языки объектно-ориентированного программирования предоставляют в распоряжение программиста альтернативную программную среду для организации знаний в терминах декларативного представления объектов предметной области. Все, связанное с процедурной стороной решения проблем, распределяется между этими объектами, которые в таком случае располагают собственными процедурами и могут общаться друг с другом посредством протоколов передачи сообщений. Другим приятным аспектом объектно-ориентированного программирования является возможность использования таких стилей представления знаний, которые не встречаются в исчислении предикатов и в порождающих правилах. Вместо "размывания" знаний об объекте предметной области между множеством правил или аксиом, на которые они ссылаются, эти знания концентрируются в едином месте — в программном описании объекта. Эта концентрация является виртуальной в том смысле, что нет необходимости, чтобы вся информация об объекте предметной области хранилась в соответствующем ему программном объекте, но любая команда или запрос к этому объекту может быть реализована только через посылку сообщения этому объекту.

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

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

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

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

     2.3Языки логического программирования экспертных систем

     Критически  оценивая первый опыт применения инструментальных средств типа оболочек при проектировании экспертных систем, в частности опыт использования EMYCIN, многие исследователи полагали, что более перспективным является альтернативный подход, основанный на логическом программировании. Например, предполагалось, что порождающие экспертные системы, аналогичные MYCIN, могут быть довольно просто реализованы на языке PROLOG . Правила можно представить в виде фраз Хорна, в которых головной (позитивный) литерал соответствует заключению, а прочие (негативные) литералы будут соответствовать условиям.

     Встроенный  в PROLOG режим управления приблизительно соответствует стратегии обратного  логического вывода, которая используется в системах, подобных MYCIN. Таблицы  знаний и другие данные можно представить  с помощью утверждений. Рекурсивные структуры данных — графы и деревья — можно организовать с помощью фраз языка PROLOG, которые содержат комплексные термы. Языковые средства PROLOG позволят программисту разработать собственный механизм обработки неопределенности, причем не исключается и использование коэффициентов уверенности.

     С практической точки зрения, пользуясь  языком PROLOG, программист в качестве "бесплатного приложения" получает в свое распоряжение следующие возможности:

  • индексированную базу данных фраз, которые можно использовать для представления правил, процедур или данных;
  • универсальный механизм сопоставления, который позволяет выполнять сопоставление данных и шаблонов, включающих переменные, и возвращать подстановку, которая может обеспечить их совпадение;
  • стратегию управления (поиск в глубину — depth-first search), основанную на правилах нисходящего поиска (фразы, которые размещены в базе данных ближе к "голове", обрабатываются первыми) и вычислении слева направо (подцели обрабатываются в том порядке, в котором они перечислены в списке).

     Действительно, дедуктивную порождающую систему  довольно ПРОСТО эмулировать на языке PROLOG. Можно без особого труда  разработать и простой интерпретатор, реализующий стратегию построения прямой цепочки вывода. Модификация рабочей памяти выполняется операторами assert и retract, которые добавляют или удаляют формулы из базы данных. Мы уже знаем , как можно организовать локальное управление ходом процесса в системе, основанной на фреймах, как организовать обработку значений по умолчанию и исключений, хотя эти методы и не вписываются в стандартную логику. Успешный опыт применения идей логического программирования, в частности создание программы МЕСНО продемонстрировал ряд явных отклонений от синтаксиса исчисления предикатов первого порядка и его процедурной интерпретации в стандартной версии PROLOG. Некоторые семантические и синтаксические ограничения в программах МЕСНО и PLANNER до сих пор не преодолены в системах, базирующихся на языках логического программирования. 
 
 
 
 
 

     Заключение 

     В результате выполнения данной проекты, посвященной проблемам построения экспертных систем, были получены следующие  выводы.

     Написание экспертных систем требует сравнительно больших трудозатрат и материальных ресурсов. Чтобы избежать дорогостоящих и безуспешных попыток необходимо определить, является ли проблема подходящей для решения с помощью экспертной системы:

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

     • Невозможно использовать знания человека – эксперта там, где это необходимо. Если экспертные знания широко распространены, то маловероятно, что стоит разрабатывать экспертную систему. Однако, в таких областях, как разведка нефти и медицина, могут быть редкие специализированные знания, которыми можно недорого снабдить экспертную систему, и не использовать очень высоко оплачиваемого эксперта.

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

     Проблема  хорошо структурирована и не требует применения знаний, основанных на здравом смысле. Знания, основанные на здравом смысле, хорошо известны, поэтому их незачем фиксировать и представлять.

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

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

     Экспертная  система, пусть даже с элементами искусственного интеллекта, останется  лишь инструментом грамотного пользователя: инженера, изобретателя, учёного, способным многократно повысить эффективность их работы. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

     Список  источников 

  1. Автоматизированное  проектирование информационно-управляющих  систем. Проектирование экспертных систем на основе системного моделирования: [Монография]/ Науч. ред.: Куликов Г.Г. – Уфа: Уфим. гос. авиац. техн. ун-т, 1999. – 223 с.
  2. Инжиниринг информационных и деловых процессов: Сб. науч. тр. / М-во общ. и проф. образования Рос. Федерации. Моск. гос. ун-т экономики, статистики и информатики; [Редкол.: Ю.Ф. Тельнов (отв. ред.) и др.]. – М.: Моск. гос. ун-т экономики, статистики и информатики, 1998. – 137 с.
  3. Информатика: учебник / Под. ред. проф. Н.В. Макаровой. – М.: Финансы и статистика, 1997. – 768 с.
  4. Компьютерные технологии обработки информации: Учеб. пособие / С.В. Назаров, В.И. Першиков, В.А. Тафинцев и др.; Под ред. С.В. Назарова. – М.: Финансы и статистика, 1995. – 248 с.
  5. Красилов А.А. Основы информатики. Определение и концепции // Учебное пособие, МФТИ, – М., 1990. – 80 с.
  6. Красилов А.А., Горельков А.Л. Стили программирования. – М., МФТИ, 1986. – 83 с.
  7. Попов Э.В. Экспертные системы. Решение неформализованных задач в диалоге с ЭВМ. – М.: Наука, 1987. – 288 с.
  8. Справочник. Искусственный интеллект. В 3-х книгах. – М., Радио и связь, 1990.
  9. Уотермен Д. Руководство по экспертным системам: Пер. с англ. – М.: Мир, 1989. – 388 с., ил.
  10. Уотермен Д. Руководство по экспертным системам: Пер. с англ. – М.: Мир, 1989.
  11. Уотермен Д. Руководство по экспертным системам: Пер. с англ. – М.: Мир, 1989.
  12. Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. Учебник. — СПб: Питер, 2000.
  13. Субботін С. О. Подання й обробка знань у системах штучного інтелекту та підтримки прийняття рішень: Навчальний посібник. — Запоріжжя: ЗНТУ, 2008. — 341 с.
  14. http://ru.wikipedia.org/ Википедия – свободная энциклопедия
  15. http://knowledge.allbest.ru/programming/d-2c0a65625b3ac68b5c53b88521216c37.html
  16. http://otherreferats.allbest.ru/programming/00070280_0.html
  17. http://knowledge.allbest.ru/programming/2c0a65625b3ac68b5c53b88521216c37_0.html
  18. http://life-prog.ru/view_ekspertnie_systemi.php?id=7
  19. http://www.itfru.ru/index.php/expert-systems
  20. http://www.aiportal.ru/articles/expert-systems/design-tools.html
  21. http://www.coolreferat.com/%D0%AD%D0%BA%D1%81%D0%BF%D0%B5%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B_6

Информация о работе Языки ориентированные на разработку экспертных систем