Введение
Одним из наиболее значительных достижений искусственного интеллекта стала разработка мощных компьютерных систем, получивших название "экспертных" или основанных на "знаниях" систем. В современном обществе при решении задач управления сложными многопараметрическими и сильносвязанными системами, объектами, производственными и технологическими процессами приходится сталкиваться с решением неформализуемых либо трудноформализуемых задач. Такие задачи часто возникают в следующих областях: авиация, космос и оборона, нефтеперерабатывающая промышленность и транспортировка нефтепродуктов, химия, энергетика, металлургия, целлюлозно-бумажная промышленность, телекоммуникации и связь, пищевая промышленность, машиностроение, транспорт, медицина и фармацевтическое производство, административное управление, прогнозирование и мониторинг. Наиболее значительными достижениями в этой области стало создание систем, которые ставят диагноз заболевания, предсказывают месторождения полезных ископаемых, помогают в проектировании электронных устройств, машин и механизмов, решают задачи управления реакторами и другие задачи.
Под экспертной системой (ЭС) будем понимать программу, которая использует знания специалистов (экспертов) о некоторой конкретной узко специализированной предметной области и в пределах этой области способна принимать решения на уровне эксперта-профессионала.
Осознание полезности систем, которые могут копировать дорогостоящие или редко встречающиеся человеческие знания, привело к широкому внедрению и расцвету этой технологии в 80-е, 90-е годы прошлого века. Основу успеха ЭС составили два важных свойства, отмечаемые рядом исследователей:
- в ЭС знания отделены от данных, и мощность экспертной системы обусловлена в первую очередь мощностью базы знаний и только во вторую очередь используемыми методами решения задач;
- решаемые ЭС задачи являются неформализованными или слабоформализованными и используют эвристические, экспериментальные, субъективные знания экспертов в определенной предметной области.
Основными категориями решаемых ЭС задач являются:
- извлечение информации из первичных данных (таких как сигналы, поступающие от гидролокатора);
- диагностика неисправностей (как в технических системах, так и в человеческом организме);
- структурный анализ сложных объектов (например, химических соединений);
- выбор конфигурации сложных многокомпонентных систем (например, распределенных компьютерных систем);
- планирование последовательности выполнения операций, приводящих к заданной цели (например, выполняемых промышленными роботами).
Для классификации ЭС используют следующие признаки:
- способ формирования решения;
- способ учета временного признака;
- вид используемых данных;
- число используемых источников решения знаний.
По способу формирования решения ЭС можно разделить на анализирующие и синтезирующие. В системах первого типа осуществляется выбор решения из множества известных решений на основе анализа знаний, в системах второго типа решение синтезируется из отдельных фрагментов знаний.
В зависимости от способа учета временного признака ЭС делят на статические и динамические. Статические ЭС предназначены для решения задач с неизменяемыми в процессе решения данными и знаниями, а динамические ЭС допускают такие изменения.
По видам используемых данных и знаний различают ЭС с детерминированными и неопределенными знаниями. Под неопределенностью знаний и данных понимаются их неполнота, ненадежность, нечеткость.
ЭС могут создаваться с использованием одного или нескольких источников знаний.
Экспертные системы делятся на различные виды в зависимости от решаемых задач. Задачи, которые решают экспертные системы:
Интерпретация - описание ситуации по информации, поступающей от датчиков и других источников.
Наблюдение - сравнение результатов интерпретации с ожидаемыми результатами.
Мониторинг - наблюдение в определенные промежутки времени.
Прогноз - это определение вероятных последствий заданных ситуацией, системы прогнозирования основываются на имитационном моделировании, которое отражает связи в реальный мир.
Диагностика - выявление причин неправильного функционирования системы по результатам наблюдения.
Ремонт - выполнение последовательности предписанных исправлений.
Планирование - построение последовательности действий для достижения желаемого результата.
Проектирование - построение конфигурации объектов с учетом ограничений.
Отладка - составление рецептов исправления неправильного функционирования системы, настройка отладочной системы.
Управление - адаптивное руководство поведения системы в целом (наблюдает, чтобы отследить на протяжении времени, классифицирует, диагностирует это отклонение, находит рецепт его устранения и осуществляет его применение).
Обучение - диагностирование, отладка, ремонт поведения обучаемого.
Важную роль при создании ЭС играют инструментальные средства. Среди инструментальных средств для создания ЭС наиболее популярны такие языки программирования, как LISP и PROLOG, а также экспертные системы-оболочки (ЭСО): KEE, CENTAUR, G2 и GDA, CLIPS, АТ_ТЕХНОЛОГИЯ, предоставляющие в распоряжение разработчика - инженера по знаниям широкий набор для комбинирования систем представления знаний, языков программирования, объектов и процедур.
В качестве языка программирования в данной курсовой работе был выбран PROLOG.