Разработка программного обеспечения лабораторного комплекса компьютерной обучающей системы (КОС) 'Экспертные системы'

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    6,51 Мб
  • Опубликовано:
    2015-07-12
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка программного обеспечения лабораторного комплекса компьютерной обучающей системы (КОС) 'Экспертные системы'

Аннотация


Целью дипломного проекта является реализация тематических компонент и разработка программного обеспечения лабораторного комплекса компьютерной обучающей системы (КОС) «Экспертные системы» в составе электронного курса КОС «Экспертные системы» позволяет получить теоретические знания и практические навыки в процессе выполнения практических занятий и лабораторных работ.

Текстовая часть КОС «Экспертные системы» представляет электронное издание курса лекций в виде текста по теоретическому базису предмета, куда включены традиционные для курса “ Экспертные системы ” разделы.

Программная часть КОС «Экспертные системы» представлена в виде отдельных модулей - апплетов, предназначенных для закрепления базисного материала лекций, выработки и автоматизованного контроля умений и навыков по решению практических задач.

Электронный курс «Экспертные системы» предполагается внедрить в учебный процесс колледжа информационных технологий для студентов специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем»

Содержание

Аннотация

Введение

Постановка задачи

Требования к теоретической части

Требования к практической части

. Системный анализ предметной области

.1 Основные понятия

.2 Принципы создания электронных курсов

.3 Описание программных и языковых средств разработки

.4 Описание среды BlackBoard Learn

.5 Описание языка программирования Java

.6 Описание языка программирования JavaScript

.7 Описание объектной модели браузера MS Internet Explorer

. Экспертные системы

.1 Назначение экспертных систем

.2 Структура экспертных систем

.3 Этапы разработки экспертных систем

.4 Преимущества экспертных систем

.5. Особенности экспертных систем

.6 Области применения экспертных систем

. Проектирование компьюторной обучающей системы «Экспертные системы» в среду Blackboard

.1 Технология создания КОС «Экспертные системы»

.2 Технология загрузки теста КОС «Экспертные системы»

.2.1 Создание пакета вопросов в редакторе MS Excel

. Руководство пользователя

.1 Аппаратно технические требования

.1.1 Минимальная аппаратная комплектация компьютера

.1.2 Поддерживаемые операционные системы

.1.3 Требования к совместимости с веб-браузерами

Заключение

Литература

Приложение

Лабораторная работа № 1 Создание интерфейса ЭС

Введение

Экспертные системы (ЭС) возникли как значительный практический результат в применении и развитии методов искусственного интеллекта (ИИ)- совокупности научных дисциплин, изучающих методы решения задач интеллектуального (творческого) характера с использованием ЭВМ.

Область ИИ имеет более чем сорокалетнюю историю развития. С самого начала в ней рассматривался ряд весьма сложных задач, которые, наряду с другими, и до сих пор являются предметом исследований: автоматические доказательства теорем, машинный перевод (автоматический перевод с одного естественного языка на другой), распознавание изображений и анализ сцен, планирование действий роботов, алгоритмы и стратегии игр. ЭС- это набор программ, выполняющий функции эксперта при решении задач из некоторой предметной области. ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов. Главным достоинством экспертных систем является возможность накопления знаний и сохранение их длительное время. В отличии от человека к любой информации экспертные системы подходят объективно, что улучшает качество проводимой экспертизы. При решении задач, требующих обработки большого объема знаний, возможность возникновения ошибки при переборе очень мала. При создании ЭС возникает ряд затруднений. Это прежде всего связано с тем, что заказчик не всегда может точно сформулировать свои требования к разрабатываемой системе.

Также возможно возникникновение трудностей чисто психологического порядка: при создании базы знаний системы эксперт может препятствовать передаче своих знаний, опасаясь, что впоследствии его заменят “машиной”. Но эти страхи не обоснованы, т. к. ЭС не способны обучаться, они не обладают здравым смыслом, интуицией. Но в настоящее время ведутся разработки экспертных систем, реализующих идею самообучения. Также ЭС неприменимы в больших предметных областях и в тех областях, где отсутствуют эксперты. Экспертная система состоит из базы знаний (части системы, в которой содержатся факты), подсистемы вывода (множества правил, по которым осуществляется решение задачи), подсистемы объяснения, подсистемы приобретения знаний и диалогового процессора. При построении подсистем вывода используют методы решения задач искусственного интеллекта.

Целью дипломного проекта является правильное и обоснованное изучение материала, возможности и преимущества экспертных систем.

Постановка задачи


В соответствии с современными концепциями компьютеризации учебного процесса, требуется осуществить разработку дистанционного курса “Экспертные системы”.

Особенностью поставленной задачи является необходимость предусмотрения на этапе разработки и проектирования возможности последующего внедрения создаваемого программного обеспечения во всемирную информационную сеть Internet.

Предполагается, что разрабатываемый дистанционный курс в обязательном порядке должен содержать:

·   теоретический курс - теоретические сведения, необходимые и достаточные для понимания и быстрого усвоения предлагаемого к изучению материала, выполнения практических заданий, а также прохождения тестов;

·   практические занятия - учебные воздействия, направленные на выработку у обучаемого практических навыков и умений в области приложения изучаемой темы;

·   тесты как возможность контроля преподавателем (обучающим) процесса усвоения предложенного учебного материала с возможностью дифференцированного либо однозначного оценивания знаний обучаемого.

Требования к теоретической части


Теоретическая часть подразумевает под собой наглядное отображение учебного материала в форме, как можно более удобной для чтения и запоминания. Очевидно, что ключом к достижению наибольшей эффективности и скорости обучения, может служить выполнение следующих условий:

·   информация должна предоставляться небольшими порциями;

·   цвета фона и текста должны выбираться таким образом, чтобы они меньше всего раздражали глаза и напрягали зрение;

цветовая гамма представления графической информации должна быть как можно более удобной для восприятия.

Требования к практической части


Целью выполнения практической части является выработка у обучаемого практических навыков применения знаний, полученных при изучении теоретической части. В соответствии с этим, а также учитывая основные недостатки уже существующих обучающих систем выдвигается ряд требований, наиболее существенные из которых можно представить следующим образом:

–   исключение неосмысленного выполнения практических заданий, то есть сведению к нулю вероятности получения положительной оценки знаний при их отсутствии;

·   возможность обратиться к теоретической части в процессе выполнения задания, так как именно параллельное изучение основ теории и практических методов дают наилучший результат в смысле понимания и запоминания;

·   Постепенное усложнение заданий. Этот традиционный метод предоставления учебной информации позволяет наиболее эффективно организовать процесс обучения.

Среди необходимых этапов процесса разработки дистанционного курса (с учетом поставленной задачи) можно выделить следующие:

1.       Дидактическое проектирование учебного курса, реализующее общую структуру процесса обучения;

2.      Программное проектирование, состоящее в программной реализации алгоритмов решения типовых задач.

1. Системный анализ предметной области


Автоматизация на основе применения компьютеров и вычислительных сетей проникает во все сферы жизни современного общества, связанные с использованием и переработкой информации. В первую очередь, информатизация на базе автоматизированных систем затронула процессы в производственной сфере. Появились автоматизированные системы проектирования, управления производством. технологическими процессами и др. В настоящее время все заметнее становится тенденция к информатизации сферы образования, особенно в связи с переходом к постиндустриальному обществу. Создаются электронные учебники, разрабатываются автоматизированные системы обучения, организуются виртуальные университеты.

1.1 Основные понятия

Многие понятия, связанные с электронным курсом, существенно изменялись в течение последних двадцати лет. В практическом плане устаревшие концепции часто приводят к созданию электронных продуктов, выдаваемых за электронные курсы, но на самом деле бесполезных ровно постольку, поскольку они электронными курсами не являются. Поэтому представляется целесообразным начать изложение с уточнения основных понятий, относящихся к электронным курсам.

Электронное издание - это совокупность графической, текстовой, цифровой, речевой, музыкальной, видео-, фото- и другой информации, а также печатной документации пользователя. Электронное издание может быть исполнено на любом электронном носителе - магнитном (магнитная лента, магнитный диск и др.), оптическом (CD-ROM, DVD, CD-R, CD-I, CD+ и др.), а также опубликовано в электронной компьютерной сети .

Учебное электронное издание должно содержать систематизированный материал по соответствующей научно-практической области знаний, обеспечивать творческое и активное овладение студентами и учащимися знаниями, умениями и навыками в этой области. УЭИ должно отличаться высоким уровнем исполнения и художественного оформления, полнотой информации, качеством методического инструментария, качеством технического исполнения, наглядностью, логичностью и последовательностью изложения.

Электронный курс - учебное электронное издание, созданное на научном и методическом уровне, полностью соответствующее федеральной составляющей дисциплины Государственного образовательного стандарта специальностей и направлений, определяемой дидактическими единицами стандарта и программой.

Электронное учебное пособие - это электронное издание, частично или полностью заменяющее или дополняющее курс и официально утвержденное в качестве данного вида издания.

1.2 Принципы создания электронных курсов

Некоторые принципы, которыми следует руководствоваться при создании электронных курсов и обучающих программ.

·        Принцип Модульности: разбиение материала на разделы, состоящие из модулей, минимальных по объему, но замкнутых по содержанию. Для больших по объёму курс может использоваться блочно-модульный принцип, где блок является минимальной учебной информационной единицей.

·        Принцип полноты: каждый модуль должен иметь следующие компоненты:

1.      теоретическое ядро,

2.      контрольные вопросы по теории,

.        примеры,

.        задачи и упражнения для самостоятельного решения,

.        контекстная справка (Help),

·        Принцип наглядности: каждый модуль должен состоять из коллекции кадров с минимумом текста и визуализацией, облегчающей понимание и запоминание новых понятий, утверждений и методов.

·        Принцип ветвления: каждый модуль должен быть связан гипертекстными ссылками с другими модулями так, чтобы у пользователя был выбор перехода в любой другой модуль. Принцип ветвления не исключает, а даже предполагает наличие рекомендуемых переходов, реализующих последовательное изучение предмета.

·        Принцип регулирования: учащийся самостоятельно управляет сменой кадров, имеет возможность вызвать на экран любое количество примеров (понятие ``пример" имеет широкий смысл: это и примеры, иллюстрирующие изучаемые понятия и утверждения, и примеры решения конкретных задач, а также контрпримеры), решить необходимое ему количество задач, задаваемого им самим или определяемого преподавателем уровня сложности, а также проверить себя, ответив на контрольные вопросы и выполнив контрольную работу, заданного уровня сложности.

1.3 Описание программных и языковых средств разработки


Электронный учебник реализован с помощью конструктора электронных курсов BlackBoard Learn. Лабораторный практикум к электронному учебнику «Информационные технологии» реализован с помощью языков программирования Java, JavaScript, HTML.

1.4 Описание среды BlackBoard Learn

Назначение

BlackBoard-среда для разработки электронной обучающей системы(ЭОР).Идеальный инструмент для создания электронных учебных пособий, учебников, справочников, методичек и т.п. Сочетает в себе легкость использования и широкие возможности работы с информацией.

Возможности программы

BlackBoard Learn имеет следующие возможности:

·              Текст с различными визуальными эффектами (разные шрифты,жирные, наклонные, подчеркнутые, перечеркнутые символы, а так же символы с чертой над ним, подстрочные и надстрочные индексы и т.д.).

·              Работа со стилями текста.

·              Использование изображений и любых OLE - объектов.

·              Использование аудио- и видео- файлов.

·              Использование GIF анимации.

·              Экспорт и импорт разделов в формат HTML и RTF.

·              Импорт всех документов форматов HTML, RTF, TXT из выбранной директории.

·              Различные ссылки помогут облегчить навигацию по книге и запускать различные документы и программы.

Рабочая среда

На рис.1. представлено рабочее окно редактора курсов. В этом окне разрабатываются учебные страницы. Также можно добавлять, изменять, удалять или отключать разделы, изменять иконки разделов. Есть возможность добавления верхнего и нижнего колонтитулов. Имеется панель инструментов для более быстрой и удобной работы.

По нажатию клавиши F10, либо по кнопки на панели инструментов, вызывается окно свойств книги (рис.3.2.), где можно задать разнообразные свойства книги, такие как название книги, описание, свойства при компиляции в различные форматы, настройки безопасности.

Для того, чтобы создать новый элемент, нужно выбрать пункт меню Построить содержимое. Затем ввести название нового раздела, заполнить его содержимое и нажать сохранить.

Рис.1. Рабочее окно BlackBoard Learn.

Для того, чтобы изменить название Элемента или папки :

1.      Выбрать элемент или папку.

.        Выбрать пункт меню наведя курсором на стрелку меню и изменить. Затем ввести новое название раздела и нажать сохранить.

Для того, чтобы удалить раздел:

1.      Выбрать элемент или папку.

.        Выбрать пункт меню наведя курсором на стрелку меню и удалить.

.        Подтвердить удаление раздела.

Текстовый редактор программы Black board learn мало чем отличается от популярных текстовых редакторов, таких как, например, MS Word. Для форматирования текста используется панель инструментов, располагающаяся над окном редактирования.

Можно вставлять (импортировать) в раздел различные изображения форматов jpg, jpeg, gif, bmp, dib, ico, emf и wmf.

Для этого нужно при создании или редактировании элемента или папки выбрать:

. Выбрать пункт меню вложения.

. В появившемся стандартном диалоге выбрать изображение для вставки.

. Сохранить

1.5 Описание языка программирования Java

Язык Java построен с использованием концепций, заимствованных из других языков, таких как С, С++, Eiffer, SmallTalk, Objective C и Cedar/Mes. Поэтому неудивительно, что Java может решать те же задачи, что и эти языки. К примеру, на языке С++ можно создавать утилиты командной строки, библиотеки классов, GUI-приложения и различные другие программы. В этом смысле возможности Java ничем не отличаются от возможностей этих языков. Ниже перечислены четыре типа приложений, которые можно создавать с использованием языка Java:

–          Апплеты (мини-приложения)

–       GUI-приложения

–       Приложения командной строки

–       Пакеты (библиотеки)

Программы, составленные на языке программирования Java, можно разделить по своему назначению на две большие группы.

К первой группе относятся приложения Java, предназначенные для автономной работы под управлением специальной интерпретирующей машины Java. Реализации этой машины созданы для всех основных компьютерных платформ.

Вторая группа - это так называемые аплеты (applets). Аплеты представляют собой разновидность приложений Java, которые интерпретируются виртуальной машиной Java, встроенной практически во все современные браузеры.

Приложения, относящиеся к первой группе (приложениями Java), - это обычные автономные программы. Так как они не содержат машинного кода и работают под управлением специального интерпретатора, их производительность заметно ниже, чем у обычных программ, составленных, например, на языке программирования C++. Однако не следует забывать, что программы Java без перетрансляции способны работать на любой платформе, что само по себе имеет большое значение в плане разработок для Internet.

Аплеты Java встраиваются в документы HTML, хранящиеся на сервере Web. С помощью аплетов вы можете сделать страницы сервера Web динамичными и интерактивными. Аплеты позволяют выполнять сложную локальную обработку данных, полученных от сервера Web или введенных пользователем с клавиатуры. Из соображений безопасности аплеты (в отличие от обычных приложений Java) не имеют никакого доступа к файловой системе локального компьютера. Все данные для обработки они могут получить только от сервера Web. Более сложную обработку данных можно выполнять, организовав взаимодействие между аплетами и расширениями сервера Web - приложениями CGI и ISAPI.

Для повышения производительности приложений Java в современных браузерах используется компиляция "на лету" Just-In-Time compilation (JIT). При первой загрузке аплета его код транслируется в обычную исполнимую программу, которая сохраняется на диске и запускается. В результате общая скорость выполнения аплета Java увеличивается в несколько раз.

Язык Java является объектно-ориентированным и поставляется с достаточно объемной библиотекой классов. Так же как и библиотеки классов систем разработки приложений на языке C++, библиотеки классов Java значительно упрощают разработку приложений, представляя в распоряжение программиста мощные средства решения распространенных задач. Поэтому программист может больше внимания уделить решению прикладных задач, а не таких, как, например, организация динамических массивов, взаимодействие с операционной системой или реализация элементов пользовательского интерфейса.

Программа на языке Java компилируется в двоичный модуль, состоящий из команд виртуального процессора Java. Такой модуль содержит байт-код, предназначенный для выполнения Java-интерпретатором. На настоящий момент уже созданы первые модели физического процессора, способного выполнять этот байт-код, однако интерпретаторы Java имеются на всех основных компьютерных платформах. Разумеется, на каждой платформе используется свой интерпретатор, или, точнее говоря, свой виртуальный процессор Java.

Если ваше приложение Java (или аплет) должно работать на нескольких платформах, нет необходимости компилировать его исходные тексты несколько раз. Вы можете откомпилировать и отладить приложение Java на одной, наиболее удобной для вас платформе. В результате вы получите байт-код, пригодный для любой платформы, где есть виртуальный процессор Java.

Приложение Java не обращается напрямую к интерфейсу операционной системы. Вместо этого оно пользуется готовыми стандартными библиотеками классов, содержащими все необходимое для организации пользовательского интерфейса, обращения к файлам, для работы в сети и так далее.

В языке Java все классы происходят от класса Object, и, соответственно, наследуют методы этого класса. Некоторые библиотеки классов подключаются автоматически, и мы будем называть их встроенными. К таким относится, в частности, библиотека с названием java.lang. Другие библиотеки классов вы должны подключать в исходном тексте приложения Java явным образом с помощью оператора import.

 

1.6 Описание языка программирования JavaScript

JavaScript - это скриптовый язык (иногда его называют языком для написания сценариев), используемый для создания интерактивных, динамических WEB-страниц.

Язык HTML представляет авторам WEB-страниц (которые также называются HTML-документами) и узлов широкие возможности для отображения текстовой и графической информации, включения в состав страниц различных объектов. Но тем не менее создаваемые с помощью языка HTML страницы остаются статическими - пользователи не могут изменять информацию, расположенную на странице, и даже использовать большинство интерфейсных элементов. Для того, чтобы сделать страницу по-настоящему активной, нам нужен еще один язык, выполняемые в контексте броузера, - скриптовый язык.

JavaScript используется для создания интерактивных страниц. Этот язык программирования предоставляет средства для управления броузером. JavaScript он не содержит всех возможностей настоящих языков программирования, таких, например, как работа с файлами или управление графикой. Созданные с помощью JavaScript программы не могут выполняться самостоятельно - они работают только в контексте броузера, поддерживающего выполнение скриптовых программ. К таким броузерам относятся Microsoft Internet Explorer и Netscape Navigator. Создаваемые на JavaScript программы включаются в состав WEB-страниц и распознаются и обрабатываются броузером отдельно от остального HTML-кода.

Наиболее часто JavaScript используется для:

·   отображения диалоговых панелей и сообщений в статусной строке броузера;

·   динамического создания содержимого страницы во время ее загрузки или уже после того, как оно полностью загружена;

·   изменения содержимого страницы, например, атрибута SRC графического изображения или содержимого других HTML-элементов, и отклика на события;

·   проверки вводимой пользователем информации и управления отсылкой содержимого форм;

·   навигации по другим страницам;

·   управления встроенными в WEB-страницу объектами типа Java-аплетов.

HTML - Hyper Text Markup Language - язык разметки гипертекста. HTML - это язык разметки, который сообщает клиенту в основных чертах, каким образом должна быть представлена информация. Например, чтобы определить заголовок HTML-документа, можно написать:

<H2> Это заголовок <H1>

Эта запись означает, что текст «Это заголовок» должен быть показан как заголовок второго порядка, но в какой форме его показать остается на усмотрение клиента. По мере развития HTML стало возможным определять все больше и больше специальной информации, например шрифт, размер элемента, его цвет и так далее.

Последняя версия HTML - HTML 4.0 (Dynamic HTML) предлагает следующие возможности:

·   Все элементы страницы (теги, графика, текст и так далее) теперь доступны для просмотра и управления (в отличие от лишь небольшого их количества в предыдущих выпусках).

·   Новый взгляд на возможности таблиц стилей позволит управлять элементами страницы намного более эффективно, чем это можно сделать с помощью кода сценария.

·   Абсолютное позиционирование элементов, включая третью координату (z-индекс), что помогает создать индивидуальный стиль для страницы, и появление 2,5-мерности (виртуальной трехмерности) страницы.

·   Новые дополнения к объектной модели помогают по-новому использовать элементы, написанные с помощью кода сценария.

·   Динамическое перерисовывание любой части страницы позволяет сделать видимым процесс изменения. Больше не нужно полностью обновлять страницу для появления ее измененного вида.

·   Поддерживаются новые объектно-зависимые методы, включая прохождение событий сквозь объектную иерархию.

·   Графические фильтры позволяют пользователю добавлять в графику и текст и такие эффекты мультимедиа, как вертикальное или горизонтальное отражение картинки, создание бегущей строки и так далее.

Кроме того HTML содержит множество всевозможных средств, предоставляющих огромные возможности создания разнообразных документов.

1.7 Описание объектной модели браузера MS Internet Explorer

Рассмотрим объектную модель браузера Microsoft Internet Explorer 4.0.

Объектная модель - это набор связанных между собой объектов, обеспечивающих доступ к содержимому страницы и ряду функций браузера. Следует разделить эти два набора объектов. Доступ к содержимому страницы из скриптовых языков позволяет управлять ее содержанием уже после загрузки - этот принцип лежит в основе технологии Dynamic HTML.

Объекты имеют свои свойства, методы и события. Рассмотрим основные объекты браузера подробнее.

Объект window находится в вершине иерархии и является контейнером для других объектов. Он представляет собой текущее окно браузера. Это может быть обычное окно либо одно из окон набора фреймов. В последнем случае у объекта будет присутствовать коллекция frames, каждый элемент которой будет представлять собой отдельный фрейм.

Объект history содержит информацию об адресах страниц (в формате URL), которые вы посещали в данной сессии. Эти адреса сохраняются в списке History. Объект позволяет перемещаться по списку с помощью кода на JavaScript.

Объект location содержит информацию об URL - адресе текущей страницы или загрузки новой. Свойства данного объекта позволяют получить различную информацию об URL - адресе текущей страницы.

Объект event позволяет скриптовой программе получить детальную информацию о произошедшем событии и выполнить необходимые действия. Это объект доступен только во время самого события. Более того, обращаться к нему можно только из обработчиков событий или соответствующих функций.

Объект screen предназначен для получения информации о клиентском браузере.

Объект document представляет собой HTML - документ, загруженный в данный момент в браузере.

2. Экспертные системы


.1 Назначение экспертных систем

В начале восьмидесятых годов в исследованиях по искусственному интеллекту сформировалось самостоятельное направление, получившее название "экспертные системы" (ЭС). Цель исследований по ЭС состоит в разработке программ, которые при решении задач, трудных для эксперта-человека, получают результаты, не уступающие по качеству и эффективности решениям, получаемым экспертом. Исследователи в области ЭС для названия своей дисциплины часто используют также термин "инженерия знаний", введенный Е. Фейгенбаумом как "привнесение принципов и инструментария исследований из области искусственного интеллекта в решение трудных прикладных проблем, требующих знаний экспертов".

Программные средства (ПС), базирующиеся на технологии экспертных систем, или инженерии знаний (в дальнейшем будем использовать их как синонимы), получили значительное распространение в мире. Важность экспертных систем состоит в следующем:

технология экспертных систем существенно расширяет круг практически значимых задач, решаемых на компьютерах, решение которых приносит значительный экономический эффект;

технология ЭС является важнейшим средством в решении глобальных проблем традиционного программирования: длительность и, следовательно, высокая стоимость разработки сложных приложений;

высокая стоимость сопровождения сложных систем, которая часто в несколько раз превосходит стоимость их разработки; низкий уровень повторной используемости программ и т.п.;

объединение технологии ЭС с технологией традиционного программирования добавляет новые качества к программным продуктам за счет: обеспечения динамичной модификации приложений пользователем, а не программистом; большей "прозрачности" приложения (например, знания хранятся на ограниченном ЕЯ, что не требует комментариев к знаниям, упрощает обучение и сопровождение); лучшей графики; интерфейса и взаимодействия.

По мнению ведущих специалистов, в недалекой перспективе ЭС найдут следующее применение:

ЭС будут играть ведущую роль во всех фазах проектирования, разработки, производства, распределения, продажи, поддержки и оказания услуг;

технология ЭС, получившая коммерческое распространение, обеспечит революционный прорыв в интеграции приложений из готовых интеллектуально-взаимодействующих модулей.

ЭС предназначены для так называемых неформализованных задач, т.е. ЭС не отвергают и не заменяют традиционного подхода к разработке программ, ориентированного на решение формализованных задач.

Неформализованные задачи обычно обладают следующими особенностями:

ошибочностью, неоднозначностью, неполнотой и противоречивостью исходных данных;

ошибочностью, неоднозначностью, неполнотой и противоречивостью знаний о проблемной области и решаемой задаче;

большой размерностью пространства решения, т.е. перебор при поиске решения весьма велик;

динамически изменяющимися данными и знаниями.

Следует подчеркнуть, что неформализованные задачи представляют большой и очень важный класс задач. Многие специалисты считают, что эти задачи являются наиболее массовым классом задач, решаемых ЭВМ.

Экспертные системы и системы искусственного интеллекта отличаются от систем обработки данных тем, что в них в основном используются символьный (а не числовой) способ представления, символьный вывод и эвристический поиск решения (а не исполнение известного алгоритма).

Экспертные системы применяются для решения только трудных практических (не игрушечных) задач. По качеству и эффективности решения экспертные системы не уступают решениям эксперта-человека. Решения экспертных систем обладают "прозрачностью", т.е. могут быть объяснены пользователю на качественном уровне. Это качество экспертных систем обеспечивается их способностью рассуждать о своих знаниях и умозаключениях. Экспертные системы способны пополнять свои знания в ходе взаимодействия с экспертом. Необходимо отметить, что в настоящее время технология экспертных систем используется для решения различных типов задач (интерпретация, предсказание, диагностика, планирование, конструирование, контроль, отладка, инструктаж, управление) в самых разнообразных проблемных областях, таких, как финансы, нефтяная и газовая промышленность, энергетика, транспорт, фармацевтическое производство, космос, металлургия, горное дело, химия, образование, целлюлозно-бумажная промышленность, телекоммуникации и связь и др.

Коммерческие успехи к фирмам-разработчикам систем искусственного интеллекта (СИИ) пришли не сразу. На протяжении 1960 - 1985 гг. успехи ИИ касались в основном исследовательских разработок, которые демонстрировали пригодность СИИ для практического использования. Начиная примерно с 1985 г. (в массовом масштабе с 1988 - 1990 гг.), в первую очередь ЭС, а в последние годы системы, воспринимающие естественный язык (ЕЯ-системы), и нейронные сети (НС) стали активно использоваться в коммерческих приложениях.

Следует обратить внимание на то, что некоторые специалисты (как правило, специалисты в программировании, а не в ИИ) продолжают утверждать, что ЭС и СИИ не оправдали возлагавшихся на них ожиданий и умерли. Причины таких заблуждений состоят в том, что эти авторы рассматривали ЭС как альтернативу традиционному программированию, т.е. они исходили из того, что ЭС в одиночестве (в изоляции от других программных средств) полностью решают задачи, стоящие перед заказчиком. Надо отметить, что на заре появления ЭС специфика используемых в них языков, технологии разработки приложений и используемого оборудования (например, Lisp-машины) давала основания предполагать, что интеграция ЭС с традиционными, программными системами является сложной и, возможно, невыполнимой задачей при ограничениях, накладываемых реальными приложениями. Однако в настоящее время коммерческие инструментальные средства (ИС) для создания ЭС разрабатываются в полном соответствии с современными технологическими тенденциями традиционного программирования, что снимает проблемы, возникающие при создании интегрированных приложений.

Причины, приведшие СИИ к коммерческому успеху, следующие.

Интегрированность. Разработаны инструментальные средства искусственного интеллекта (ИС ИИ), легко интегрирующиеся с другими информационными технологиями и средствами (с CASE, СУБД, контроллерами, концентраторами данных и т.п.).

Открытость и переносимость. ИС ИИ разрабатываются с соблюдением стандартов, обеспечивающих открытость и переносимость [14].

Использование языков традиционного программирования и рабочих станций. Переход от ИС ИИ, реализованных на языках ИИ (Lisp, Prolog и т.п.), к ИС ИИ, реализованным на языках традиционного программирования (С, C++ и т.п.), упростил обеспечение интегриро-ванности, снизил требования приложений ИИ к быстродействию ЭВМ и объемам оперативной памяти. Использование рабочих станций (вместо ПК) резко увеличило круг приложений, которые могут быть выполнены на ЭВМ с использованием ИС ИИ.

Архитектура клиент-сервер. Разработаны ИС ИИ, поддерживающие распределенные вычисления по архитектуре клиент-сервер, что позволило: снизить стоимость оборудования, используемого в приложениях, децентрализовать приложения, повысить надежность и общую производительность (так как сокращается количество информации, пересылаемой между ЭВМ, и каждый модуль приложения выполняется на адекватном ему оборудовании).

Проблемно/предметно-ориентированные ИС ИИ. Переход от разработок ИС ИИ общего назначения (хотя они не утратили свое значение как средство для создания ориентированных ИС) к проблемно/предметно-ориентированным ИС ИИ [9] обеспечивает: сокращение сроков разработки приложений; увеличение эффективности использования ИС; упрощение и ускорение работы эксперта; повторную используемость информационного и программного обеспечения (объекты, классы, правила, процедуры).

2.2 Структура экспертных систем

Типичная статическая ЭС состоит из следующих основных компонентов (рис. 1.):

·              решателя (интерпретатора);

·              рабочей памяти (РП), называемой также базой данных (БД);

·              базы знаний (БЗ);

·              компонентов приобретения знаний;

·              объяснительного компонента;

·              диалогового компонента.

База данных (рабочая память) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, используемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (в первую очередь долгосрочных), хранимых в системе.

База знаний (БЗ) в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.

Рис. 1

Решатель, используя исходные данные из рабочей памяти и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.

Компонент приобретения знаний автоматизирует процесс наполнения ЭС знаниями, осуществляемый пользователем-экспертом.

Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решение) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.

Диалоговый компонент ориентирован на организацию дружественного общения с пользователем как в ходе решения задач, так и в процессе приобретения знаний и объяснения результатов работы.

В разработке ЭС участвуют представители следующих специальностей:

эксперт в проблемной области, задачи которой будет решать ЭС;

инженер по знаниям - специалист по разработке ЭС (используемые им технологию, методы называют технологией (методами) инженерии знаний);

программист по разработке инструментальных средств (ИС), предназначенных для ускорения разработки ЭС.

Необходимо отметить, что отсутствие среди участников разработки инженеров по знаниям (т. е. их замена программистами) либо приводит к неудаче процесс создания ЭС, либо значительно удлиняет его.

Эксперт определяет знания (данные и правила), характеризующие проблемную область, обеспечивает полноту и правильность введенных в ЭС знаний.

Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы ЭС; осуществляет выбор того ИС, которое наиболее подходит для данной проблемной области, и определяет способ представления знаний в этом ИС; выделяет и программирует (традиционными средствами) стандартные функции (типичные для данной проблемной области), которые будут использоваться в правилах, вводимых экспертом.

Программист разрабатывает ИС (если ИС разрабатывается заново), содержащее в пределе все основные компоненты ЭС, и осуществляет его сопряжение с той средой, в которой оно будет использовано.

Экспертная система работает в двух режимах: режиме приобретения знаний и в режиме решения задачи (называемом также режимом консультации или режимом использования ЭС).

В режиме приобретения знаний общение с ЭС осуществляет (через посредничество инженера по знаниям) эксперт. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования с данными, характерные для рассматриваемой области.

Отметим, что режиму приобретения знаний в традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые программистом. Таким образом, в отличие от традиционного подхода в случае ЭС разработку программ осуществляет не программист, а эксперт (с помощью ЭС), не владеющий программированием.

В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ его получения. Необходимо отметить, что в зависимости от назначения ЭС пользователь может не быть специалистом в данной проблемной области (в этом случае он обращается к ЭС за результатом, не умея получить его сам), или быть специалистом (в этом случае пользователь может сам получить результат, но он обращается к ЭС с целью либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу). В режиме консультации данные о задаче пользователя после обработки их диалоговым компонентом поступают в рабочую память. Решатель на основе входных данных из рабочей памяти, общих данных о проблемной области и правил из БЗ формирует решение задачи. ЭС при решении задачи не только исполняет предписанную последовательность операции, но и предварительно формирует ее. Если реакция системы не понятна пользователю, то он может потребовать объяснения:

"Почему система задает тот или иной вопрос?", "как ответ, собираемый системой, получен?".

Структуру, приведенную на рис. 1.1, называют структурой статической ЭС. ЭС данного типа используются в тех приложениях, где можно не учитывать изменения окружающего мира, происходящие за время решения задачи. Первые ЭС, получившие практическое использование, были статическими.

На рис. 1.2 показано, что в архитектуру динамической ЭС по сравнению со статической ЭС вводятся два компонента: подсистема моделирования внешнего мира и подсистема связи с внешним окружением. Последняя осуществляет связи с внешним миром через систему датчиков и контроллеров. Кроме того, традиционные компоненты статической ЭС (база знаний и машина вывода) претерпевают существенные изменения, чтобы отразить временную логику происходящих в реальном мире событий.

Подчеркнем, что структура ЭС, представленная на рис. 1.1 и 1.2, отражает только компоненты (функции), и многое остается "за кадром". На рис. 1.3 приведена обобщенная структура современного ИС для создания динамических ЭС, содержащая кроме основных компонентов те возможности, которые позволяют создавать интегрированные приложение в соответствии с современной технологией программирования. технологией программирования.

Рис.1.2

.3 Этапы разработки экспертных систем

Разработка ЭС имеет существенные отличия от разработки обычного программного продукта. Опыт создания ЭС показал, что использование при их разработке методологии, принятой в традиционном программировании, либо чрезмерно затягивает процесс создания ЭС, либо вообще приводит к отрицательному результату.

Использовать ЭС следует только тогда, когда разработка ЭС возможна, оправдана и методы инженерии знаний соответствуют решаемой задаче. Чтобы разработка ЭС была возможной для данного приложения, необходимо одновременное выполнение по крайней мере следующих требований:

) существуют эксперты в данной области, которые решают задачу значительно лучше, чем начинающие специалисты;

) эксперты сходятся в оценке предлагаемого решения, иначе нельзя будет оценить качество разработанной ЭС;

) эксперты способны вербализовать (выразить на естественном языке) и объяснить используемые ими методы, в противном случае трудно рассчитывать на то, что знания экспертов будут "извлечены" и вложены в ЭС;

) решение задачи требует только рассуждений, а не действий;

) задача не должна быть слишком трудной (т.е. ее решение должно занимать у эксперта несколько часов или дней, а не недель);

) задача хотя и не должна быть выражена в формальном виде, но все же должна относиться к достаточно "понятной" и структурированной области, т.е. должны быть выделены основные понятия, отношения и известные (хотя бы эксперту) способы получения решения задачи;

) решение задачи не должно в значительной степени использовать "здравый смысл" (т.е. широкий спектр общих сведений о мире и о способе его функционирования, которые знает и умеет использовать любой нормальный человек), так как подобные знания пока не удается (в достаточном количестве) вложить в системы искусственного интеллекта.

Использование ЭС в данном приложении может быть возможно, но не оправдано. Применение ЭС может быть оправдано одним из следующих факторов:

) решение задачи принесет значительный эффект, например экономический;

)использование человека-эксперта невозможно либо из-за недостаточного количества экспертов, либо из-за необходимости выполнять экспертизу одновременно в различных местах;

) использование ЭС целесообразно в тех случаях, когда при передаче информации эксперту происходит недопустимая потеря времени или информации;

использование ЭС целесообразно при необходимости решать задачу в окружении, враждебном для человека.

Приложение соответствует методам ЭС, если решаемая задача обладает совокупностью следующих характеристик:

) задача может быть естественным образом решена посредством манипуляции с символами (т.е. с помощью символических рассуждений), а не манипуляций с числами, как принято в математических методах и в традиционном программировании;

) задача должна иметь эвристическую, а не алгоритмическую природу, т.е. ее решение должно требовать применения эвристических правил. Задачи, которые могут быть гарантированно решены (с соблюдением заданных ограничений) с помощью некоторых формальных процедур, не подходят для применения ЭС;

) задача должна быть достаточно сложна, чтобы оправдать затраты на разработку ЭС. Однако она не должна быть чрезмерно сложной (решение занимает у эксперта часы, а не недели), чтобы ЭС могла ее решать;

) задача должна быть достаточно узкой, чтобы решаться методами ЭС, и практически значимой.

При разработке ЭС, как правило, используется концепция "быстрого прототипа". Суть этой концепции состоит в том, что разработчики не пытаются сразу построить конечный продукт. На начальном этапе они создают прототип (прототипы) ЭС. Прототипы должны удовлетворять двум противоречивым требованиям: с одной стороны, они должны решать типичные задачи конкретного приложения, а с другой - время и трудоемкость их разработки должны быть весьма незначительны, чтобы можно было максимально запараллелить процесс накопления и отладки знаний (осуществляемый экспертом) с процессом выбора (разработки) программных средств (осуществляемым инженером по знаниям и программистом). Для удовлетворения указанным требованиям, как правило, при создании прототипа используются разнообразные средства, ускоряющие процесс проектирования.

Прототип должен продемонстрировать пригодность методов инженерии знаний для данного приложения. В случае успеха эксперт с помощью инженера по знаниям расширяет знания прототипа о проблемной области. При неудаче может потребоваться разработка нового прототипа или разработчики могут прийти к выводу о непригодности методов ЭС для данного приложения. По мере увеличения знаний прототип может достигнуть такого состояния, когда он успешно решает все задачи данного приложения. Преобразование прототипа ЭС в конечный продукт обычно приводит к перепрограммированию ЭС на языках низкого уровня, обеспечивающих как увеличение быстродействия ЭС, так и уменьшение требуемой памяти. Трудоемкость и время создания ЭС в значительной степени зависят от типа используемого инструментария.

В ходе работ по созданию ЭС сложилась определенная технология их разработки, включающая шесть следующих этапов (рис. 1.4):

идентификацию, концептуализацию, формализацию, выполнение, тестирование, опытную эксплуатацию. На этапе идентификации определяются задачи, которые подлежат решению, выявляются цели разработки, определяются эксперты и типы пользователей.

На этапе концептуализации проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач.

На этапе формализации выбираются ИС и определяются способы представления всех видов знаний, формализуются основные понятия, определяются способы интерпретации знаний, моделируется работа системы, оценивается адекватность целям системы зафиксированных понятий, методов решений, средств представления и манипулирования знаниями.

На этапе выполнения осуществляется наполнение экспертом базы знаний. В связи с тем, что основой ЭС являются знания, данный этап является наиболее важным и наиболее трудоемким этапом разработки ЭС. Процесс приобретения знаний разделяют на извлечение знаний из эксперта, организацию знаний, обеспечивающую эффективную работу системы, и представление знаний в виде, понятном ЭС. Процесс приобретения знаний осуществляется инженером по знаниям на основе анализа деятельности эксперта по решению реальных задач.

2.4 Преимущества экспертных систем

Само собою напрашивается вопрос: зачем разрабатывать экспертные системы? Не лучше ли обратиться к человеческому опыту? Однако искусственная компетентность ЭС имеет ряд существенных преимуществ перед человеческой. Они представлены ниже в (таблице 1).

Таблица 1.

 Человеческая компетентность

 Искусственная компетентность

Человеческая компетенция ослабевает со временем. Перерыв в деятельности человека-эксперта может серьёзно отразиться на его профессиональных качествах. Не постоянная.

Постоянная

Передача знаний от одного человека другому - долгий и дорогой процесс.

Передача искусственной информации - это простой процесс копирования программы или файла данных.

 Трудно документируемая

Легко документируемая, т.к. способ представления искусственной компетентности в системе отображен в описании этого представления на естественном языке.

Непредсказуемая, зависящая от эмоций. Эксперт-человек может принимать разные решения в тождественных ситуациях из-за эмоций, забыть в кризисной ситуации важное правило.

Устойчивая. Экспертные системы устойчивы к «помехам». Результаты экспертной системы - стабильны.

Дорогая. Эксперты, особенно высококвалифицированные обходятся очень дорого.

Экспертные системы, наоборот, сравнительно недороги. Их разработка дорога, но они дёшевы в эксплуатации.


Вот несколько примеров того, как ЭС позволяют сэкономить финансовые ресурсы. AmericanExpress сократила свои потери на $27 млн в год благодаря ЭС, определяющей целесообразность выдачи или отказа в кредите той или иной фирме. Компания DEC ежегодно экономит $70 млн., используя системуXCON/XSEL, которая по заказу покупателя составляет конфигурацию вычислительной системы VAX. Компания Sira сократила затраты на строительство трубопровода в Австралии на $40 млн. за счет ЭС, управляющей трубопроводом.

Бортовая ЭС на транспортном самолете позволяет снизить эксплуатационные расходы до $150 млн. за весь срок его эксплуатации.

Но обычно ЭС используются как советчики экспертов-людей, не заменяя их. "…Вероятно, можно отказаться от наиболее квалифицированного эксперта, но во многих ситуациях необходимо оставить в системе место для эксперта со средней квалификацией.

Экспертные системы используются при этом для усиления и расширения профессиональных возможностей такого пользователя” (Уотермен, "Руководство по экспертным системам”).

Все же в некоторых видах деятельности человеческая компетентность превосходит искусственную. Это не есть отражение фундаментальных ограничений ИИ, но характерно для его современного состояния.

Таблица 2.

Человеческая компетентность

Искусственная компетентность

Творческая, использующая воображение, аналогии с ситуациями из других предметных областей.

Запрограммированная, ЭС тяготеет к рутинному поведению.

Приспосабливающаяся

Нуждается в подсказке, мало приспособлена к обучению новым концепциям и правилам.

Использует чувственное восприятие визуальной, звуковой, осязательной или обонятельной информации.

Использует символьный ввод

Широкая по охвату

Узконаправленная

Использует общедоступные знания. Человек использует огромный объем общедоступных знаний, которые почти невозможно встроить в ЭС.

Использует только специализированные знания.


.5 Особенности экспертных систем

Особенности экспертных систем, отличающие их от обычных программ, заключаются в том, что они должны обладать следующими качествами.

. Компетентностью, а именно:

·              достигать экспертного уровня решений, т.е. в конкретной предметной области иметь тот же уровень профессионализма, что и эксперты-люди;

·              быть умелой, т.е. применять знания эффективно и быстро, избегая, как и люди, ненужных вычислений;

·              иметь адекватную робастность, т.е. способность лишь постепенно снижать качество работы по мере приближения к границам диапазона компетентности или допустимой надёжности данных.

. Возможностью к символьным рассуждениям, а именно:

·              представлять знания в символьном виде;

·              переформулировать символьные знания. На языке искусственного интеллекта символ - это строка знаков, соответствующая содержанию некоторого понятия. Символы объединяют, чтобы выразить отношения между ними. Когда отношения представлены в экспертной системе они называются символьными структурами.

. Глубиной, а именно:

·              работать в предметной области, содержащей трудные задачи;

·              использовать сложные правила, т.е. использовать либо сложные конструкции правил, либо большое их количество.

. Самосознанием, а именно:

·      исследовать свои рассуждения, т.е. проверять их правильность;

·      объяснять свои действия.

Существует ещё одна важная особенность экспертных систем. Если обычные программы разрабатываются так, чтобы каждый раз порождать правильный результат, то экспертные системы разработаны с тем, чтобы вести себя как эксперты. Они, как правило, дают правильные ответы, но иногда, как и люди, способны ошибаться.

2.6 Области применения экспертных систем

Области применения систем, основанных на знаниях, могут быть сгруппированы в несколько основных классов: медицинская диагностика, контроль и управление, диагностика неисправностей в механических и электрических устройствах, обучение.

а) Медицинская диагностика.

Диагностические системы используются для установления связи между нарушениями деятельности организма и их возможными причинами. Наиболее известна диагностическая система MYCIN, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях. Ее первая версия была разработана в Стенфордском университете в середине 70-х годов. В настоящее время эта система ставит диагноз на уровне врача-специалиста. Она имеет расширенную базу знаний, благодаря чему может применяться и в других областях медицины.

б) Прогнозирование.

Прогнозирующие системы предсказывают возможные результаты или события на основе данных о текущем состоянии объекта. Программная система “Завоевание Уолл-стрита” может проанализировать конъюнктуру рынка и с помощью статистических методов алгоритмов разработать для вас план капиталовложений на перспективу. Она не относится к числу систем, основанных на знаниях, поскольку использует процедуры и алгоритмы традиционного программирования. Хотя пока еще отсутствуют ЭС, которые способны за счет своей информации о конъюнктуре рынка помочь вам увеличить капитал, прогнозирующие системы уже сегодня могут предсказывать погоду, урожайность и поток пассажиров. Даже на персональном компьютере, установив простую систему, основанную на знаниях, вы можете получить местный прогноз погоды.

в) Планирование.

Планирующие системы предназначены для достижения конкретных целей при решении задач с большим числом переменных. Дамасская фирма Informat впервые в торговой практике предоставляет в распоряжении покупателей 13 рабочих станций, установленных в холле своего офиса, на которых проводятся бесплатные 15-минутные консультации с целью помочь покупателям выбрать компьютер, в наибольшей степени отвечающий их потребностям и бюджету. Кроме того, компания Boeing применяет ЭС для проектирования космических станций, а также для выявления причин отказов самолетных двигателей и ремонта вертолетов. Экспертная система XCON, созданная фирмой DEC, служит для определения или изменения конфигурации компьютерных систем типа VAX и в соответствии с требованиями покупателя. Фирма DEC разрабатывает более мощную систему XSEL, включающую базу знаний системы XCON, с целью оказания помощи покупателям при выборе вычислительных систем с нужной конфигурацией. В отличие от XCON система XSEL является интерактивной.  

г) Интерпретация.

Интерпретирующие системы обладают способностью получать определенные заключения на основе результатов наблюдения. Система PROSPECTOR, одна из наиболее известных систем интерпретирующего типа, объединяет знания девяти экспертов. Используя сочетания девяти методов экспертизы, системе удалось обнаружить залежи руды стоимостью в миллион долларов, причем наличие этих залежей не предполагал ни один из девяти экспертов. Другая интерпретирующая система- HASP/SIAP. Она определяет местоположение и типы судов в тихом океане по данным акустических систем слежения.  

д) Контроль и управление.

Системы, основанные на знаниях, могут применятся в качестве интеллектуальных систем контроля и принимать решения, анализируя данные, поступающие от нескольких источников. Такие системы уже работают на атомных электростанциях, управляют воздушным движением и осуществляют медицинский контроль. Они могут быть также полезны при регулировании финансовой деятельности предприятия и оказывать помощь при выработке решений в критических ситуациях.   

е) Диагностика неисправностей в механических и электрических устройствах

В этой сфере системы, основанные на знаниях, незаменимы как при ремонте механических и электрических машин (автомобилей, дизельных локомотивов и т.д.), так и при устранении неисправностей и ошибок в аппаратном и программном обеспечении компьютеров.  

ж) Обучение. 

Системы, основанные на знаниях, могут входить составной частью в компьютерные системы обучения. Система получает информацию о деятельности некоторого объекта (например, студента) и анализирует его поведение. База знаний изменяется в соответствии с поведением объекта. Примером этого обучения может служить компьютерная игра, сложность которой увеличивается по мере возрастания степени квалификации играющего. Одной из наиболее интересных обучающих ЭС является разработанная Д. Ленатом система EURISCO, которая использует простые эвристики. Эта система была опробована в игре Т. Тревевеллера, имитирующая боевые действия. Суть игры состоит в том, чтобы определить состав флотилии, способной нанести поражение в условиях неизменяемого множества правил. Система EURISCO включила в состав флотилии небольшие, способные провести быструю атаку корабли и одно очень маленькое скоростное судно и постоянно выигрывала в течение трех лет, несмотря на то, что в стремлении воспрепятствовать этому правила игры меняли каждый год.

Большинство ЭС включают знания, по содержанию которых их можно отнести одновременно к нескольким типам. Например, обучающая система может также обладать знаниями, позволяющими выполнять диагностику и планирование. Она определяет способности обучаемого по основным направлениям курса, а затем с учетом полученных данных составляет учебный план. Управляющая система может применяться для целей контроля, диагностики, прогнозирования и планирования. Система, обеспечивающая сохранность жилища, может следить за окружающей обстановкой, распознавать происходящие события (например, открылось окно), выдавать прогноз (вор-взломщик намеревается проникнуть в дом) и составлять план действий (вызвать полицию).  

з) Экспертные системы в Логистике

Под экспертными системами в логистике понимают специальные компьютерные программы, помогающие специалистам принимать решения, связанные с управлением материальными потоками. Экспертная система может аккумулировать знания и опыт нескольких специалистов-экспертов, работающих в разных областях. Труд высококвалифицированных экспертов стоит дорого, однако, как правило, требуется не повседневно. Возможность получить совет экспертов по разным вопросам посредством обращения к компьютеру позволяет квалифицированно решать сложные задачи, повышает производительность труда персонала и в то же время не требует затрат на содержание штата высокооплачиваемых специалистов.

Применение экспертных систем позволяет:

принимать быстрые и качественные решения в области управления материальными потоками;

готовить опытных специалистов за относительно более короткий промежуток времени;

Обращение с экспертными программами за короткий промежуток времени формирует опытного специалиста. В то же время, задача повышения обучающих возможностей экспертных систем является сегодня актуальной, так как большинство программ не объясняют пользователю причины рекомендуемых решений.

сохранять «ноу - хау» компании, так как персонал, пользующийся системой, не может вынести за пределы компании опыт и знания, содержащиеся в экспертной системе;

использовать опыт и знания высококвалифицированных специалистов на непрестижных, опасных, скучных и тому подобных рабочих местах.

К недостаткам экспертных систем следует отнести ограниченную возможность использования «здравого смысла». Логистические процессы включают множество операций с разнообразными грузами. Учесть все особенности в экспертной программе невозможно. Поэтому, чтобы не поставить коробку весом в сто килограммов на коробку весом в пять килограммов здравым смыслом, дополняющим знания экспертной системы, должен обладать пользователь.

Экспертные системы применяются на различных стадиях логистического процесса, облегчая решение проблем, требующих значительного опыта и затрат времени. Например, на складе, при принятии решения о пополнении запасов, когда менеджеру необходимо оценить большой объем разнообразной информации: ожидаемые цены в разрезе закупаемых товаров, тарифы на доставку, необходимость одновременного пополнения запасов по разным позициям ассортимента ит.д.

Использование здесь экспертных систем позволяет принимать не только правильные, но и быстрые решения, что зачастую не менее важно.

В качестве примера использования экспертных систем в складском хозяйстве приведем систему Inventory Management Assistant, IMA («помощник в складском менеджменте»), разработанную для логистического отдела Военно-воздушных сил США. Отдел обслуживает свыше 19000 самолетов по всему миру. 

Складская система отдела содержит 916000 наименований запасных частей для самолетов. Цель создания IMA - помощь персоналу складов при решении задач, связанных с управлением запасами. Использование названной экспертной системы позволило на 8-10% повысить эффективность решения обычных проблем. Эффективность решения вопросов в сложных ситуациях возросла на 15 - 18%.  Наиболее известные ЭС, разработанные в 60-70-х годах, стали в своих областях уже классическими. По происхождению, предметным областям и по преемственности применяемых идей, методов и инструментальных программных средств их можно разделить на несколько семейств. 

. META - DENDRAL.Система DENDRAL позволяет определить наиболее вероятную структуру химического соединения по экспериментальным данным (масс-спектрографии, данным ядерном магнитного резонанса и др.).M-D автоматизирует процесс приобретения знаний дляDENDRAL. Она генерирует правила построения фрагментов химических структур. 

2. MYCIN-EMYCIN-TEIREIAS-PUFF-NEOMYCIN. Это семейство медицинских ЭС и сервисных программных средств для их построения.

. PROSPECTOR  KAS PROSPECTOR- предназначена для поиска (предсказания) месторождений на основе геологических анализов. KAS- система приобретения знаний для PROSPECTOR. 

. CASNET. Система CASNET- медицинская ЭС для диагностики выдачи рекомендаций по лечению глазных заболеваний. На ее основе разработан язык инженерии знаний EXPERT, с помощью которой создан ряд других медицинских диагностических систем.

4.      HEARSAY - HEARSAY -2- HEARSAY -3- AGE.

Первые две системы этого ряда являются развитием интеллектуальной системы распознавания слитной человеческой речи, слова которой берутся из заданного словаря. Эти системы отличаются оригинальной структурой, основанной на использовании доски объявлений- глобальной базы данных, содержащей текущие результаты работы системы. В дальнейшем на основе этих систем были созданы инструментальные системы HEARSAY-3 и AGE (Attempt to Generalize- попытка общения) для построения ЭС.

Системы AM (Artifical Mathematician- искусственный математик) и EURISCO были разработаны в Станфордском университете доктором Д. Ленатом для исследовательских и учебных целей. Ленат считает, что эффективность любой ЭС определяется закладываемыми в нее знаниями. По его мнению, чтобы система была способна к обучению, в нее должно быть введено около миллиона сведений общего характера. Это примерно соответствует объему информации, каким располагает четырехлетний ребенок со средними способностями. Ленат также считает, что путь создания узкоспециализированных ЭС с уменьшенным объемом знаний ведет к тупику.

электронный экспертный интерфейс обучающий

3. Проектирование компьютерной обучающей системы «Экспертные системы» в среду Blackboard

 

.1 Технология создания КОС «Экспертные системы»

 

Для начала работы в BlackBoard(bb.kai) необходимо войти в систему под своим логином и паролем.(3.1)

Рис.3.1

Далее нам нужно перейти в курсы «Информационные технологии» там где мы конструкторы данного раздела и можем создавать, изменять, редактировать обучающие материалы.(рис.3.2)

Рис.3.2

При переходе в курсы «Информационные технологии мы попадаем в «Обучающий материал», где у нас расположены все курсы.

Для того чтобы создать свой курс нам нужно:

Кликнуть левой кнопкой мыши по вкладке «Построить содержимое»

Выбрать «Учебный модуль» (рис3.3)

Рис3.3

После перехода мы создаем наш КОС «Экспертные системы»


Рис.3.4

Мы переходим на страницу «Изменить элемент». В первом пункте, где имя мы вводим название нашей первой главы КОС «Экспертные системы» в окне «текст» вводим всю нашу информацию по этой главе, а также с помощью панели инструментов мы видоизменяем наш текст или добавляем изображения, видео и т.д. из Content Collection. Тут же можно добавить обучающие видео-пособия с сайта YouTube.(рис.3.5)

Рис.3.5

Во втором пункте «Вложения» нам предлагают прикрепить файл к этой главе предварительно выбрав его по кнопке «Обзор Моего Компьютера» или «Обзор Content Collection» в последнем мы должны заранее загрузить файл в Content Collection.

Третий пункт «Стандартные параметры» устанавливает приватность вашей главы которую вы создаете, а также данная функция есть и при создании нашего раздела. Еще мы можем установить статистику просмотров нашего курса.

Четвертый пункт «Сохранить» с помощью этого пункта мы сохраняем наш элемент с информацией о первой главе нашего курса.(Рис.3.6)

Рис.3.6

После сохранения наша первая глава курса «Экспертные системы» успешно сохранена. И она у нас появилась в содержании. (рис.3.7)

Рис.3.7

Для заполнения курса мы делаем те же самые действия, что и с заполнением первой главы.

3.2 Технология загрузки теста КОС «Экспертные системы»

Для создания теста необходимо выполнить следующие действия:

. Перейдите в область содержимого требуемого учебного модуля

. Включите режим редактирования (кнопка «режим изменений»

ВКЛЮЧЕНО)

. Нажмите на кнопку «Создать оценку» и в выпадающем меню выберите пункт «Тест» (Рис.3.9)

Рис.3.9

. В появившейся форме нажмите «Создать», для создания нового теста или выберите тест из уже существующих. (Рис.3.9)

Рис.3.9

5. Введите название теста, его описание и инструкции, нажмите кнопку «Сохранить». (Рис.3.10)

Рис.3.10

Система выдает сообщение о создании теста (полотна теста).(Рис.3.11)

Рис.3.11

. Далее система предоставляет возможность заполнить тест вопросами.

Существует 3 способа:

Создать новые вопросы, выбрав нужный тип из предложенных системой. (Рис.3.12)

Рис.3.12

Повторно использовать уже существующие вопросы. (рис.3.13)

Пакетное добавление (кнопка «Отправить вопросы»). В окне загрузки пакета необходимо выбрать файл с локального диска посредством перехода по кнопке «Обзор». Выбрав файл и выставив в текстовом поле количество баллов за вопрос, осуществляем переход по кнопке «Сохранить». (рис.3.14)

Загрузка вопросов в пул в пакетном режиме (пакетное добавление).

Пулы - это коллекции и группы вопросов, которые могут быть включены в тесты и исследования.

Рис.3.13

Рис.3.14

Посредством загрузки пакетных файлов создается 14 типов вопросов из возможных 17 (исключая типы «Или», «Быстрые переходы» и «Вопрос с вычисленной формулой»). Необходимо загрузить пакет в пул выполняя следующие действия:

. Пользователь переходит в область содержимого тестового курса.

. В панели управления курсом пользователь переходит по кнопке «Средства курса», а затем осуществляем переход по кнопке «Тесты, опросы и пулы». (Рис.3.15)

Рис.3.15

В окне пулов курса создаем новый пул, выбирая в панели действий кнопку «Создать пул».(Рис.3.16)

Рис.3.16

. В появившемся окне вводим в текстовое поле название пула и нажимаем «Сохранить».(Рис.3.17)

. Далее появляется окно полотна пула, в котором формируется его содержимое. В панели действий осуществляем операцию перехода по кнопке «Отправить вопросы».(Рис.3.18)

Рис.3.17

Рис.3.18

. Появилось окно загрузки пакета, в котором необходимо выбрать в диалоговом режиме файл с локального диска посредством перехода по кнопке «Обзор». Выбрав файл и выставив в текстовом поле количество баллов за вопрос, осуществляем переход по кнопке «Сохранить».(Рис.3.19)

Рис.3.19

. Затем снова появляется полотно пула с загруженными из пакетного файла вопросами. При необходимости редактируем вопросы, подгружаем изображения в вопрос и т.п.(Рис.3.19)

Рис.3.19

Осуществляем переход через нажатие кнопки «Ок». Далее появляется окно, в котором отображаются пулы курса, в том числе только что созданный нами пул. (Рис.3.20)

Рис.3.20

.2.1 Создание пакета вопросов в редакторе MS Excel

Структура файла MS Excel с вопросами для загрузки должна быть следующей:

Метка типа вопроса

Формулировка вопроса

Описание вариантов ответов


Метки типов вопросов:

. Запрос выбора варианта ответа - MC;

. Вопрос, требующий постановки вопроса - QUIZ_BOWL;

. Истина/ложь - TF;

. Запрос выбора пропущенного текста - JUMBLED_SENTENCE;

. Запрос ранжирования - ORD;

. Шкала мнения/шкала Лайкерта - OP;

. Запрос ввода пропущенного текста - FIB;

. Запрос нескольких ответов - MA;

. Соответствие - MAT;

. Эссе - ESS;

. Запрос вычисленного числового ответа - NUM;

. Запрос файла - FIL;

. Запрос многократного ввода пропущенного текста - FIB_PLUS;

. Ответ, ограниченный по длине - SR.

Вопросы типа "Быстрые переходы", "Вопрос с вычисленной формулой", "Или" через файл не создаются и не подгружаются.

Формулировка вопроса должна исключать двоякое понимание сути вопроса и соответствовать типу вопроса.

Описание вариантов ответов. Каждый тип вопроса имеет свои специфические особенности, что диктует различия при описании вариантов ответов.

Типы вопросов:

. Запрос выбора варианта ответа . Тип предназначен для создания тестовых вопросов с несколькими вариантами ответа, один из которых верен. . В следующих после формулировки вопроса ячейках строки указываются возможные варианты ответа, причем каждый вариант должен сопровождаться меткой корректности. . Если ответ верен, в следующей по строке ячейке указывается метка correct; если нет, то указывается incorrect. . Только у одного ответа может стоять значение correct. . Допускается не более 20 ответов.

. Вопрос, требующий постановки вопроса ) Тип предназначен для постановки вопроса с использованием вопросительных слов, предложенных в задании. Обычно используется в лингвистических тестах. ) После формулировки вопроса указываются вопросительные слова, которые можно использовать в ответе, а через пустую ячейку - варианты вопросительных предложений.

. Истина/ложь ) Учащемуся предлагается определить, верно ли приведенное утверждение; ) После формулировки вопроса необходимо указать, верно ли высказывание или нет. ) Если высказывание верно, то указывается true; если нет - false.

. Запрос выбора пропущенного текста ) Учащемуся предлагается текст с пропущенными фрагментами и список возможных ответов. Возможно приведение как списка только верных ответов, так и списка, состоящего из верных и неверных ответов. ) В тексте вопроса, с помощью переменных [x1], [x2], …, [xN] (N = 1, 2, 3, …, Z), указываются области, в которых потом учащийся должен будет выбрать правильное значение. ) После формулировки вопроса указываются наборы, состоящие из значения и переменных, для которых данное значение является верным. Один ответ может соответствовать нескольким переменным. ) Наборы разделяются пустыми ячейками. ) Если указывается просто значение, то это означает, что ему не соответствует ни одна переменная - это неверные ответы, которые будут также предложены учащимся наравне с верными.

. Запрос ранжирования ) Учащемуся предлагается проставить ранги от 1 до N напротив предложенных понятий. Таким образом возможна постановка вопроса о какой-либо последовательности действий в алгоритме; последовательности исторических событий; приемлемости того или иного действия в какой-либо ситуации и т.д. ) После формулировки вопроса указываются ответы, выстроенные в правильном порядке. Система автоматически будет менять порядок при отображении вопроса учащемуся. ) Допускается указание не более 20 ответов.

. Шкала мнения/шкала Лайкерта ) С помощью данного типа вопросов возможно проведение исследований о мнении учащихся по тому или иному вопросу. ) При описании требуется лишь формулировка вопроса.

. Запрос ввода пропущенного текста ) Учащемуся предлагается ввести пропущенный в вопросе текст. ) После формулировки вопроса указываются возможные варианты текстового ответа учащегося. ) Допускается указание не более 20-ти ответов.

. Запрос нескольких ответов ) Тип предназначен для создания тестовых вопросов с несколькими вариантами ответа, из которых несколько могут верными. ) После формулировки вопроса указываются возможные варианты ответа с последующим указанием верны ли они или нет. ) Если вариант верен, указывается - correct; если нет - incorrect. ) Допускается не более 20-ти ответов.

. Соответствие ) Пользователю предлагается восстановить соответствие между левым и правым столбцами ответов. Например, восстановить соответствия между набором понятий и схожих определений. ) После формулировки вопроса указываются пары одной сущности и соответствующей ей второй сущности. Пары НЕ разделяются пустыми ячейками. ) При отображении вопроса учащемуся пары будут перемешаны. ) Допускается указание не более 20-ти пар соответствий.

. Эссе ) Запрос у пользователя краткого эссе на определенную тему. ) После формулировки вопроса Вы можете привести пример ответа на вопрос, однако данное поле не обязательно.

. Запрос вычисленного числового ответа ) Учащемуся предлагается ввести числовой ответ на вопрос. ) После формулировки вопроса указывается точное числовое значение ответа. ) В следующей ячейке на строке вопроса допустимо указание допустимой погрешности ответа учащегося.

. Запрос файла ) Запрос у учащегося файла в соответствии с формулировкой задания. ) При описании требуется лишь формулировка вопроса.

. Запрос многократного ввода пропущенного текста ) Учащемуся необходимо ввести произвольный текст, соответствующий пропущенному фрагменту в тексте вопроса. ) Указание в тексте вопроса областей, в которые учащемуся необходимо ввести свой текст, осуществляется с помощью переменных [x1], [x2], …, [xN] (N = 1, 2, 3, …, Z), аналогично запросу выбора пропущенного текста. ) Для каждой переменной указываются различные формулировки правильного ответа. ) Для разделения наборов, в каждом из которых указывается переменная и варианты ответа, используется пустая ячейка.

. Ответ, ограниченный по длине ) Запрос у пользователя краткого ответа. ) После формулировки вопроса Вы можете привести пример ответа на вопрос, однако данное поле не обязательно.

Для того, чтобы файл с тестовыми вопросами загрузить в Blackboard, необходимо сохранить файл в виде текста Юникод.

4. Руководство пользователя


.1 Аппаратно технические требования

.1.1 Минимальная аппаратная комплектация компьютера

Фактические требования к аппаратной комплектации для успешного и комфортного воспроизведения ИОМ зависят от установленной операционной системы, используемого браузера и технологической сложности компонентов ИОМ.

Содержимое ИОМ должно воспроизводится в клиентской вычислительной среде, основанной на следующей минимальный аппаратной конфигурации компьютера:

производительность процессора - не ниже AMD Athlon XP 1800+ или Intel Pentium IV 1.7 ГГц;

объем оперативной памяти - не менее 512 Мбайт;

объем памяти видеокарты - не менее 64 Мбайт (может быть частью оперативной памяти);

разрешение монитора - не ниже 1024 х 768, глубина цвета - не ниже 24 бита;

наличие звуковой подсистемы в стандарте AC’97.

4.1.2 Поддерживаемые операционные системы

Содержимое ИОМ должно воспроизводиться в клиентской вычислительной среде в web-браузере под управлением следующих операционных систем (ОС):

MS Windows XP SP3 (далее - XP);Wdows 7 (далее - Win7);MacOS X 10.5.2 (далее - MacOS);10.04 LNS (далее - Ubuntu) ;

Альт Линукс 5.0.1 Школьный Юниор (далее - AltLinux);

Mandriva Linux 2010.2 (далее - Mandriva).

Далее под термином «операционная система» понимается любая ОС из этого списка.

4.1.3 Требования к совместимости с веб-браузерами

Образовательные модули должны быть совместимы как минимум с наиболее распространенными на сегодняшний день веб-браузерами:

• Mozilla Firefox 3.6 и выше;

• Microsoft Internet Explorer 8 и выше;

• Google Chrome 10 и выше;

• Apple Safari 5 и выше.

Далее в документе под термином «браузер» понимается любой из названных браузеров.

При использовании плагинов веб-браузеров для воспроизведения образовательного контента необходимо удостовериться, что плагины для данного контента существуют в открытом доступе для указанных браузеров и функционируют под операционными системами.

Содержимое ИОМ должно воспроизводиться единообразно при использовании различных сочетаний браузеров и операционных систем.

Заключение

Разработаны тематические компоненты КОС «Экспертные системы» в среде BlackBoard. В ходе дипломного проекта было изучение материала, по выявлению возможностей и преимуществ экспертных систем. Данный электронный курс предполагается использовать в учебном процессе Колледжа информационных технологий при подготовке специалистов по направлению 230115 - Программное обеспечение компьютерных систем, а также других направлений для подготовки.

Литература

1.  Интеллектуализация ЭВМ - // В уч. пос. Перспективы развития вычислительной техники в 11 кн. Кн. 2. - М.: Высшая школа, 1989.

.    Искусственный интеллект. Применение в интегрированных производственных системах. Под ред. Э.Кьюсиака. - М.: Машиностроение, 1991.

.    Искусственный интеллект. Справочник в 3-х томах. - М.: Радио и связь, 1990.

.    Р.Левин, Д. Дранг, Б. Эдельсон. Практическое введение в технологию искусственного интеллекта и экспертных систем с иллюстрациями на Бейсике. - М.: Финансы и статистика, 1990.

.    Логический подход к искусственному интеллекту. - М.: Мир, 1990.

.    Ж.-Л. Лорьер. Системы искусственного интеллекта. - М: Мир, 1991.

.    Н.Г. Малышев, Л.С. Берштейн, А.В. Боженюк. Нечеткие модели для экспертных систем в САПР. - М.: Энергоатомиздат, 1991.

.    Д. Марселлус. Программирование экспертных систем на Турбо-Прологе. - М.: Финансы и статистика, 1994.

.    А.Н. Мелихов, Л.С. Бернштейн, С.Я. Коровин. Ситуационные советующие системы с нечеткой логикой. - М.: Наука, 1990.

.    Н. Нильсон. Принципы искусственного интеллекта. - М.: Радио и связь, 1985.

.    Обработка знаний. - М: Мир, 1990.

.    Э.В.Попов. Экспертные системы. - М:, Наука, 1987.

.    Построение экспертных систем. Под ред. Ф. Хейес-Рота, Д. Уотермена, Д. Лената. - М.: Мир, 1987.

.    Представление и использование знаний. - М: Мир, 1989.

.    Реальность и прогнозы искусственного интеллекта. - М.: Мир, 1987.

.    Системы управления базами данных и знаний. Справочное издание под ред. А.Н. Наумова. - М.: Финансы и статистика, 1991.

.    К.Таунсенд, Д.Фохт. Проектирование и программная реализация экспертных систем на персональных ЭВМ. - М.: Финансы и статистика, 1990.

.    Д. Уотерман. Руководство по экспертным системам. - М.: Мир, 1989.

. Экспертные системы. Принципы работы и примеры. Под ред. Р.Форсайта.- М.: Радио и связь, 1987. Дж. Элти, М. Кумбс. Экспертные системы. Концепции и примеры. - М.: Финансы и статистика, 1987

 

Приложение

 

Лабораторная работа № 1 Создание интерфейса ЭС


Цель работы: построить интерфейс для вывода и ввода необходимой для работы ЭС информации (вывод вопросов ЭС к пользователю, ввод в систему ответов пользователя, вывод решений ЭС); организовать работу решателя с данными, вводимыми с интерфейса; создать компьютерную программу, реализующую диалог пользователя с экспертной системой и работу решателя на основе ответов пользователя.

1.1. Краткие общие сведения по созданию Интерфейса пользователя

Для реализации Интерфейса пользователя необходимо организовать диалог пользователя с ЭС. Возможен выбор ответа на экране монитора из списка предложенных ответов с использованием графического оконного интерфейса и «мышки» или ввод ответа с клавиатуры («да-нет», цифры 1, 2, …, L), которым соответствует один из альтернативных ответов.

Единственное, но очень важное требование к интерфейсу пользователя - взаимодействие с ЭС должно быть удобным для пользователя.

При выборе ответа на вопрос ЭС или после принятого ЭС решения пользователю бывают нужны разъяснения. Для поддержки и помощи пользователю в таких случаях в Интерфейсе необходимо предусмотреть кнопку «?Помощь». Нажав на неё, пользователь сможет получить развернутое объяснение от Блока объяснений, что имеет в виду ЭС, поставив именно этот вопрос, или как было принято экспертной системой данное решение (детали построения Блока объяснений приведены в Лабораторной N3).

Помимо кнопки «? Помощь», при построении интерфейса экспертной системы необходимо предусмотреть ещё две кнопки: кнопку «Выход»- выход из программы ЭС, и кнопку «Начать сначала»- повторить работу с ЭС.

Эти кнопки нужны для того, чтобы пользователь мог корректно завершить работу с ЭС или, если необходимо, мог повторить цикл работы с экспертной системой, не запуская программу заново.

1.2. Организация диалога пользователя с ЭС

Для того чтобы наша экспертная система могла взаимодействовать с пользователем в интерактивном режиме, одной таблицы управления переходами мало, поскольку требуется еще информация о реакциях экспертной системы на ответы пользователя. Реакция же может быть двоякой: ответ (решение) системы или очередной вопрос пользователю. Поэтому для взаимодействия пользователя с ЭС построим Таблицу 2 «Вопросы-Ответы».

В соответствии с этой таблицей и в зависимости от состояния, в котором находится наша экспертная система, на экран монитора будут выводиться вопросы к пользователю или ответы экспертной системы.

Таблица 2. Вопросы-Ответы

0

Вопрос: Рассчитываете ли Вы потратить большую сумму денег на покупку фотоаппарата?

1

Ответ: Нет, я ограничен(а) в бюджете. Вопрос: Что для Вас важнее?

2

Ответ: Да, я не ограничен(а) в средствах. Вопрос: Умеете ли Вы обращаться с профессиональными фотоаппаратами?

3

Ответ: Нет, не умею. => Вам подойдут полупрофессиональные фотоаппараты. Вопросов больше нет.

4

Ответ: Да, есть опыт. Вопрос: Какой у Вас опыт работы с профессиональным фотоаппаратом?

5

Ответ: Меньше года. => Вам подойдут китовые фотоаппараты. Вопросов больше нет.

6

Ответ: Больше года. Вопрос: Где Вы предпочитаете фотографировать?

7

Ответ: В помещении. Вопрос: В студии?

8

Ответ: На улице, на природе. Вопрос: Что Вам больше нравиться фотографировать?

9

Ответ: Нет, я не планирую фотографировать в студии. =>Вам подойдут фотоаппараты с внешней вспышкой. Вопросов больше нет.

10

Ответ: Да, я планирую фотографировать в студии. Вопрос: Вы будите пользоваться специальной аппаратурой?

11

Ответ: Портреты => Вам подойдут такие фотоаппараты фирмы Canon и Nikon с объективами Canon EF 100mm f/2,8 , Nikon 50mm f/1.4G AF-S. Вопросов больше нет.

12

Ответ: Пейзажи. => Вам подойдут фотоаппараты фирмы Сanon и Nikon с объективами Canon EF-S 10-22 f/3.5-4.5 USM, Nikon Af 80-200mm f/2.8 D. Вопросов больше нет.

13

Ответ: Люблю все фотографировать. => Вам подойдут фотоаппараты фирмы Сanon и Nikon с объективами CANON EF 28-135 mm f/3.5-5.6, Nikkor 16-85mm f/3.5-5.6G ED. Вопросов больше нет.

14

Ответ: Нет, только фотоаппаратом. => Вам подойдут такие фотоаппараты как Nikon D90, Canon D500. Вопросов больше нет.

15

Ответ: Да, хочу максимально задействовать всю технику. => Вам подойдут такие фотоаппараты как Nikon D70, Canon 5D. Вопросов больше нет.

16

Ответ: Качество изображений. => Вам подойдут фотоаппараты мыльницы с отличным качеством снимков, стоимостью выше 7-8 тыс. руб. Вопросов больше нет.

17

Ответ: Стоимость. => Вам подойдут обычные фотоаппараты мыльницы. Вопросов больше нет.

18

Ответ: Наличие видеосъемки. => Вам подойдут такие фотоаппараты, как Nikon Coolpix S3100 Red и проч. Вопросов больше нет.


1.3. Реализация работы решателя в соответствии с ответами пользователя

Для того чтобы реализовать работу решателя в соответствии с ответами пользователя, необходимо организовать взаимодействие Таблицы 1 «Управление переходами состояний» и Таблицы 2 «Вопросы-ответы».

Для работы экспертной системы нам в каждый момент потребуется знать, в каком состоянии находится система.

Создадим управляющую ячейку (Таблица 3), в которую будем заносить номер текущего состояния системы. Эта ячейка поможет нам реализовать работу Решателя в соответствии с ответами пользователя.

Таблица 3. Текущее состояние

Текущее состояние

0


В начальном состоянии Экспертной системы значение в ячейке равно нулю. Ясно, что должно происходить дальше.

·              Из Таблицы 2 «Вопросы и ответы» на экран ЭВМ выводится ВОПРОС, соответствующий текущему состоянию системы.

Пользователь вводит ОТВЕТ (с клавиатуры или мышкой), который сравнивается со всеми возможными для текущего состояния ответами в Таблице 1 «Управление переходами состояний» (сравнивают с ответами, находящимися в столбце «ответ пользователя»).

Выбирают ту строку Таблицы 1, которой соответствует ответ, выбранный пользователем, и в управляющую ячейку (Таблица 3) вносят новое значение «текущего состояния», которое находится в найденной строке в столбце «конечное состояние».

Затем проверяется запись в ячейке «конец поиска». Если поиск не закончен (в ячейке «конец поиска» записан ноль), то цикл «вопрос ЭС - ответ пользователя» продолжается с пункта, обозначенного стрелкой à.

Если в ячейке «конец поиска» записана единица («1» = да, конец поиска), то Экспертная Система выдает на экран РЕШЕНИЕ, соответствующее «текущему состоянию» из Таблицы 2 «Вопросы- Ответы», переходит к Блоку объяснений (об этом будет сказано дальше) и останавливается.

1.4. Порядок проведения Лабораторной работы № 2

1. Студент выбирает любой способ организации диалога с пользователем (графический оконный интерфейс и «мышку» для выбора возможных ответов, вв3од ответа с клавиатуры в соответствии с одним из возможных альтернативных ответов, и т.д.).

. Предусматривает в интерфейсе кнопку «? Помощь» для поддержки пользователя при выборе им ответа на запрос ЭС и объяснения принятых ЭС решений, а также кнопку «Выход» для выхода из программы, и кнопку «Начать сначала» для повторения цикла работы с ЭС.

. Студент строит Таблицу 2 «Вопросы-Ответы» и Таблицу 3 «текущее состояние» системы.

. Создает программу, которая организует вывод на интерфейс вопросов и ответов из Таблицы 2 «Вопросы-Ответы».

. Создает программу, обеспечивающую цикл перехода системы в новое состояние в зависимости от ответа пользователя, и выдачу нового вопроса пользователю или ответа ЭС в зависимости от текущего состояния системы (реализация взаимодействия Таблицы 1, Таблицы 2 и Таблицы 3).

. Отлаживает программу, реализующую интерфейс пользователя и взаимодействие пользователя с ЭС.

. Показывает и вместе с преподавателем уточняет интерфейс пользователя.

1.5. Контрольные вопросы к Лабораторной работе № 1

1.      Как можно организовать интерфейс пользователя?

2.      Что необходимо учесть при построении интерфейса?

.        Каким требованиям должен удовлетворять интерфейс пользователя?

.        Как организовать работу Экспертной системы, чтобы учесть ответы пользователя на вопросы ЭС?

.        Что значит «удобный» интерфейс пользователя?

Приложение к лабораторной работе №1

Пример кода:

class BinaryTree {BinaryTree parent;BinaryTree yes;BinaryTree no;String question;String answer;boolean isEnd;BinaryTree(BinaryTree parent) {.parent = parent;

}BinaryTree setQuestion(String question) {.question = question;this;

}String getQuestion() {question;

}BinaryTree getParent() {parent;

}BinaryTree setAnswer(String answer) {.answer = answer;();this;

}String getAnswer() {answer;

}BinaryTree getYes() {(isEnd) return null;(yes == null) {= new BinaryTree(this);

}yes;

}BinaryTree getNo() {(isEnd) return null;(no == null) {= new BinaryTree(this);

}no;

}boolean isEnd() {isEnd;

}void setEnd() {.isEnd = true;

}void setNo(BinaryTree no) {.no = no;

}void setYes(BinaryTree yes) {.yes = yes;

}

}

Ядро экспертной системы, находиться в классе ExpertSysyem, в которой реализована рекурсивная функция обхода бинарного дерева:

static void start(BinaryTree db) IOException {(db.isEnd()) {.out.println(db.getAnswer());.out.println("Объяснить почему ЭС пришла к такому выводу?");(readBoolean()) {.clear();(db);(String el : stack) {.out.println(el);

}

};

}

System.out.println(db.getQuestion());

if(readBoolean()) start(db.getYes());start(db.getNo());

}

Данный метод производит проход в глубину, и идет от корневого узла, до конечного листа. В узлах находится вопросы, метод выводит вопрос и в зависимости от ответа пользователя производиться переход к следующему узлу, и так происходит до тех пор, пока не дойдет до листа, в котором хранится вывод. Также существует метод why (почему) это обратный рекурсивный метод, который идет от узла или листа, к корню дерева, и выводит на экран то, как ЭС, работала с пользователем. База знаний статическая, времени на реализацию динамической БД не было, но при желании вы можете добавить класс отвечающий за загрузку/выгрузку ЭС, и добавление новых правил и выводов в ее структуру. База знаний представлена следующим образом:

db = new BinaryTree(null);.setQuestion("Работает ПК?");.getYes().setAnswer("Вам не нужны услуги экспертной системы");.getNo().setQuestion("ПК включается?");.getNo().getNo().setQuestion("Свет есть?");.getNo().getNo().getYes().setAnswer("Поломался блок питания");.getNo().getNo().getNo().setAnswer("Включите свет");.getNo().getYes().setQuestion("Изображение есть на мониторе?");.getNo().getYes().getNo().setQuestion("Монитор подключен к сети?");.getNo().getYes().getNo().getNo().setAnswer("Подключите монитор");.getNo().getYes().getNo().getYes()

.setQuestion("Индикатор горит на мониторе");.getNo().getYes().getNo().getYes().getNo()

.setAnswer("Не работает монитор");.getNo().getYes().getNo().getYes().getYes()

.setAnswer("Не работает видеокарта");.getNo().getYes().getYes().setQuestion("Писк есть?");.getNo().getYes().getYes().getYes()

.setAnswer("Используйте руководство по пискам BIOS");.getNo().getYes().getYes().getNo().setQuestion("Загружаеться ОС?");.getNo().getYes().getYes().getNo().getNo()

.setQuestion("Есть сообщения об ошибках?");.getNo().getYes().getYes().getNo().getNo().getYes()

.setAnswer("Следуйте сообщениям об ошибках");.getNo().getYes().getYes().getNo().getNo().getNo()

.setAnswer("Не знаю");.getNo().getYes().getYes().getNo().getYes()

.setQuestion("При входе в ОС есть звук?");.getNo().getYes().getYes().getNo().getYes().getYes()

.setQuestion("Система загрузилась без ошибок");.getNo().getYes().getYes().getNo().getYes().getYes().getYes()

.setAnswer("Следуйте рекомендациям ОС");.getNo().getYes().getYes().getNo().getYes().getYes().getNo()

.setAnswer("Приятной работы");.getNo().getYes().getYes().getNo().getYes().getNo()

.setQuestion("У вас есть звуковая карта?");.getNo().getYes().getYes().getNo().getYes().getNo().getYes()

.setAnswer("Не работает звуковая карта");.getNo().getYes().getYes().getNo().getYes().getNo()

.setNo(db.getNo().getYes().getYes().getNo().getYes().getYes());

Похожие работы на - Разработка программного обеспечения лабораторного комплекса компьютерной обучающей системы (КОС) 'Экспертные системы'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!