Автор: Пользователь скрыл имя, 18 Января 2012 в 20:19, курсовая работа
Цель курсовой работы – ознакомиться с экспертной системой, со структурой экспертных систем и назначением экспертных систем.
Задачи курсовой работы:
ознакомиться с понятием «экспертная система»;
выявить этапы создания экспертной системы;
рассмотреть средства построения экспертной системы.
Рис.1–
Таблица языков программирования.
С точки зрения разработчика экспертных систем, наибольший интерес
представляет использование сред программирования и пустых экспертных систем (оболочек), хотя не всегда можно заметить разницу между этими понятиями.
К числу таких средств первой группы относятся языки обработки символьной информации, наиболее известными из которых являются Пролог и Лисп.
Пролог – язык высокого уровня, ориентированный на использование концепций и методов математической логики. Как следует из его названия, Пролог предназначен для программирования в терминах логики. Основной особенностью Пролога, отличающей его от всех других языков, является декларативный характер написанных на нем программ. Язык Лисп изобретен в Массачусетском технологическом институте и обладает способностью обрабатывать списковые структуры. Языки программирования Лисп и Пролог имеют встроенные механизмы для манипулирования знаниями.
Помимо
Лиспа и Пролога создано
Табл.1
Язык программирования | Достоинства | Недостатки |
Turbo Pascal | Удобная
среда разработки, включающая функциональный
отладчик, доступный в любой момент.
Контекстная справочная система, по которой можно изучать язык без обращения к сторонним источникам. Высокая скорость компиляции, высокая скорость выполнения откомпилированных программ. Встроенная возможность использовать вставки на языке ассемблера. |
Компилятор
рассчитан на реальный режим DOS, применение
которого сходит на нет. Однако в последних
версиях компилятора и среды введена поддержка
защищённого режима вместе с соответствующим
отладчиком (TD).
В модуле CRT имеется ошибка (некорректный подсчёт количества циклов для функции delay, не рассчитанный на быстрые процессоры, процессоры с переменной частотой и многозадачные среды), из-за которой при запуске программы на компьютерах с тактовой частотой более 200 MHz сразу происходило аварийное завершение с сообщением «Runtime error 200 at…». Существуют разные варианты исправления модуля CRT.[2][3][4] В варианте Клауса Хартнегга ошибка 200 не возникает, но длительность Delay на быстрых компьютерах меньше желаемой, и эта проблема по незнанию иногда тоже считается недостатком Turbo Pascal. |
Рис.2–
Язык программирования Turbo Pascal.
Общим
недостатком языков программирования
для создания экспертных систем являются:
большое время разработки готовой
системы, необходимость привлечения
высококвалифицированных
Инструментальные средства второго типа – среды программирования – позволяют разработчику не программировать некоторые или все компоненты ЭС, а выбирать их из заранее составленного набора.
При применении последнего типа инструментария (пустых ЭС, или «оболочек») разработчик ЭС полностью освобождается от работ по созданию программ и занимается лишь наполнением базы знаний.
Типичным представителем второй и третьей групп инструментальных средств является пакет EXSYS Professional 5.0 for Windows (оболочка – по определению разработчика – компании MultiLogic Inc., США) и его последующая модификация Exsys Developer 8.0, предназначенный для создания прикладных экспертных систем в различных предметных областях. Система построена на использовании сложных правил вида ЕСЛИ-ТО-ИНАЧЕ. Для выбора стратегии получения заключения в системе по умолчанию используется обратная цепочка вывода. Прямая цепочка может быть задана при настройке системы. Система обладает развитым графическим интерфейсом, способна обращаться к внешним базам данных, проверять правила на непротиворечивость. При определенной настройке может работать с русскоязычными текстами.
Разработка (проектирование) ЭС существенно отличается от разработки обычного программного продукта. Программные средства, базирующиеся на технологии и методах искусственного интеллекта, получили значительное распространение в мире. Их важность, и в первую очередь важность экспертных систем, состоит в том, что данные технологии существенно расширяют круг практически значимых задач, которые можно решать на компьютерах и их решение приносит значительный экономический эффект. В основе любой экспертной системы лежит принцип накопления знаний специалистов (экспертов), которые каким-либо образом программно реализуются. Затем с помощью этих знаний пользователи ЭС, имеющие обычную квалификацию, могут решать свои текущие задачи столь же успешно, как это сделали бы сами эксперты. Такой эффект достигается благодаря тому, что экспертная система в своей работе воспроизводит примерно ту же схему рассуждений, которую обычно применяет человек-эксперт при анализе проблемы. Тем самым ЭС позволяет копировать и распространять знания, делать их доступными широким кругам рядовых специалистов. Уровень пользователей экспертных систем может варьироваться в очень широком диапазоне. От вида деятельности пользователей зависят и функции, которыми наделяются создаваемые для них ЭС.
В настоящее время технология экспертных систем получила широкое распространение. Так, на американском и западноевропейском рынках систем искусственного интеллекта организациям, желающим создать экспертную систему, фирмы-разработчики предлагают сотни инструментальных средств для их построения. Прикладных же ЭС, успешно решающих задачи из определенного узкого класса, насчитываются тысячи. Это позволяет говорить о том, что ЭС сейчас составляет мощную ветвь в индустрии программирования.
Интернет технологии поддерживают
экспертные системы и наоборот. Телекоммуникационные
технологии обеспечивают огромному числу
пользователей доступ к возможностям
экспертных систем, это способствует окупаемости
затрат на разработку ЭС. К сожалению,
только немногие экспертные системы доступны
по сети. Они могут быть связаны по сети
не только с пользователями, но и с другими
системами, включая базы данных, системы
принятия решений, управления роботами.
Сетевые технологии открывают новые возможности
в разработке экспертных систем группами
людей, разделенных территориально, а
также в реализации экспертных систем.
3.Этапы создания экспертной системы.3
Разработка программных комплексов экспертных систем как за рубежом, так и в нашей стране находится на уровне скорее искусства, чем науки. Это связано с тем, что долгое время системы искусственного интеллекта внедрялись в основном во время фазы проектирования, а чаще всего разрабатывалось несколько прототипных версий программ, прежде чем был получен конечный продукт. Такой подход действует хорошо в исследовательских условиях, однако в коммерческих условиях он является слишком дорогим, чтобы оправдать коммерчески жизненный продукт.
Процесс разработки промышленной экспертной системы, опираясь на традиционные технологии, можно разделить на шесть более или менее независимых этапов, практически не зависимых от предметной области. Последовательность этапов дана для общего представления о создании идеального проекта. Конечно, последовательность эта не вполне фиксированная. В действительности каждый последующий этап разработки ЭС приносит новые идеи, которые могут повлиять на предыдущие решения и даже привести к их переработке. Именно поэтому многие специалисты по информатике весьма критично относятся к методологии экспертных систем. Они считают, что расходы на разработку таких систем очень большие, время разработки слишком длительное, а полученные в результате программы ложатся тяжелым бременем на вычислительные ресурсы.
В целом за разработку экспертных систем целесообразно браться организации, где накоплен опыт по автоматизации рутинных процедур обработки информации, например:
Решение таких задач подготавливает высококвалифицированных специалистов по информатике, необходимых для создания интеллектуальных систем и позволяет отделить от экспертных систем неэкспертные задачи.
3.1 Этап выбора подходящей проблемы
Этот этап включает деятельность, предшествующую решению начать разрабатывать конкретную ЭС. Он включает:
Рис.3
– Этапы разработки ЭС.
Правильный
выбор проблемы представляет, наверное,
самую критическую часть
При выборе области применения следует учитывать, что если знание, необходимое для решения задач, постоянное, четко формулируемое и связано с вычислительной обработкой, то обычные алгоритмические программы, по всей вероятности, будут самым целесообразным способом решения проблем в этой области. Экспертная система ни в коем случае не устранит потребность в реляционных базах данных, статистическом программном обеспечении, электронных таблицах и системах текстовой обработки. Но если результативность задачи зависит от знания, которое является субъективным, изменяющимся, символьным или вытекающим частично из соображений здравого смысла, тогда область может обоснованно выступать претендентом на экспертную систему.
Обычно экспертные системы разрабатываются путем получения специфических знаний от эксперта и ввода их в систему. Некоторые системы могут содержать стратегии одного индивида. Следовательно, найти подходящего эксперта - это ключевой шаг в создании экспертных систем. В процессе разработки и последующего расширения системы инженер по знаниям и эксперт обычно работают вместе. Инженер по знаниям помогает эксперту структурировал знания, определять и формализовать понятия и правила, необходимые для решения проблемы.
Во время первоначальных бесед они решают, будет ли их сотрудничество успешным. Это немаловажно, поскольку обе стороны будут работать вместе по меньшей мере в течение одного года. Кроме них в коллектив разработчиков целесообразно включить потенциальных пользователей и профессиональных программистов.
Предварительный подход к программной реализации задачи определяется исходя из характеристик задачи и ресурсов, выделенных на ее решение. Инженер по знаниям выдвигает обычно несколько вариантов, связанных с использованием имеющихся на рынке программных средств. Окончательный выбор возможен лишь на этапе разработки прототипа. После того как задача определена, необходимо подсчитать расходы и прибыли от разработки экспертной системы. В расходы включаются затраты на оплату труда коллектива разработчиков. В дополнительные расходы приобретаемого программного инструментария, с помощью которого разрабатывается экспертная система. Прибыль возможна за счет снижения цены продукции, повышения производительности труда, расширения номенклатуры продукции или услуг или даже разработки новых видов продукции или услуг в этой области. Соответствующие расходы и прибыли от системы определяются относительно времени, в течение которого возвращаются средства, вложенные в разработку. На современном этапе большая часть фирм, развивающих крупные экспертные системы, предпочли разрабатывать дорогостоящие проекты, приносящие значительные прибыли. Наметились тенденции разработки менее дорогостоящих систем, хотя и с более длительным сроком возвращаемости вложенных в них средств, так как программные средства разработки экспертных систем непрерывно совершенствуются.
После того как инженер по знаниям убедился, что: