Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Реализация экспертной системы

Идентификация проблемной области

 

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

Экспертная система является инструментом, усиливающим интеллектуальные способности эксперта, и может выполнять следующие роли:

- консультанта для неопытных или непрофессиональных пользователей;

- ассистента в связи с необходимостью анализа экспертом различных вариантов принятия решений;

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

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

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

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

Структурированный отчет параметров проблемной области:

Назначение: автоматизация работы экспертов по принятию решений.

Сфера применения: Подбор кадров

Класс решаемых проблем: прогнозирование

Цель: Вакансии - VAK

Ожидаемые результаты:

1. “GD”,”GB”,”Mg” cf 100

2. “GB”,”Mg” cf 80

3. “GB” cf40,”Mg”cf60

4. “Mg” cf80

5. “Mg” cf40

Подцели:

1. Профессиональные качества – profk

2. Деловые качества – delk

3. Психологические качества - psihk

Исходные данные (факторы):

1. Образование – obr

2. Опыт работы – oprs

3. Стаж – stag

4. Доп. образование – dopobr

5. Опыт администр.работы – opadr

6. Карьерный рост – kar

7. Коммуникабельность - kom

8. Стрессоустойчивость – stres

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

 

Концептуальная модель проблемной области

 

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

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

Дерево целей – граф «И»-«ИЛИ»

 

VAK

(вакансии)

 
 

 

 


PROFK DELK PSIHK

(профессиональные (деловые качества) (психологические факторы) качества)

 

 

KAR

DOPOBR (карьерный KOM

(дополнительное рост) (коммуни-

OBR STAG образование) кабельность)

(образование) (стаж) OPADR

OPRS (опыт административной STRES

(опыт работы) работы) (стрессоустойчивость)

 

Формализация базы знаний

 

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

Факторы уверенности измеряются по некоторой относительной шкале, например, от 0 до 100. В отличие от теории вероятностей сумма факторов уверенностей некоторых альтернативных значений

необязательно составляет 100. Множество возможных значений некоторой переменной с различными факторами уверенностей для каждого значения составляет нечеткое множество вида: { x1 cf1, x2 cf2,..., xN cfN }, причем фактор уверенности в общем виде задается функцией принадлежности значений нечеткому множеству.

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

При объединении факторов уверенности конъюнктивно или дизъюнктивно связанных аргументов используются следующие формулы:

Конъюнкция (А и В): min (cfA, cfB) или cfA*cfB/100 Дизъюнкция (А или В): max (cfA, cfB) или cfA + cfB - cfA*cfB/100

Объединение факторов уверенности в посылках правил осуществляется в данной лабораторной работе в программном средстве GURU, по формулам "min/max", а левых и правых частей правил и одинаковых результатов нескольких правил соответственно по формулам "произведение" и "сумма". Для объединения одинаковых результатов нескольких правил используется оператор "+=", который означает не присваивание значения, а добавление значения. Аналогично используется оператор "- =" для удаления значения. Факторы уверенности в последнем случае объединяются по формуле:

cfA*(100 - cfB)/100

R1 IF: profk=true and delk=true and psihk=true

THEN: vak+={"GD","GB","Mg"} cf 100

 

R2 IF: profk=true and delk=true and psihk=false

THEN: vak+={"GB" cf 80,"Mg"} cf 80

 

R3 IF: profk=true and delk=false and psihk=true

THEN: vak+={"GB" cf 40,"Mg"} cf 60

 

R4 IF: profk=true and delk=false and psihk=false

THEN: vak+="Mg" cf 80

 

R5 IF: profk=false and delk=true and psihk=true

THEN: vak+="Mg" cf 80

 

R6 IF: profk=false and delk=false and psihk=true

THEN: vak+="Mg" cf 60

 

R7 IF: profk=false and delk=true and psihk=false

THEN: vak+="Mg" cf 40

 

R8 IF: profk=false and delk=false and psihk=false

THEN: vak+="Mg" cf 40

 

R9 IF: obr="v" and oprs>=2 and stag>=2

THEN: profk=true

 

R11 IF: obr="v" and oprs<2 and stag>=2

THEN: profk=true

 

R12 IF: obr="v" and stag <2

THEN: profk=true

 

R13 IF: obr="ss" and oprs>=2 and stag>=2

THEN: profk=true

 

R14 IF: obr="ss" and oprs<2 and stag>=2

THEN: profk=true

 

R15 IF: obr="ss" and stag<2

THEN: profk=true

 

R16 IF: obr="ss" and oprs<2 and stag<2

THEN: profk=false

 

R17 IF: dopobr="+" and opadr="+" and kar="+"

THEN: delk=true

 

R18 IF: dopobr="+" and opadr="+" and kar="-"

THEN: delk=true

 

 

R19 IF: dopobr="+" and opadr="-" and kar="+"

THEN: delk=true

 

R20 IF: dopobr="+" and opadr="-" and kar="-"

THEN: delk=true

 

R21 IF: dopobr="-" and opadr="+" and kar="+"

THEN: delk=true

 

R22 IF: dopobr="-" and opadr="-" and kar="+"

THEN: delk=true

 

R23 IF: dopobr="-" and opadr="+" and kar="-"

THEN: delk=true

 

R24 IF: dopobr="-" and opadr="-" and kar="-"

THEN: delk=false

 

R25 IF: kom="ud" and stres="ud"

THEN: psihk=true

 

R26 IF: kom="ud" and stres="nud"

THEN: psihk=true

 

R27 IF: kom="nud" and stres="ud"

THEN: psihk=true

 

R28 IF: kom="nud" and stres="nud"

THEN: psihk=false

 

 

Реализация экспертной системы

 

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

 

GOAL: VAK

 

INITIAL:

e.rigr="a"

e.unkn=40

vak=""

profk=unknown

delk=unknown

psihk=unknown

input obr str with "obrazovanie (v/ss):"

input oprs int with "opit raboti po spec.(0,1,2...):"

input stag int with "stag (0,1,2...):"

input dopobr str with "dop.obrazovanie (+/-):"

input opadr str with "opit admin.raboti (+/-):"

input kar str with "karern.rost (+/-):"

input kom str with "komunikab (ud/nud):"

input stres str with "stressoust (ud/nud):"

 

DO:

? "Recommendation:",vak

? valn(vak,1),"cf:",cfn(vak,1)

? valn(vak,2),"cf:",cfn(vak,2)

? valn(vak,3),"cf:",cfn(vak,3)

 

RULE: R1

IF: profk=true and delk=true and psihk=true

THEN: vak+={"GD","GB","Mg"}

 

RULE: R2

IF: profk=true and delk=true and psihk=false

THEN: vak+={"GB" cf 80,"Mg" cf 80}

 

RULE: R3

IF: profk=true and delk=false and psihk=true

THEN: vak+={"GB" cf 40,"Mg" cf 60}

 

RULE: R4

IF: profk=true and delk=false and psihk=false

THEN: vak+="Mg" cf 80

 

RULE: R5

IF: profk=false and delk=true and psihk=true

THEN: vak+="Mg" cf 80

 

RULE: R6

IF: profk=false and delk=false and psihk=true

THEN: vak+="Mg" cf 60

 

RULE: R7

IF: profk=false and delk=true and psihk=false

THEN: vak+="Mg" cf 40

 

RULE: R8

IF: profk=false and delk=false and psihk=false

THEN: vak+="Mg" cf 40

 

RULE: R9

IF: obr="v" and oprs>=2 and stag>=2

THEN: profk=true

 

RULE: R11

IF: obr="v" and oprs<2 and stag>=2

THEN: profk=true

 

RULE: R12

IF: obr="v" and stag <2

THEN: profk=true

 

RULE: R13

IF: obr="ss" and oprs>=2 and stag>=2

THEN: profk=true

 

RULE: R14

IF: obr="ss" and oprs<2 and stag>=2

THEN: profk=true

 

RULE: R15

IF: obr="ss" and stag<2

THEN: profk=true

 

RULE: R16

IF: obr="ss" and oprs<2 and stag<2

THEN: profk=false

 

RULE: R17

IF: dopobr="+" and opadr="+" and kar="+"

THEN: delk=true

 

RULE: R18

IF: dopobr="+" and opadr="+" and kar="-"

THEN: delk=true

 

RULE: R19

IF: dopobr="+" and opadr="-" and kar="+"

THEN: delk=true

 

RULE: R20

IF: dopobr="+" and opadr="-" and kar="-"

THEN: delk=true

 

RULE: R21

IF: dopobr="-" and opadr="+" and kar="+"

THEN: delk=true

 

RULE: R22

IF: dopobr="-" and opadr="-" and kar="+"

THEN: delk=true

 

RULE: R23

IF: dopobr="-" and opadr="+" and kar="-"

THEN: delk=true

 

RULE: R24

IF: dopobr="-" and opadr="-" and kar="-"

THEN: delk=false

 

RULE: R25

IF: kom="ud" and stres="ud"

THEN: psihk=true

 

RULE: R26

IF: kom="ud" and stres="nud"

THEN: psihk=true

 

RULE: R27

IF: kom="nud" and stres="ud"

THEN: psihk=true

 

RULE: R28

IF: kom="nud" and stres="nud"

THEN: psihk=false

VAR: VAK

 

END:

 

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...