Реализация экспертной системы
Идентификация проблемной области
Назначение экспертных систем заключается в решении достаточно трудных для экспертов задач на основе накапливаемой базы знаний, отражающей опыт работы экспертов в рассматриваемой проблемной области. Достоинство применения экспертных систем заключается в возможности принятия решений в уникальных ситуациях, для которых алгоритм заранее не известен и формируется по исходным данным в виде цепочки рассуждений (правил принятия решений) из базы знаний. Причем решение задач предполагается осуществлять в условиях неполноты, недостоверности, многозначности исходной информации и качественных оценок процессов. Экспертная система является инструментом, усиливающим интеллектуальные способности эксперта, и может выполнять следующие роли: - консультанта для неопытных или непрофессиональных пользователей; - ассистента в связи с необходимостью анализа экспертом различных вариантов принятия решений; - партнера эксперта по вопросам, относящимся к источникам знаний из смежных областей деятельности. Экспертные системы используются во многих областях, среди которых лидирует сегмент приложений в бизнесе В данной работе назначение ЭС – формирование списка вакантных должностей на которые может претендовать по своим данным кандидат, обратившийся в отдел кадров предприятия. При этом тестируются профессиональные, деловые и психологические качества. Для отобранных должностей осуществляется проверка по базе данных вакансий и удовлетворение требований кандидата. Структурированный отчет параметров проблемной области: Назначение: автоматизация работы экспертов по принятию решений.
Сфера применения: Подбор кадров Класс решаемых проблем: прогнозирование Цель: Вакансии - 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|