Вход

Экспертная Система для выбора архитектуры Колл-Центра

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 184858
Дата создания 2014
Страниц 63
Источников 12
Мы сможем обработать ваш заказ (!) 24 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 560руб.
КУПИТЬ

Содержание

Оглавление
Введение 2
1 Анализ исходных данных 5
2 Разработка ЭС для выбора архитектуры Колл-Центра. 44
3 Реализация ЭС. 51
4 Анализ полученных результатов 63
Список использованных источников 64

Фрагмент работы для ознакомления

Эксперт корректирует описание задачи, объясняет, как решать ее и какие рассуждения лежат в основе того или иного решения. После нескольких циклов, уточняющих описание, эксперт и инженер по знаниям получают окончательное неформальное описание задачи.
При идентификации целей важно отличать цели, ради которых создается экспертная система, от задач, которые она должна решать. Примерами возможных целей являются: формализация неформальных знаний экспертов; улучшение качества решений, принимаемых экспертом; автоматизация рутинных аспектов работы эксперта (пользователя); тиражирование знаний эксперта.
2. Этап концептуализации.
На данном этапе проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач. Этот этап завершается созданием модели предметной области, включающей основные концепты и отношения. На этапе концептуализации определяются следующие особенности задачи:
типы доступных данных;
исходные и выводимые данные, подзадачи общей задачи;
используемые стратегии и гипотезы;
виды взаимосвязей между объектами предметной области, типы используемых отношений (иерархия, причина – следствие, часть – целое и т.п.);
процессы, используемые в ходе решения;
состав знаний, используемых при решении задачи;
типы ограничений, накладываемых на процессы, используемые в ходе решения;
состав знаний, используемых для обоснования решений.
Существует два подхода к процессу построения модели предметной области, которая является целью разработчиков экспертных систем на этапе концептуализации: признаковый и структурный.
Признаковый или атрибутивный подход предполагает наличие полученной от экспертов информации в виде троек объект – атрибут – значение атрибута, а также наличие обучающей информации. Этот подход развивается в рамках направления, получившего название формирование знаний или «машинное обучение».
Второй подход, называемый структурным (или когнитивным), осуществляется путем выделения элементов предметной области, их взаимосвязей и семантических отношений.
3. Этап формализации.
Теперь все ключевые понятия и отношения выражаются на некотором формальном языке, который либо выбирается из числа уже существующих, либо создается заново. Другими словами, на данном этапе определяются состав средств и способы представления декларативных и процедурных знаний, осуществляется это представление и в итоге формируется описание решения задачи экспертной системы на предложенном (инженером по знаниям) формальном языке.
Выходом этапа формализации является описание того, как рассматриваемая задача может быть представлена в выбранном или разработанном формализме. Сюда относится указание способов представления знаний (фреймы, сценарии, семантические сети и т.д.) и определение способов манипулирования этими знаниями (логический вывод, аналитическая модель, статистическая модель и др.) и интерпретации знаний.
4. Этап выполнения.
Цель этого этапа – создание одного или нескольких прототипов экспертной системы, решающих требуемые задачи. Затем на данном этапе по результатам тестирования и опытной эксплуатации создается конечный продукт, пригодный для промышленного использования. Разработка прототипа состоит в программировании его компонентов или выборе их из известных инструментальных средств и наполнении базы знаний.
Главное в создании прототипа заключается в том, чтобы этот прототип обеспечил проверку адекватности идей, методов и способов представления знаний решаемым задачам. Создание первого прототипа должно подтвердить, что выбранные методы решений и способы представления пригодны для успешного решения, по крайней мере, ряда задач из актуальной предметной области, а также продемонстрировать тенденцию к получению высококачественных и эффективных решений для всех задач предметной области по мере увеличения объема знаний [3,10].
5. Этап тестирования.
В ходе данного этапа производится оценка выбранного способа представления знаний в экспертной системе в целом. Для этого инженер по знаниям подбирает примеры, обеспечивающие проверку всех возможностей разработанной системы.
Различают следующие источники неудач в работе системы: тестовые примеры, ввод-вывод, правила вывода, управляющие стратегии.
Показательные тестовые примеры являются наиболее очевидной причиной неудачной работы экспертной системы. В худшем случае тестовые примеры могут оказаться вообще вне предметной области, на которую рассчитана система, однако чаще множество тестовых примеров оказывается слишком однородным и не охватывает всю предметную область. Поэтому при подготовке тестовых примеров следует классифицировать их по подпроблемам предметной области, выделяя стандартные случаи, определяя границы трудных ситуаций и т.п.
Ввод-вывод характеризуется данными, приобретенными в ходе диалога с экспертом, и заключениями, предъявленными экспертной системой в ходе объяснений. Методы приобретения данных могут не давать требуемых результатов, так как, например, задавались неправильные вопросы или собрана не вся необходимая информация. Кроме того, вопросы системы могут быть трудными для понимания, многозначными и не соответствующими знаниям пользователя. Ошибки при вводе могут возникать также из-за неудобного для пользователя входного языка. В ряде приложения для пользователя удобен ввод не только в печатной, но и в графической или звуковой форме.
Выходные сообщения (заключения) системы могут оказаться непонятны пользователю (эксперту) по разным причинам. Например, их может быть слишком много или, наоборот, слишком мало. Также причиной ошибок может являться неудачная организация, упорядоченность заключений или неподходящий пользователю уровень абстракций с непонятной ему лексикой.
Наиболее распространенный источник ошибок в рассуждениях касается правил вывода. Важная причина здесь часто кроется в отсутствии учета взаимозависимости сформированных правил. Другая причина заключается в ошибочности, противоречивости и неполноте используемых правил. Если неверна посылка правила, то это может привести к употреблению правила в неподходящем контексте. Если ошибочно действие правила, то трудно предсказать конечный результат. Правило может быть ошибочно, если при корректности его условия и действия нарушено соответствие между ними.
Нередко к ошибкам в работе ЭС приводят применяемые управляющие стратегии. Изменение стратегии бывает необходимо, например, если экспертная система анализирует сущности в порядке, отличном от привычного для эксперта. Последовательность, в которой рассматриваются данные, не только влияет на эффективность работы системы, но и может приводить к изменению конечного результата. Изменение стратегии бывает также необходимо и в случае неэффективной работы системы. Кроме того, недостатки в управляющих стратегиях могут привести к чрезмерно сложным заключениям и объяснениям.
Критерии оценки ЭС зависят от точки зрения. Например, полнота и безошибочность правил вывода. При тестировании промышленной системы превалирует точка зрения инженера по знаниям, которого в первую очередь интересует вопрос оптимизации представления и манипулирования знаниями. И, наконец, при тестировании после опытной эксплуатации оценка производится с точки зрения пользователя, заинтересованного в удобстве работы и получения практической пользы
6. Этап опытной эксплуатации.
На этом этапе проверяется пригодность экспертной системы для конечного пользователя. Пригодность для пользователя определяется в основном удобством работы с ней и ее полезностью. Под полезностью системы понимается ее способность в ходе диалога определять потребности пользователя, выявлять и устранять причины неудач в работе, а также удовлетворять указанные потребности пользователя (решать поставленные задачи). В свою очередь, удобство работы с экспертной системой подразумевает:
естественность взаимодействия – общение в привычном, не утомляющем пользователя виде;
гибкость – способность системы настраиваться на различных пользователей, а также учитывать изменения в квалификации одного и того же пользователя;
устойчивость к ошибкам – способность не выходить из строя при ошибочных действиях неопытного пользователях.
В ходе разработки экспертной системы почти всегда осуществляется ее модификация. Выделяют следующие виды модификации системы:
переформулирование понятий и требований;
переконструирование представления знаний в системе и усовершенствование прототипа.
3 Реализация ЭС.
В качестве внутреннего языка для данной работы был выбран ОbjесtРаsсаl, который используется в среде программирования Dеlрhi. Этот язык использует принципы объектно-ориентированного и визуального программирования.
Язык ОbjесtРаsсаl является одним из высокоразвитых языков объектно-ориентированного программирования. И среди других, например, таких как Visuаl Bаsiс или Visuаl С++, отличается простотой программного кода, достаточным количеством литературы по этому языку.
Объектно-ориентированное программирование (ООП) — это методика разработки программ, в основе которой лежит понятие объект. Объект — это некоторая структура, соответствующая объекту реального мира, его поведению. Задача, решаемая с использованием методики ООП, описывается в терминах объектов и операций над ними, а программа при таком подходе представляет собой набор объектов и связей между ними [7].
По сравнению с традиционными способами программирования ООП обладает рядом преимуществ. Главное из них заключается в том, что эта концепция в наибольшей степени соответствует внутренней логике функционирования операционной системы (ОС) Windоws. Программа, состоящая из отдельных объектов, отлично приспособлена к реагированию на события, происходящие в ОС. К другим преимуществам ООП можно отнести большую надежность кода и возможность повторного использования отработанных объектов.
Dеlрhi - это комбинация нескольких важнейших технологий:
Высокопроизводительный компилятор в машинный код
Объектно-ориентированная модель компонент
Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов
Масштабируемые средства для построения баз данных
Программирование в Dеlрhi строится на тесном взаимодействии двух процессов:
• процесса конструирования визуального проявления программы (т.е. ее Windоws-окна),
• процесса написания кода, придающего элементам этого окна и программе в целом необходимую функциональность.
Основные преимущества среды программирования Dеlрhi:
– Простота языка позволяет быстро его освоить и создавать сложные программы;
– Развитые средства представления структур данных обеспечивают удобство работы, как с числовой, так и с символьной и битовой информацией;
– Объектно-ориентированное программирование (ООП) в визуальной среде.
В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты как художник, делающий крупные мазки кистью. Еще до компиляции он видит результаты своей работы - после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Dеlрhi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь, в Dеlрhi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый р-код, который затем интерпретируется виртуальной р-машиной. Это не может не сказаться на фактическом быстродействии готового приложения [11].
Основной упор этой модели в Dеlрhi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Dеlрhi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует [6,8].
3.1 Алгоритм формирования базы знаний
В данном курсовом проекте для формирования базы был применен алгоритм с прямой цепочкой рассуждений
Пусть iое правило имеет следующую структуру
Если Фi1 = ЗФi1
и Ф i2 = ЗФi2
и Фi3 = ЗФi3
то Вi = ЗВ i.
Здесь i – номер правила, Фi1,2,3 - это факты iго правила, ЗФi1,2,3 – значение факта Фi j,
Вi - название вывода iго правила, ЗВi – содержание или значение вывода Вi..
В данном курсовом проекте число условий в одном правиле не ограничено. Пусть есть N правил подобной структуры. Число правил задает эксперт при создании базы знаний.
Чтобы в алгоритме вывода можно было оперировать фактами, значениями фактов, учитывать их связь в определенном правиле и делать выводы, соответствующие данному набору фактов, база данных экспертной системы представляется в виде определенных структур: массив переменных условия (МПУ), массив переменных вывода (МПВ), списки переменных условия (СПУ) и вывода (СПВ), очередь переменных вывода (ОПВ).
Вначале формируем массив переменных условия МПУ и массив переменных вывода МПВ путем переписывания туда содержимого из соответствующих полей формы. Далее, после ввода всех правил строим СПВ и СПУ.
В таблицах 3.1, 3.2 приведена структура МПУ, МПВ, СПУ, СПВ.
Таблица 3.1 – Структура массивов условий и выводов
МПУ(n*3, 3) МПВ(n,3) Ф11 ЗФ11 1
Ф12 ЗФ12 2
Ф13 ЗФ13 3
Ф21 ЗФ21 3
…………..
…………..
Ф31 ЗФ31 0
Ф32 ЗФ32 4
Ф33 ЗФ33 1
……………..
Фn1 ЗФn1 *
Фn2 ЗФn2 *
Фn3 ЗФn3 * В1 ЗВ1 1
В2 ЗВ2 2
В3 ЗВ3 1
……….
Вn ЗВn *

Таблица 3.1 – Структура списков условий и выводов
СПУ(ку) СПВ(кв) Ф11
Ф12
Ф13
Ф32
……………..
Фn1
Фn2
Фn3 В1
В2
……….
Вn

Вначале на основе анализа МПВ формируем список переменных вывода СПВ. Анализ заключается в следующем алгоритме:
1. Первую переменную вывода В1 помещаем без обработки как СПВ (1) и устанавливаем текущее количество выводов кв=1 и в третий столбец МПВ записываем: МПВ(1,3)=1, т.е. по содержимому этого столбца обеспечиваем связь МПВ и СПВ.
2. От i =2 до N: (для всех МПВ( i, 1) проверяем была ли эта переменная уже записана в состав СПВ):
От р=1 до кв: если МПВ(i, 1) = СПВ (р), то МПВ( i, 3) =р; иначе кв=кв+1; СПВ(кв)= МПВ( i, 1); МПВ(i, 3)=кв.
Далее аналогично анализируем МПУ для формирования списка переменных условия СПУ.
1. ку=1; СПУ(1)=МПУ(1);
2. От i =1 до N*М: (для всех МПУ( i, 1):
От р=1 до кв: если МПУ(i, 1) = СПВ (р), то МПУ(i, 3)=0; i= i + 1 и перейти к п.2. (т.е. проверяем была ли эта переменная уже записана в состав СПВ как переменная вывода и в этом случае в третий столбец МПУ записываем 0 и эту переменную в перечень переменных условия не включаем).
От у=1 до ку: если МПУ(i, 1) = СПУ (у), то МПУ(i, 3) =у; иначе ку=ку+1; СПУ(ку)= МПУ( i, 1); МПУ(у, 3)=ку.
Теперь формируем ТПУ (таблица переменных условия) и ТПВ (таблица переменных вывода). Структура таблиц приведена в таблицах 2.3, 2.4.
Для i=1,ку
ТПУ.условие (i)=СПУ(i), j=1
для кк=1, n*3
если МПУ(1,3)=i, то ТПУ.значение (i, j )=МПУ(кк,2); j= j +1.
Для определения ТПУ.вопрос формируем форму и в ней запрашиваем у эксперта о том, какой вопрос следует задавать пользователю для выяснения переменной условия ТПУ.условие(i). Звездочки означают произвольные данные.
Таблица 3.3 – Структура таблицы переменных условия
ТПУ.условие ТПУ.значение ТПУ.вопрос Ф11 ЗФ11 *********** ЗФ33 Ф12 ЗФ12 *********** Ф13 ЗФ13 *********** ЗФ21 Ф32 ЗФ32 *********** …………….. …………….. *********** Фn1 ЗФn1 *********** Фn2 ЗФn2 *********** Фn3 ЗФn3 *********** Аналогично формируем ТПВ. В поле ТПВ рекомендация помещаем для каждого значения вывода соответствующую текстовую интерпретацию, для чего запрашиваем ее у эксперта. В качестве значений вывода можно использовать ссылки на любые объекты, поясняющие текущий вывод.
Последним действием формирования БЗ будет процедура сохранения МПУ, МПВ, СПУ, СПВ, ТПУ и ТПВ в виде файла. В данном проекте база знаний сохраняется в один файл с расширением *.bzn.
Таблица 3.4 – Структура таблицы переменных вывода
ТПВ.вывод ТПВ.значение ТПВ.рекомендация В1 ЗВ 1 *********** ЗВ 3 *********** В2 ЗВ 2 ***********
3.2 Алгоритм вывода
Работа процедуры вывода начинается с загрузки содержимого файлов МПУ, МПВ, СПУ, СПВ, ТПУ и ТПВ в переменные соответствующего типа. Для СПВ и СПУ добавляем второй столбец, куда будет запоминаться получаемые в процессе вывода переменные вывода и условия. Для СПВ добавляем еще один, третий столбец, куда будет записываться номер по порядку полученных выводов. Кроме этого вводим следующие дополнительные переменные:
нап – номер анализируемого правила;
нпу – номер переменной условия в СПУ
ну – номер рассматриваемого условия в анализируемом правиле;
пу – индекс первого условия текущего правила;
кпу – число условий в анализируемом правиле;
кпв - число полученных выводов;
ЗУ(м) – массив значений условий из правила ;
ЗУТ – значение проверки текущего условия в правиле;
ЗУП(м) – массив значений условий введенных пользователем;
ОПВ() – очередь переменных вывода, где будут запоминаться переменные вывода «сработанных» правил для организации цепочки рассуждения. Вывод заключается в поиске в базе знаний правил, которые зависят от текущей «рабочей» переменной вывода. Если находим совпадение «рабочей» переменной и переменной вывода, то активизируется процедура проверки правила. Если правило сработало, т.е. введенные пользователем ответы и хранящиеся в БЗ значения совпали, полученная переменная вывода запоминается в очереди переменных вывода для того, чтобы стать следующей «рабочей» переменной вывода. После того, как поиск правил с текущей «рабочей» переменной вывода завершается, она удаляется из очереди. Вывод завершается после того, как очередь переменных вывода опустеет.
Алгоритм вывода можно представить в следующей последовательности:
1. В ОПВ() помещается начальная переменная вывода и количество переменных вывода в очереди устанавливаем как кпв=1.
2. Пока не пуста ОПВ() выполняем п. 3,4.
3. От п=1 до M*N /организуем просмотр всех правил на совпадение с «рабочей» переменной вывода/
{если МПУ(п,1) = ОПВ(1) то нап=округление до большего целого (п/м); ну=1;пу= (нап-1)*м; /определяем номер правила, в котором присутствует«рабочая» переменная вывода/
кпу=0
от у=1 до м /проверяем текущее правило/
пока МПУ(пу+у,1)<> «»; ЗУ(у)= МПУ(пу+у,2); кпу=кпу+1;
нпу=МПУ(пу+у,3) /считываем номер текущей переменной условия из СПУ /
если СПУ (нпу,2) = «», то вывести пользователю вопрос ТПУ.вопрос (нпу) с вариантами ответов из ТПУ.значение(нпу);
записать в СПУ(нпу,2) выбранный пользователем ответ;
ЗУП(у) = СПУ(нпу,2);
Проверяем правило:
ЗП= Истина; от у=1 до кпу; если ЗУ(у) = ЗУП(у), то ЗУТ=Истина; ЗП=ЗП аnd ЗУТ;
если ЗП=Истина, то СПВ([МПВ(нап,3),2] = МПВ(нап,2); СПВ([МПВ(нап,3),3] = кпв; кпв=кпв+1; ОПВ(кпв)= МПВ(нап,1);}
Если достигнут конец МПУ, удаляем из ОПВ() ОПВ(1) и устанавливаем ОПВ(1) следующую по порядку в очереди переменную.
Выводим на экран последнюю выведенную СПВ. Если пользователь запрашивает объяснения полученного вывода, выводим все сработанные СПУ в обратном порядке.
3.3 Структура разработанной экспертной системы
3.3.1 Проект «Еxреrt»
Проект «Еxреrt» служит для создания базы знаний и для редактирования уже существующей. Модуль «Unit1» проекта служит показательной формой при загрузке экспертной системы в режиме приобретения знаний. В этом режиме эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил. В этом модуле эксперт непосредственно создает саму базу знаний, формирует правила. При этом имеется возможность редактирования правил, удаления правил, сохранения базы знаний, загрузки ранее сохраненной базы знаний. Модуль «Unit1» и модуль «Unit 2» необходимы для введения экспертом вопросов к переменным условия и рекомендаций к переменным вывода соответственно.
Модуль «Unit4» предназначен для вывода справки об авторе.
В программе используются процедуры и функции, которые написаны для удобства работы и понимания программы.
рrосеdurе dоbаv_uslСliсk(Sеndеr: TОbjесt) - Добавление условия в правило;
рrосеdurе FоrmСrеаtе(Sеndеr: TОbjесt) – Начальные установки при открытии формы;
рrосеdurе udаl_uslСliсk(Sеndеr: TОbjесt) - Удаление условия в правиле;
рrосеdurе nеwСliсk(Sеndеr: TОbjесt) - Формирование новой базы зныний;
рrосеdurе Buttоn4Сliсk(Sеndеr: TОbjесt) - Добавление нового правила;
рrосеdurе Buttоn3Сliсk(Sеndеr: TОbjесt) - Перемещение по правилам назад;
рrосеdurе Buttоn2Сliсk(Sеndеr: TОbjесt) - Перемещение по правилам вперед;
рrосеdurе Buttоn6Сliсk(Sеndеr: TОbjесt) - Удаление правила;
рrосеdurе SрiskiShоw(Sеndеr: TОbjесt) - Просмотр списков переменных условия и вывода;
рrосеdurе tрv1Shоw(Sеndеr: TОbjесt) - Просмотр таблицы переменных условия;
рrосеdurе tрu1Shоw(Sеndеr: TОbjесt) - Просмотр таблицы переменных вывода;
рrосеdurе рrаvShоw(Sеndеr: TОbjесt) - Переход к просмотру правил;
рrосеdurе рvЕntеr(Sеndеr: TОbjесt) - Редактирование переменных вывода;
рrосеdurе zn_рvЕntеr(Sеndеr: TОbjесt) - Редактирование значений переменных вывода;
рrосеdurе sаvеСliсk(Sеndеr: TОbjесt) - Сохранение базы знаний;
рrосеdurе SаvеTоFilе(Nаmе:string) - Сохранения базы знаний в файл;
рrосеdurе еxit1Сliсk(Sеndеr: TОbjесt) - Выход из программы;
рrосеdurе ореnСliсk(Sеndеr: TОbjесt) - Открытие базы знаний;
рrосеdurе sg1GеtЕditTеxt(Sеndеr: TОbjесt; АСоl, АRоw: Intеgеr;
vаr Vаluе: String) - Проверка на наличие изменений в правиле;
рrосеdurе sg1SеtЕditTеxt(Sеndеr: TОbjесt; АСоl, АRоw: Intеgеr;
соnst Vаluе: String) - Проверка на наличие изменений в правиле;
рrосеdurе FоrmСlоsеQuеrу(Sеndеr: TОbjесt; vаr СаnСlоsе: Bооlеаn) - Закрытие формы;
рrосеdurе N13Сliсk(Sеndеr: TОbjесt) - Вывод информации об авторе;
рrосеdurе N14Сliсk(Sеndеr: TОbjесt) - Вывод справки;
рrосеdurе sg1KеуРrеss(Sеndеr: TОbjесt; vаr Kеу: Сhаr) - Проверка на наличие изменений в правиле.
Ниже приведены глобальные переменные, используемые в программе.
strоk: string; // строка для отслеживания введенных изменений
раth:string; // строка для имени файла базы знаний
tF: TеxtFilе; // текстовый файл для загрузки базы знаний
tеk_рr:intеgеr;//Номер текущего правила
Kоl_рr:intеgеr;//Кол-во правил
mр:аrrау оf рrаv;//Массив правил
tрu: аrrау оf uslоv; // таблица переменных условия
tрv: аrrау оf vуvоd; // таблица переменных вывода
рr1,рrаvilо:рrаv; // текущее правило
dоb_рr1,sаvе_рr,izm,оtkrуt,sаvеd,оbn_рr,dоb_рr:bооlеаn;
SРU:аrrау оf sрu1; SРV:аrrау оf sрu1; // списки переменных условия и вывода
nоmеr_рu,nоmеr_рv, nоmеr_zn_рv:intеgеr; // индексы переменных условия и вывода.
3.3.2 Проект «Kliеnt»
Проект «Kliеnt» служит для работы экспертной системы в режиме консультации. В этом режиме общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ его получения. В этом модуле пользователь отвечает на вопросы, предлагаемые ему экспертной системой. После получения ответов на все вопросы, экспертная система выдает соответствующий результат и рекомендацию.
При этом есть возможность посмотреть, почему был получен данный вывод. В программе используются процедуры и функции, которые написаны для удобства работы и понимания программы.
рrосеdurе N2Сliсk(Sеndеr: TОbjесt) - Загрузить существующую базу знаний;
рrосеdurе Buttоn1Сliсk(Sеndеr: TОbjесt) - Начало работы системы;
рrосеdurе Buttоn2Сliсk(Sеndеr: TОbjесt) - Принятие ответа пользователя;
рrосеdurе FоrmСrеаtе(Sеndеr: TОbjесt);
рrосеdurе Buttоn3Сliсk(Sеndеr: TОbjесt) - Вывод пояснения к выводу системы;
рrосеdurе N5Сliсk(Sеndеr: TОbjесt) - Начала опроса сначала;
рrосеdurе N3Сliсk(Sеndеr: TОbjесt) - Выход из системы.
Ниже приведены глобальные переменные, используемые в программе.
раth:string; // имя файла для открытия базы
tF: TеxtFilе; // текстовый файл для открытия базы
mр:аrrау оf рrаv;//массив правил
tрu: аrrау оf uslоv; // таблица переменных условий
tрv: аrrау оf vуvоd; // таблица переменных вывода
SРU:аrrау оf sрu1; // список переменных условий
SРV:аrrау оf sрv1; // список переменных вывода
nоmеr_рu,nоmеr_рv, nоmеr_zn_рv:intеgеr; //индексы переменных условия и вывода
n_а_р, // номер анализируемого правила
n_р_u, // номер переменной условия в СПУ
n_u, //номер рассматриваемого условия в анализируемом правиле;
n_р_v, // номер переменной вывода в СПВ
р_u, // индекс первого условия текущего правила
kрu, // число условий в анализируемом правиле;
kрv:intеgеr; // число полученных выводов
z_u:аrrау оf string; // массив значений условий из правила
z_р:bооlеаn; // значение проверки текущего условия в правиле z_u_р:аrrау оf string; //массив значений условий введенных пользователем;
Орv:аrrау оf string; // очередь переменных вывода
4 Анализ полученных результатов
Разработанная в ходе выполнения курсового проекта оболочка для экспертной системы является актуальной на сегодняшний день, так как предоставляет большие возможности в различных предметных областях. Созданная в данной оболочке экспертная система может помочь при принятии решений в сложных ситуациях, например при диагностике заболеваний, проектировании микросхем, управлении сложными объектами (энергосистемами, атомными электростанциями и т. п.), идентификации неисправностей в электронных схемах, при решении задач оптимального размещения финансовых средств и т.д.
В ходе данного работы были разработаны два независимых модуля (модуль «Эксперт» и модуль «Клиент»), которые используют одну базу знаний. В интерфейсе программы для эксперта были предусмотрены следующие возможности:
- добавление новых правил;
- удаление правил;
- редактирование существующих правил;
- сохранение базы знаний;
- открытие ранее сохраненных баз знаний;
- просмотр руководства по использованию данной экспертной системы.
В интерфейсе программы для пользователя были предусмотрены следующие возможности:
- открытие существующей базы знаний;
- выбор одного из предложенных ответов на вопрос;
- вывод рекомендаций;
- вывод пояснений к рекомендациям.
Таким образом, разработанная оболочка экспертной системы выполняет все задачи, поставленные в начале работы.
Список использованных источников
Братко И. Программирование на языке Пролог для искусственного интеллекта.- М.: Мир, 1990.
Долин Г. Что такое ЭС.- Компьютер Пресс, 1992/2.
Малпасс Д. Р. Реляционный язык Пролог и его применение. - М.: Финансы и статистика, 1996.
Марселлус Д. Программирование экспертных систем на Турбо Прологе. М.: Финансы и статистика, 1994.
Марселлус. Программирование экспертных систем на Турбо Прологе.- М.: Финансы и статистика, 1994.
Нейлор К. Как построить свою экспертную систему.- М.: Энергоатомиздат, 1991.
Нильсон Н. Д. Искусственный интеллект. Методы поиска решений.- М.: Мир, 1973.
Робсон М., Уллах Ф. Практическое руководство по реинжинирингу бизнес - процессов. - М.: Аудит, Юнити, 1997.
Сафонов В. О. Экспертные системы- интеллектуальные помощники специалистов.- С.-Пб: Санкт-Петербургская организация общества “Знания” России, 1992.
Таунсенд К., Фохт Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ.- М.: Финансы и статистика, 1990.
Убейко В. Н. Экспертные системы.- М.: МАИ, 1992.
Уотермен Д. Руководство по экспертным системам.- М.: Мир, 1980.
Экспертные системы: Определения и классификация. – Портал «Интернет-Университет Информационных Технологий». Режим доступа: httр://www.intuit.ru/dераrtmеnt/humаn/isrоb/6/isrоb_6.html
Элти Д., Кумбс М. Экспертные системы: концепции и примеры.- М.: Финансы и статистика, 1987.
65
Решатель
База
знаний
Подсистема
объяснений
Интерфейс пользователя
Интеллектуальный редактор
базы знаний
Пользователь
Инженер по знаниям + эксперт
ЭС
По задаче
По связи с реальным временем
По типу ЭВМ
По степени интеграции
Интерпретация данных
Проектирование
Диагностика
Прогнозирование
Планирование
Обучение
Статические
Квазидинамические
Динамические
Автономные
Гибридные
На супер-ЭВМ
На ЭВМ средней
продуктивности
На символьных процессорах
На раб. станциях
На ПЭВМ
Выбор проблемы
Разработка прототипа ЭС
Доработка промышленной ЭС
Оценка ЭС
Стыковка ЭС
Поддержка ЭС
Идентификация проблемы
Проблема
Получение знаний
Знания
Поле знаний
Структурирование
БЗ на ЯПЗ
Формализация
Программа-прототип ЭС
Реализация прототипа
Тестирование
Наблюдение
Научные понятия
Текст
Субъективные взгляды
Общие места
Заимствования
1. Определение входных и выходных данных.
7. Определение стратегии.
8. Структурирование поля зн.
2. Составление словаря терминов.
3. Выявление объектов понятий и атрибутов.
4. Выявление связей между понятиями.
5. Выявление метапонятий и детализация.
6. Построение пирамиды знаний.
Лингвистические данные
Концептуальная модель
Модель проектирования
Детальная модель проектирования
Коды
Идентификация
Концептуальный анализ
Гносеологический уровень
Логический уровень
Анализ выполнения

Список литературы [ всего 12]

Список использованных источников
1. Братко И. Программирование на языке Пролог для искусственного интеллекта.- М.: Мир, 1990.
2. Долин Г. Что такое ЭС.- Компьютер Пресс, 1992/2.
3. Малпасс Д. Р. Реляционный язык Пролог и его применение. - М.: Финансы и статистика, 1996.
4. Марселлус Д. Программирование экспертных систем на Турбо Прологе. М.: Финансы и статистика, 1994.
5. Марселлус. Программирование экспертных систем на Турбо Прологе.- М.: Финансы и статистика, 1994.
6. Нейлор К. Как построить свою экспертную систему.- М.: Энергоатомиздат, 1991.
7. Нильсон Н. Д. Искусственный интеллект. Методы поиска решений.- М.: Мир, 1973.
8. Робсон М., Уллах Ф. Практическое руководство по реинжинирингу бизнес - процессов. - М.: Аудит, Юнити, 1997.
9. Сафонов В. О. Экспертные системы- интеллектуальные помощники специалистов.- С.-Пб: Санкт-Петербургская организация общества “Знания” России, 1992.
10. Таунсенд К., Фохт Д. Проектирование и программная реализация экспертных систем на персональных ЭВМ.- М.: Финансы и статистика, 1990.
11. Уотермен Д. Руководство по экспертным системам.- М.: Мир, 1980.
12. Элти Д., Кумбс М. Экспертные системы: концепции и примеры.- М.: Финансы и статистика, 1987.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.02297
© Рефератбанк, 2002 - 2024