Программы: 1001Soft.com - бесплатный софт: ICQ, Miranda, Winamp. Игры: Quake, Mortal Kombat.... Огромная коллекция.
Более 1000 флеш-игр онлайн!   Связь с администрацией RSS 2.0

Алфавитный указатель

A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z

А · Б · В · Г · Д · Е · Ж · З · И · К · Л · М · Н · О · П · Р · С · Т · У · Ф · Х · Ц · Ч · Ш · Э · Ю · Я

1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9


Популярный софт

По просмотрам:

[5]  [50]  [500]

По загрузкам:

[5]  [50]  [500]

Новые:

[5]  [50]  [500]



Как создать свою экспертную систему

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

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

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

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

Для персонального компьютера классом ниже 586, выбирать из систем управления базами данных особо не приходится. Это или FoxPro или CLIPPER, в лучшем случае ACCESS for WINDOWS. Чем хороши эти системы управления базами данных и что следует выбрать для построения экспертной системы?

FoxPro хорош всем, работает и в DOS'е и в WINDOWS'е, но имеет медленный и слаборазвитый механизм обработки макросов.

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

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

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

Рассмотрим базовые характеристики экспертной системы

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

Представить себе модель экспертной системы.

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

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

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

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

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

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

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

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

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

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

Что следует понимать под изучением механизма принятия решения экспертом. Некоторый статистический материал, накопленный на базе медсанчасти корпорации "Киевгорстрой" (МСЧ КГС), свидетельствует, что эксперт-специалист сознательно или бессознательно скрывает, как он достигает своей оценки, исследуя исходный материал.

Например, в кабинете ультразвуковой диагностики МСЧ КГС за три года было обследовано 10 000 человек, составлено более 30 000 описаний и заключений. Все исследования имеют формализованный характер, что позволяет сравнивать эти исследования и сопоставлять их. Описания и заключения составляются на основе просмотра эхограмм ультразвукового аппарата, как в реальном масштабе времени, так и в записи (на видеомагнитофоне, в памяти компьютера). Заполнение описаний и заключения ведется по канонам, принятым в этом разделе медицины [14].

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

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

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

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

Методика объектного подхода подразумевает прежде всего использование объектно-ориентированных языков программирования. Но поскольку мы уже остановились на CLIPPER'е, который таковым не является, то придется подработать основные идеи объектно-ориентированного программирования (ООП) для нашей ситуации.

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

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

Объект - это инкапсулированная абстракция, которая включает информацию о состоянии и четко определенное множество протокола доступа (сообщения, которые обрабатывает объект).

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

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

Экземпляр объекта. Объекты принадлежат к какому-либо классу. Свойства экземпляра объекта определяются описанием класса.

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

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

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

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

Мощный инструмент разработки экспертной системы получаем, если использовать сложную структуры данных, объединённую с ассоциативными базами данных. База данных экспертной системы должна быть представлена в виде множества фактов таким образом, чтобы получать четко структурированную информацию. Для этого используем абстракцию данных, которую применяем как процесс организации различных фрагментов информации, рассмотренных выше, в единые логические единицы (возможно, иерархические), придавая ей при этом некоторую концептуально осмысленную форму. Каждая информационная единица должна быть легко доступна в программе. В идеальном случае все детали реализации такой структуры должны быть невидимы пользователю этой структуры. Самое главное в этом процессе - дать пользователю возможность использовать информацию, не думая о деталях её действительного представления.

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

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

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

Система отношений состоит из односложных атрибутов и формализованных документов.

Вопросы к системе строятся в виде экспертного запроса и образуют статистический отчет.

Если на вопрос существует несколько ответов, система найдёт столько из них, сколько пожелает пользователь.

Работа с системой состоит в заполнении формализованных документов и в постановке вопросов, касающихся этих документов.

Процедура заполнения документа - это множество предложений об одном и том же отношении.

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

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

Атрибуты - это простая структура данных. Формализованный документ - сложная форма описания.

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

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

Остался последний штрих создания экспертной системы. Это дать ей имя, например, ixBASE

Раздел: Программы
Автор статьи: Анатолий Шевелёв
Сайт автора
Просмотров: 8793
Читать мнения



Ваше мнение о статье:

Мнения публикуются только после проверки администратором.
Перед добавлением плохого мнения читайте соглашение нашего сайта.
Не публикуются мнения: оскробительные или не относящиеся к статье: "Как создать свою экспертную систему".

Ваше имя: e-Mail:
Оценка: нет 1 2 3 4 5
 *Мнение
(30-1000 зн.):

 
          
          
  

* * *

Другие статьи

IObit Software Updater: Решение для Обновления в 1 Клик Всех Устаревших Программ IObit Software Updater: Решение для Обновления в 1 Клик Всех Устаревших Программ
Сан-Франциско, 25 февраля 2019 – IObit, ведущий в мире производитель систе
Раздел: Программы
Microsoft Windows Microsoft Windows Оценка: 1. Голосов: 1
Microsoft Windows - это семейство операционных систем, разработанных и выпускаемых корпорацией Microsoft....
Раздел: Программы
Программа складского учета: как она поможет увеличить продажи? Программа складского учета: как она поможет увеличить продажи? Оценка: 2. Голосов: 1Оценка: 2. Голосов: 1
Одной из наиболее частых проблем, с которыми сталкиваются компании, является отсутствие контроля над запасами....
Раздел: Программы
1С: Розница 8. Обзор, описание, возможности 1С: Розница 8. Обзор, описание, возможности
Программа «1С: Розница 8» - отличное решение для любых видов торговли....
Раздел: Программы
Интеграция Битрикс24 с сайтом Интеграция Битрикс24 с сайтом
Сегодня продажи тяжело представить без использования онлайн-площадок....
Раздел: Программы

[Все разделы]  [Добавить статью]


Полезные программы

The Bat! 7.0 PRO 32bit

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

Скачать Скриншоты


LanAgent Standard 7.7

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

Скачать Скриншоты



Alcohol 120% Free Edition 2.0.3.7520

Alcohol 120 % — это компьютерная программа для создания образов CD и DVD дисков, создания виртуальных дисководов, а также записи CD и DVD дисков.

Скачать Скриншоты





Полезные программы

Подробнее о MySQL 6.0.11MySQL 6.0.11

MySQL - бесплатная версия самой популярной в мире базы данных с открытым исходным кодом.

Скачать Скриншоты

Подробнее о Power Supply Calculator 2.071Power Supply Calculator 2.071

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

Скачать Скриншоты

Подробнее о VirtualDub 1.10.4VirtualDub 1.10.4

VirtualDub - это программа для обработки AVI-файлов, которая также может читать (не записывать) MPEG-1.

Скачать Скриншоты





Вверх страницы


Рекламодателям ·  Связь с администрацией ·  Соглашение об использовании ·  Политика конфидециальности

© Copyright 2004-2024, 1001Soft.com. Использование материалов этого сайта - только с разрешения автора.
Автор проекта не несет ответственности за качество программного обеспечения.