Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Тема: «дослідження етапів розробки експертних систем»Содержание книги
Поиск на нашем сайте
Мета роботи – отримати практичні навички розробки експертних систем.
Завдання
1. Обрати предметну область для побудови експертної системи та узгодити її з викладачем. 2. З'ясувати мету та задачі експертної системи (На які питання повинна відповідати експертна система і що це практично дасть користувачеві). 3. Визначити об’єкти предметної області і зв’язки між ними. 4. Визначити задачі експертної системи. 5. Визначити вхідні дані і діапазон їхньої зміни. 6. Записати продукційні правила бази знань. 7. Записати запитання експертної системи. Перелік рекомендованих тем для створення експертних систем. 1. Експертна система з індивідуального підбору косметики. 2. Експертна система з індивідуального підбору одягу. 3. Експертна система з індивідуального підбору взуття. 4. Експертна система з індивідуального підбору мобільного телефону. 5. Експертна система з підбору відеомагнітофону. 6. Експертна система з підбору музичного центру. 7. Експертна система з підбору відеокамери. 8. Експертна система з підбору телевізора. 9. Експертна система з підбору комп'ютера. 10. Експертна система з підбору автомобіля. 11. Експертна система з підбору житла. 12. Експертна система з підбору туристичної путівки. 13. Експертна система з індивідуального підбору спеціальності для абітурієнтів. 14. Експертна система з підбору музичних інструментів. 15. Експертна система з підбору комп’ютерних ігор. КОНТРОЛЬНІ ПИТАННЯ
1. Чим експертні системи відрізняються від звичайних програмних додатків та типових програм штучного інтелекту? 2. Чи може програма, яка не використовує методи штучного інтелекту, мати такі ж властивості як експертна система? 3. У чому різниця між експертною системою та системою, що ґрунтується на знаннях? 4. Чи буде експертною системою програма передбачення погоди у Криму, що виводить повідомлення такого роду: "Завтра погода не буде відрізнятися від сьогоднішньої"? 5. Нехай вона представляє сьогоднішню погоду у символьному вигляді, легко модифікується та здатна до розширення, прекрасно працює та може пояснити, чому вона прийшла до певного висновку. 6. Чи є експертною системою програма, котра формує прогноз погоди на певну дату шляхом усереднення температури повітря, кількості опадів та кількості сонячних годин у цю дату за всі роки, починаючи з 1900? 7. Чи є система пошуку у мережі World Wide Web експертною? Якщо ні, то яких властивостей їй бракує для того, щоб кваліфікувати її як експертну систему пошуку потрібної Web-сторінки? 8. Чому задача набуття знань є вузьким місцем у проектуванні експертних систем? Які рішення пропонуються для виходу з такої ситуації? 9. Чому пакет програм статистичного аналізу неможна вважати програмою штучного інтелекту? 10. Як ви розумієте термін "простір пошуку"? 11. Як ви розумієте термін "простір рішень"?
Методические указания
При разработке ЭС используется концепция прототипирования. Суть этой концепции состоит в том, что разработчики не пытаются сразу построить конечный продукт; они создают в общем случае несколько прототипов ЭС. Первый прототип должен продемонстрировать пригодность методов инженерии знаний для данного приложения. В случае успеха эксперт с помощью инженера по знаниям расширяет знания прототипа о проблемной области. При неудаче может потребоваться разработка нового прототипа. Преобразование прототипа ЭС в конечный продукт связано с достижением такого состояния, когда прототип успешно и эффективно решает все задачи данного приложения. Концепция прототипирования, зародившись в технологии разработки ЭС, используется в настоящее время и для разработки сложных программных систем как методология быстрой разработки приложений (RAD - Rapid Application Development) и др.. В ходе работ по созданию экспертных систем сложилась определенная технология их разработки, включающая шесть следующих этапов [1]: идентификация, концептуализация, формализация, выполнение, отладка и тестирование, опытная эксплуатация и внедрение. Эти этапы, как правило, выполняются не в линейном порядке, т.е. постоянно осуществляется модификация разрабатываемой ЭС. Можно выделить следующие виды модификации системы: переформулирование понятий и требований, переконструирование представления и усовершенствование прототипа. Усовершенствование прототипа осуществляется в процессе циклического прохождения через этапы выполнения и тестирования с целью отладки правил и процедур вывода. Циклы повторяются до тех пор, пока система не будет вести себя ожидаемым образом. Изменения, осуществляемые при усовершенствовании, зависят от выбранного способа представления и от класса задач, решаемых экспертной системой. Если в процессе усовершенствования желаемое поведение не достигается, то необходимо осуществить более значительные модификации архитектуры системы и БЗ. Возврат от этапа тестирования на этап формализации приводит к пересмотру выбранного ранее способа представления знаний. Данный цикл называют переконструированием. Если возникшие проблемы еще более серьезны, то после неудачи на этапе тестирования может потребоваться возврат на этапы концептуализации и идентификации. В этом случае речь будет идти о переформулировании понятий, используемых в системе, т.е. о проектировании всей системы заново. Соответствие между методологией разработки ЭС и методологией RAD Методология быстрой разработки приложений RAD - это промышленная технология разработки программных систем на основе использования CASE-средств и методов быстрого прототипирования и верификации прототипов пользователем при жестком ограничении времени, отведенного на разработку. На уровне организации проектных работ RAD можно охарактеризовать как "автоматизированную групповую разработку приложений (Joint Application Development - JAD) в условиях ограниченных сроков. Технология JAD была разработана фирмой IBM в начале 70-х годов для быстрой разработки спецификаций и требований к программным системам. Основными рабочими продуктами RAD в порядке их формирования являются бизнес-модель, модель данных и функциональная модель. Бизнес-модель - это графическое и текстуальное описание информационных потоков между элементами автоматизируемой системы, включая элементы, внешние по отношению к системе. Модель данных - графическое и текстуальное описание структуры и семантики информации, используемой в системе. Функциональная модель - графическое и текстуальное описание функций системы, операций, задач, решаемых в ходе выполнения этих функций, и взаимосвязей между функциями в терминах входов и выходов. Все описания формируются в терминах CASE-системы, что дает возможность проводить непосредственно на их основе генерацию результирующего кода прикладной программы. Ниже приведено соотношение между методологией RAD и методологией ЭС. Соответствие между этапами проекта RAD и жизненного цикла ЭС
Идентификация На этапе идентификации определяются задачи, участники процесса разработки и их роли, ресурсы и цели. Определение участников и их ролей сводится к определению количества экспертов и инженеров по знаниям, а также формы их взаимоотношений. Обычно в основном цикле разработки ЭС участвуют не менее трех-четырех человек (один эксперт, один или два инженера по знаниям и один программист, привлекаемый для модификации и согласования инструментальных средств). К процессу разработки ЭС могут привлекаться и другие участники. Например, инженер по знаниям может привлекать других экспертов для того, чтобы убедиться в правильности своего понимания основного эксперта; представительности тестов, демонстрирующих особенности рассматриваемой задачи; совпадении взглядов различных экспертов на качество предлагаемых решений. Формы взаимоотношений экспертов и инженеров следующие: эксперт исполняет роль информирующего или эксперт выполняет роль учителя, а инженер - ученика. Вне зависимости от выбранной формы взаимоотношений инженер по знаниям должен быть готов и способен изучать специфические особенности той проблемной области, в рамках которой предстоит работать создаваемой ЭС. Несмотря на то, что основу знаний ЭС будут составлять знания эксперта, для достижения успеха инженер по знаниям должен использовать дополнительные источники знаний в виде книг, инструкций, которые ему рекомендовал эксперт. Идентификация задачи заключается в составлении неформального (вербального) описания решаемой задачи. В этом описании указываются общие характеристики задачи; подзадачи, выделяемые внутри данной задачи; ключевые понятия (объекты), характеристики и отношения; входные (выходные) данные; предположительный вид решения; знания, релевантные решаемой задаче; примеры (тесты) решения задачи. Цель этапа идентификации задачи состоит в том, чтобы характеризовать задачу и структуру поддерживающих ее знаний и приступить к работе по созданию базы знаний. Если исходная задача оказывается слишком сложной с учетом имеющихся ресурсов, то этап идентификации может потребовать нескольких итераций. В ходе идентификации задачи необходимо ответить на следующие вопросы: "Какие задачи предлагается решать экспертной системе?", "Как эти задачи могут быть охарактеризованы и определены?", "На какие подзадачи разбивается каждая задача, какие данные они используют?", "Какие ситуации препятствуют решению?", "Как эти препятствия будут влиять на экспертную систему?" В процессе идентификации задачи инженер и эксперт работают в тесном контакте. Начальное содержательное описание задачи экспертом влечет за собой вопросы инженера по знаниям с целью уточнения терминов и ключевых понятий. Эксперт уточняет описание задачи, объясняет, как решать эту задачу и какие рассуждения лежат в основе решения. После нескольких циклов, уточняющих описание, эксперт и инженер по знаниям получают окончательное неформальное описание задачи. При разработке экспертной системы типичными ресурсами являются: источники знаний, время разработки, вычислительные средства (возможности ЭВМ и программного инструментария) и объем финансирования. Для достижения успеха эксперт и инженер должны использовать при построении ЭС все доступные им источники знаний. Для эксперта источниками знаний могут быть его предшествующий опыт по решению задачи, книги, конкретные примеры задач и использованных решений. Для инженера по знаниям источниками знаний могут быть опыт в решении аналогичных задач, методы решения и представления знаний, программный инструментарий. При определении (назначении) временных ресурсов необходимо иметь в виду, что сроки разработки и внедрения экспертной системы составляют (за редким исключением) не менее шести месяцев (при трудоемкости от двух до пяти человеко-лет). Задача определения ресурсов является весьма важной, поскольку ограниченность какого-либо ресурса существенно влияет на процесс проектирования. Так, например, при недостаточном финансировании предпочтение может быть отдано не разработке оригинальной новой системы, а адаптации существующей. Задача идентификации целей заключается в формулировании в явном виде целей построения экспертной системы. При этом важно отличать цели, ради которых строится система, от задач, которые она должна решать. Примерами возможных целей являются: формализация неформальных знаний экспертов; улучшение качества решений, принимаемых экспертом; автоматизация рутинных аспектов работы эксперта (пользователя); тиражирование знаний эксперта. На первом этапе инженер по знаниям должен ответить на основной вопрос: "Подходят ли методы инженерии знаний для решения предложенной задачи?" Для положительного ответа на данный вопрос необходимо, чтобы задача относилась к достаточно узкой, специальной области знаний и не требовала для своего решения использования того, что принято называть здравым смыслом, поскольку методы искусственного интеллекта не дают возможности формализовать это понятие. Кроме того, качество ЭС зависит в конечном счете от уровня сложности решаемой задачи и ясности ее формулировки. Задача не должна быть ни слишком легкой, ни слишком трудной. Обычно число связанных понятий, релевантных проблеме, должно составлять несколько сотен. Говоря другими словами, назначение экспертной системы в том, чтобы решать некоторую задачу из данной области, а не в том, чтобы быть экспертом в этой области. Следует подчеркнуть, что в настоящее время при разработке ЭС (особенно динамических ЭС) применяется принцип кооперативного проектирования, заключающийся в участии конечных пользователей системы в процессе разработки. Пользователи обладают неформальным пониманием прикладных задач, которые должна решать разрабатываемая программная система. Хотя системные аналитики и программисты могут изучить этот класс прикладных задач, затраты на обучение (прежде всего время) будут высоки, а их компетентность все равно останется более низкой, чем у опытных пользователей. Поэтому включение конечных пользователей в группу разработчиков обычно более эффективно и позволяет более качественно анализировать автоматизируемые операции. Эти преимущества усиливаются по мере усложнения решаемой задачи.
Концептуализация На этапе концептуализации эксперт и инженер по знаниям выделяют ключевые понятия, отношения и характеристики, необходимые для описания процесса решения задачи. На этом этапе определяются следующие особенности задачи: типы доступных данных; исходные и выводимые данные; подзадачи общей задачи; используемые стратегии и гипотезы; виды взаимосвязей между объектами проблемной области; типы используемых отношений (иерархия, причина/следствие, часть/целое и т.п.); процессы, используемые в ходе решения задачи; типы ограничений, накладываемых на процессы, используемые в ходе решения; состав знаний, используемых для решения задачи и для объяснения решения. Для определения перечисленных характеристик задачи целесообразно составить детальный протокол действий и рассуждений эксперта в процессе решения хотя бы одной конкретной задачи. Такой протокол обеспечивает инженера по знаниям словарем терминов (объектов) и некоторым приблизительным представлением о тех стратегиях, которые использует эксперт. Кроме того, протокол помогает ответить на многие другие вопросы, возникающие в ходе разработки. На этом этапе инженер по знаниям рассматривает вопросы, относящиеся к представлению знаний и методам решения, но говорить о выборе конкретных способов и методов здесь еще рано. Адекватным средством для выделения ключевых понятий, отношений и характеристик являются диаграммы, которые используют практически все современные ИС. Диаграммы используются как средства проектирования, сопровождения и документирования, а также для организации взаимодействия между различными участниками процесса создания системы. Являясь языком для описания требований и проектирования системы, диаграммы должны быть небольшими по размеру, простыми, понятными и полными. Для этого они должны опираться на формальные правила и использовать небольшое количество абстрактных символов. К числу базовых типов диаграмм относятся [2,3]: • контекстные диаграммы (структурно-функциональные схемы); • диаграммы "сущность-связь"; • диаграммы потоков данных; • диаграммы "состояния-переходы". Для того чтобы показать, ЧТО система должна делать, надо показать всю систему, ее части и их взаимодействие. Это делается с помощью контекстных диаграмм (часто называемых структурно-функциональными схемами). Эти диаграммы, на которых представлены сама система (в виде системного процесса), ее основные части (подсистемы), включая операторы и основные блоки оборудования (измерения и управления), объекты внешнего окружения и основные потоки между ними, описывают разрабатываемую систему на высоком уровне. Основная функция системы (системный процесс) представляется кругом, а системные и внешние объекты - прямоугольниками. Стрелки показывают потоки данных. Все элементы схемы имеют идентификатор и снабжены комментариями. Контекстная диаграмма в сочетании с перечнем системных требований стремится ответить на вопрос "Что делает система?", причем дает только частичный ответ. Для систем со сложными связями между объектами важно более детально представлять взаимоотношения между объектами. Это делается с помощью диаграмм "сущность -связь". В этих диаграммах объекты представляются прямоугольниками, а связи между ними - стрелками, на которых расположены ромбы. В прямоугольниках и ромбах записаны имена объектов и связей. Тип связи и ее направление определяются с помощью стрелок в начале и в конце линии связи. Тип связи задает отношение множественности между объектами, т.е. определяет, скольким экземплярам второго объекта соответствует один экземпляр первого объекта. Диаграммы "сущность - связь" также отвечают на вопрос "Что?" После того как определено, что должна делать система, необходимо ответить на вопрос "Как?" Первый вопрос заключается в том, как система взаимодействует с внешним окружением. Ответ на этот вопрос дает диаграмма потоков данных (ДПД). На ней представлены внешние объекты, хранилища данных в системе, потоки данных, входящие, выходящие и проходящие внутри системы, и системные процессы, обрабатывающие эти потоки. Объекты принято обозначать квадратами, хранилища данных - узкими прямоугольниками без правой стороны, процессы - прямоугольниками с закругленными углами, а потоки данных - линиями со стрелками. ДПД позволяют проводить декомпозицию по уровням раскрытия системных процессов и потоков. В совокупности они показывают, как система отвечает требованиям и как реализуется проект. Типы диаграмм, упомянутые выше, отражали статическое поведение системы. Для того чтобы показать динамическое поведение системы, какие события происходят в системе, как система на них реагирует и в какие состояния она попадает, используются диаграммы "состояний-переходов" (ДСП), которые моделируют поведение машины с конечным числом состояний. Поведение системы представляется в виде множества дискретных, исключительных и конечных состояний Происходящие события приводят к изменению состояния системы; считается, что изменения происходят мгновенно. События могут происходить синхронно и асинхронно.
На этапе формализации все ключевые понятия и отношения, выявленные на этапе концептуализации, выражаются на некотором формальном языке, предложенном (выбранном) инженером по знаниям Здесь он определяет, подходят ли имеющиеся инструментальные средства (ИС) для решения рассматриваемой проблемы или необходим выбор других ИС, или требуются оригинальные разработки. Для выбора ИС, адекватного разрабатываемому приложению, необходимо проанализировать: • степень выполнения общих требований в выбираемом ИС; к этим требованиям относятся (см. п. 1.1): интегрированность, открытость и переносимость, использование языков традиционного программирования и рабочих станций, использование архитектуры клиент-сервер, проблемно/ предметная ориентация ИС; • тип приложения (изолированность/интегрированность, закрытость/открытость, централизованность/децентрализованность) - см. п.3.1; • тип проблемной среды, включающей как характеристики предметной области (статические/динамические, структурированная/неструктурированная БЗ, вводятся или нет объекты и их классы), так и характеристики решаемых задач (анализ/синтез, частность/ общность выполняемых утверждений) - см. п. 3.1; • технологию разработки ЭС, которую допускает выбираемое ИС (подход, основанный на поверхностных или глубинных знаниях, на структурировании процесса решения, или смешанный подход), -см. п. 3.1. Основными задачами в процессе формализации являются проблемы структуризации исходной задачи и знаний в выбранном (разработанном) формализме, а именно структуризации общей задачи на связанные подзадачи; структуризации знаний на декларативные и процедурные; структуризации предметной области на основе иерархии классов и структуризации приложения на основе иерархии "часть/целое".
|
||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 347; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.97.235 (0.01 с.) |