Экспертная система, ее достоинства и недостатки
Краткий исторический очерк
Технология экспертных систем является одним из направлений новой области исследований, называемой искусственным интеллектом(ИИ, AI – Artificial Intellegence). По известному определению Бара и Файгенбаума:
Искусственный интеллект(ИИ) – это область информатики, которая занимается разработкой интеллектуальных компьютерных систем, т.е. систем, обладающих возможностями, которые мы традиционно связываем с человеческим разумом, - понимание языка, обучение способность рассуждать, решать проблемы и т.д.
Первые попытки моделировать процесс мышления были предприняты в 60-х годах 20-го века. В те годы специалисты в области ИИ пытались найти общие методы для решения широкого класса задач и использовать их в универсальных программах. Разработка универсальных программ оказалась слишком сложна, кроме того, выяснилось, что чем универсальнее программа, тем скуднее ее возможности при решении конкретной проблемы.
|
|
В 70-е годы усилия были направлены на разработку общих методов и приемов программирования, пригодных для более специализированных программ. Постепенно стало ясно, что эффективность программы при решении задачи зависит от знаний, которыми она обладает, а не только от используемых ею формализмов и схем вывода. К концу 70-х гг. была принята принципиально новая концепция:
Чтобы сделать программу интеллектуальной, ее нужно снабдить множеством высококачественных специальных знаний о некоторой предметной области.
Это привело к развитию специализированных программных систем, каждая из которых является экспертом в узкой предметной области. Эти программы получили название экспертных систем.
Определим экспертную систему(ЭС), как программную систему, использующую экспертные знания для обеспечения высокоэффективного решения задач в узкой предметной области.
Пол И. Джонсона, ученый, отдавший много лет исследованию поведения экспертов-людей, очень точно описывает тех, кого мы называем экспертом:
«Эксперт – это человек, который благодаря обучению и опыту может делать то, что мы все, остальные люди, делать не умеем; эксперты работают не просто профессионально, но к тому же уверенно и эффективно.
Эксперты обладают огромными познаниями и пользуются различными приемами и уловками для применения своих знаний к проблемам и заданиям; они также умеют быстро переворошить массу несущественной информации, чтобы добраться до главного, и хорошо умеют распознавать в проблемах, с которыми сталкиваются, примеры тех типовых проблем, с которыми они уже знакомы. В основе поведения экспертов лежит совокупность практически применимых знаний, которую мы будем называть компетентностью. Поэтому разумно предположить, что эксперты — это те люди, к которым надо обратиться, когда мы желаем проявить компетентность, делающую возможным такое поведение, как у них».
|
|
ЭС содержит компоненту решения задачи и компоненту поддержки. Вторая помогает пользователю взаимодействовать с главной программой, в том числе тестировать и отлаживать ее, модифицировать ее знания и данные.
Технология построения ЭС называется инженерией знаний.
Инженерия знаний существенно полагается на исследование поведения экспертов с целью разработки разумных искусных программ. Хейес-Рот и др. в книге «Построение экспертных систем» отметили:
«В основе интеллектуального решения проблемы лежит следующий принцип: система должна сконструировать это решение, действуя избирательно и эффективно в пространстве альтернатив. Из-за ограниченности собственных ресурсов эксперт вынужден осуществлять поиск в этом пространстве избирательно, сводя к минимуму бесполезную работу. Знания помогают эксперту распознать на самых ранних этапах полезную информацию, открывают ему многообещающие пути ее использования и помогают избежать малоуспешных усилий, отсекая тупиковые пути как можно раньше. Экспертная система достигает высокой производительности, используя знания для того, чтобы наилучшим образом использовать свое время».
Основные понятия и действующие лица инженерии знаний
Средство построения ЭС(сокр. Инструмент) – язык программирования и поддерживающий пакет программ, используемые при создании экспертной системы. Язык программирования отличается от обычных языков тем, что обеспечивает удобные способы представления сложных высокоуровневых понятий.
Важно различать инструмент и саму ЭС, несмотря на то, что поддерживающие средства по определению также являются частью законченной экспертной системы.
Эксперт – человек, который за годы обучения и практики научился чрезвычайно эффективно решать задачи, относящиеся к конкретной предметной области(и ЭС моделирует все его стратегии).
Инженер знаний — человек, имеющий познания в информатике и ИИ и знающий, как надо строить экспертные системы. Он опрашивает экспертов, организует знания, решает, как они должны быть представлены в системе, и может помочь программисту в написании программ.
Процедура извлечения знаний у эксперта и занесения его в программу называется извлечением знаний.
Конечный пользователь – человек, для которого была разработана система и который использует законченную ЭС. Например, это ученый, которому она помогает открывать новые месторождения минералов.
Пользователь – человек, использующий экспертную систему, т.е. конечный пользователь, эксперт, инженер знаний, клерк.
Рис.1.Инженерия знаний