История возникновения и развития языка Prolog. Рассмотрение императивных и декларативных языков программирования. Элементы экспертной системы: база знаний, механизм вывода и система пользовательского интерфейса. Описание предикатов и предложений.
Одним из наиболее значительных достижений искусственного интеллекта стала разработка мощных компьютерных систем, получивших название "экспертных" или основанных на "знаниях" систем. Такие задачи часто возникают в следующих областях: авиация, космос и оборона, нефтеперерабатывающая промышленность и транспортировка нефтепродуктов, химия, энергетика, металлургия, целлюлозно-бумажная промышленность, телекоммуникации и связь, пищевая промышленность, машиностроение, транспорт, медицина и фармацевтическое производство, административное управление, прогнозирование и мониторинг. Под экспертной системой (ЭС) будем понимать программу, которая использует знания специалистов (экспертов) о некоторой конкретной узко специализированной предметной области и в пределах этой области способна принимать решения на уровне эксперта-профессионала. Основу успеха ЭС составили два важных свойства, отмечаемые рядом исследователей: - в ЭС знания отделены от данных, и мощность экспертной системы обусловлена в первую очередь мощностью базы знаний и только во вторую очередь используемыми методами решения задач; В системах первого типа осуществляется выбор решения из множества известных решений на основе анализа знаний, в системах второго типа решение синтезируется из отдельных фрагментов знаний.Название языка "PROLOG" происходит от слов логическое программирование (PROGRAMMING in LOGIC - в английском). В 1965 году в работе "A machine oriented logic based on the resolution principle", опубликованной в 12 номере журнала "Journal of the ACM", Дж Робинсон представил метод автоматического поиска доказательства теорем в исчислении предикатов первого порядка, получивший название "принцип резолюции". В 1973 году "группа искусственного интеллекта" во главе с Аланом Колмероэ создала в Марсельском университете программу, предназначенную для доказательства теорем. В 1977 году в Эдинбурге Уоррен и Перейра создали очень эффективный компилятор языка PROLOG для ЭВМ DEC-10, который послужил прототипом для многих последующих реализаций PROLOG. Как правило, если современная PROLOG-система и не поддерживает эдинбургский PROLOG, то в ее состав входит подсистема, переводящая прологовскую программу в "эдинбургский" вид.Можно представлять базу знаний состоящей из фактических знаний и знаний, которые используются для вывода других знаний. Механизм вывода "знает", как использовать базу знаний так, чтобы можно было получать разумно согласующиеся заключения (выводы) из информации, находящейся в ней. Когда экспертной системе задается вопрос, механизм вывода выбирает способ применения правил базы знаний для решения задачи, поставленной в вопросе. Фактически, механизм вывода запускает экспертную систему в работу, определяя какие правила нужно вызвать и организуя к ним доступ в базу знаний. Когда механизм вывода возвращает знания, выведенные из базы знаний, интерфейс передает их обратно пользователю в удобной форме.Базу знаний заполняем характеристиками четырех типов темперамента. Сангвиник - живой, горячий, подвижный человек, с частой сменой настроения, впечатлений, с быстрой реакцией на все события, происходящие вокруг него, довольно легко примиряющийся со своими неудачами и неприятностями. Холерик - быстрый, страстный, порывистый, однако совершенно неуравновешенный, с резко меняющимся настроением с эмоциональными вспышками, быстро истощаемый. Меланхолик - человек легко ранимый, склонный к постоянному переживанию различных событий, он мало реагирует на внешние факторы. Флегматик неспешен, невозмутим, имеет устойчивые стремления и настроение, внешне скуп на проявление эмоций и чувств.Созданная на TURBO PROLOG ЭС состоит из следующих разделов: - database - раздел описания предикатов внутренней базы данных;Внутренняя база данных состоит из фактов, которые можно динамически, в процессе выполнения программы, добавлять в базу данных и удалять из нее, сохранять в файле, загружать факты из файла в базу данных. Эти факты могут использовать только предикаты, описанные в разделе описания предикатов базы данных. Описание предикатов базы данных совпадает с их описанием в разделе описания предикатов predicates. Разница между этими предикатами заключается в том, что предикат asserta добавляет факт перед другими фактами (в начало внутренней базы данных), а предикат assertz добавляет факт после других фактов (в конец базы данных).В разделе, озаглавленном зарезервированным словом predicates, содержатся описания определяемых пользователем предикатов. Домены аргументов должны быть либо стандартными, либо объявленными в разделе описания доменов.Этот раздел можно считать основным разделом программы, потому что именно в нем содержатся факты и правила, реализующие пользовательские предикаты. При попытке удовлетворения цели TURBO PROLOG работает с самого начала раздела clauses, просматривая в процессе поиска последовательно каждый факт или правило.В ЭС "Тип темперамента" в самом теле программы
План
Содержание
Введение
1. Общие сведения о PROLOG
2. Разработка экспертной системы
2.1 Формирование базы знаний
2.2 Структура программы ЭС
2.2.1 Раздел описания предикатов внутренней базы данных
Одним из наиболее значительных достижений искусственного интеллекта стала разработка мощных компьютерных систем, получивших название "экспертных" или основанных на "знаниях" систем. В современном обществе при решении задач управления сложными многопараметрическими и сильносвязанными системами, объектами, производственными и технологическими процессами приходится сталкиваться с решением неформализуемых либо трудноформализуемых задач. Такие задачи часто возникают в следующих областях: авиация, космос и оборона, нефтеперерабатывающая промышленность и транспортировка нефтепродуктов, химия, энергетика, металлургия, целлюлозно-бумажная промышленность, телекоммуникации и связь, пищевая промышленность, машиностроение, транспорт, медицина и фармацевтическое производство, административное управление, прогнозирование и мониторинг. Наиболее значительными достижениями в этой области стало создание систем, которые ставят диагноз заболевания, предсказывают месторождения полезных ископаемых, помогают в проектировании электронных устройств, машин и механизмов, решают задачи управления реакторами и другие задачи.
Под экспертной системой (ЭС) будем понимать программу, которая использует знания специалистов (экспертов) о некоторой конкретной узко специализированной предметной области и в пределах этой области способна принимать решения на уровне эксперта-профессионала.
Осознание полезности систем, которые могут копировать дорогостоящие или редко встречающиеся человеческие знания, привело к широкому внедрению и расцвету этой технологии в 80-е, 90-е годы прошлого века. Основу успеха ЭС составили два важных свойства, отмечаемые рядом исследователей: - в ЭС знания отделены от данных, и мощность экспертной системы обусловлена в первую очередь мощностью базы знаний и только во вторую очередь используемыми методами решения задач;
- решаемые ЭС задачи являются неформализованными или слабоформализованными и используют эвристические, экспериментальные, субъективные знания экспертов в определенной предметной области.
Основными категориями решаемых ЭС задач являются: - извлечение информации из первичных данных (таких как сигналы, поступающие от гидролокатора);
- диагностика неисправностей (как в технических системах, так и в человеческом организме);
- структурный анализ сложных объектов (например, химических соединений);
- выбор конфигурации сложных многокомпонентных систем (например, распределенных компьютерных систем);
- планирование последовательности выполнения операций, приводящих к заданной цели (например, выполняемых промышленными роботами).
Для классификации ЭС используют следующие признаки: - способ формирования решения;
- способ учета временного признака;
- вид используемых данных;
- число используемых источников решения знаний.
По способу формирования решения ЭС можно разделить на анализирующие и синтезирующие. В системах первого типа осуществляется выбор решения из множества известных решений на основе анализа знаний, в системах второго типа решение синтезируется из отдельных фрагментов знаний.
В зависимости от способа учета временного признака ЭС делят на статические и динамические. Статические ЭС предназначены для решения задач с неизменяемыми в процессе решения данными и знаниями, а динамические ЭС допускают такие изменения.
По видам используемых данных и знаний различают ЭС с детерминированными и неопределенными знаниями. Под неопределенностью знаний и данных понимаются их неполнота, ненадежность, нечеткость.
ЭС могут создаваться с использованием одного или нескольких источников знаний.
Экспертные системы делятся на различные виды в зависимости от решаемых задач. Задачи, которые решают экспертные системы: Интерпретация - описание ситуации по информации, поступающей от датчиков и других источников.
Наблюдение - сравнение результатов интерпретации с ожидаемыми результатами.
Мониторинг - наблюдение в определенные промежутки времени.
Прогноз - это определение вероятных последствий заданных ситуацией, системы прогнозирования основываются на имитационном моделировании, которое отражает связи в реальный мир.
Диагностика - выявление причин неправильного функционирования системы по результатам наблюдения.
Ремонт - выполнение последовательности предписанных исправлений.
Планирование - построение последовательности действий для достижения желаемого результата.
Проектирование - построение конфигурации объектов с учетом ограничений.
Отладка - составление рецептов исправления неправильного функционирования системы, настройка отладочной системы.
Управление - адаптивное руководство поведения системы в целом (наблюдает, чтобы отследить на протяжении времени, классифицирует, диагностирует это отклонение, находит рецепт его устранения и осуществляет его применение).
Обучение - диагностирование, отладка, ремонт поведения обучаемого.
Важную роль при создании ЭС играют инструментальные средства. Среди инструментальных средств для создания ЭС наиболее популярны такие языки программирования, как LISP и PROLOG, а также экспертные системы-оболочки (ЭСО): KEE, CENTAUR, G2 и GDA, CLIPS, АТ_ТЕХНОЛОГИЯ, предоставляющие в распоряжение разработчика - инженера по знаниям широкий набор для комбинирования систем представления знаний, языков программирования, объектов и процедур.
В качестве языка программирования в данной курсовой работе был выбран PROLOG.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы