Submit Search
Upload
Экспертные системы: лекция №3
•
2 likes
•
1,803 views
Laboratory of Information Science and Semantic Technologies
Follow
Представление знаний (часть 2): Продукционные правила
Read less
Read more
Education
Report
Share
Report
Share
1 of 38
Download now
Download to read offline
Recommended
-
управление комбинированным выводом в дискретных интеллектуальных системах
управление комбинированным выводом в дискретных интеллектуальных системах
Иван Иванов
Dmitry Mouromtsev. eLearning System. Openedu.ifmo.ru
Dmitry Mouromtsev. eLearning System. Openedu.ifmo.ru
Laboratory of Information Science and Semantic Technologies
презентация для Telco
презентация для Telco
Askold.K
Представление знаний (часть 4): Семантические сети
Экспертные системы: лекция №5
Экспертные системы: лекция №5
Laboratory of Information Science and Semantic Technologies
Представление знаний (часть 3): Фреймы и ООП
Экспертные системы: лекция №4
Экспертные системы: лекция №4
Laboratory of Information Science and Semantic Technologies
Представление знаний (knowledge representation)
Экспертные системы: лекция №2
Экспертные системы: лекция №2
Laboratory of Information Science and Semantic Technologies
SemIoT is a project funded by The Ministry of Education and Science of Russian Federation which aims to provide an access to sensor networks using unified data models and interfaces that hide heterogeneity of the network and facilitate effective data access, interoperability, resource search and discovery
SemIoT (Semantic technologies for Internet of Things) - Project Overview
SemIoT (Semantic technologies for Internet of Things) - Project Overview
Laboratory of Information Science and Semantic Technologies
Международная научно-практическая конференция International Conference on Big Data and its Applications (ICBDA) выросла из мероприятия Big Data Russia и проводится один раз в год, объединяя на одной площадке создателей новых технологий в области больших данных, представителей бизнеса, а также научных сотрудников и молодых ученых. Организаторы: Rusbase и Global Innovation Labs. Организаторы ICBDA благодарят Data-Centric Alliance (DCA) за поддержку мероприятия, а также отдельное спасибо Artox Media и NVIDIA.
Роман Чеботарев — КРОК — ICBDA2016
Роман Чеботарев — КРОК — ICBDA2016
rusbase
Recommended
-
управление комбинированным выводом в дискретных интеллектуальных системах
управление комбинированным выводом в дискретных интеллектуальных системах
Иван Иванов
Dmitry Mouromtsev. eLearning System. Openedu.ifmo.ru
Dmitry Mouromtsev. eLearning System. Openedu.ifmo.ru
Laboratory of Information Science and Semantic Technologies
презентация для Telco
презентация для Telco
Askold.K
Представление знаний (часть 4): Семантические сети
Экспертные системы: лекция №5
Экспертные системы: лекция №5
Laboratory of Information Science and Semantic Technologies
Представление знаний (часть 3): Фреймы и ООП
Экспертные системы: лекция №4
Экспертные системы: лекция №4
Laboratory of Information Science and Semantic Technologies
Представление знаний (knowledge representation)
Экспертные системы: лекция №2
Экспертные системы: лекция №2
Laboratory of Information Science and Semantic Technologies
SemIoT is a project funded by The Ministry of Education and Science of Russian Federation which aims to provide an access to sensor networks using unified data models and interfaces that hide heterogeneity of the network and facilitate effective data access, interoperability, resource search and discovery
SemIoT (Semantic technologies for Internet of Things) - Project Overview
SemIoT (Semantic technologies for Internet of Things) - Project Overview
Laboratory of Information Science and Semantic Technologies
Международная научно-практическая конференция International Conference on Big Data and its Applications (ICBDA) выросла из мероприятия Big Data Russia и проводится один раз в год, объединяя на одной площадке создателей новых технологий в области больших данных, представителей бизнеса, а также научных сотрудников и молодых ученых. Организаторы: Rusbase и Global Innovation Labs. Организаторы ICBDA благодарят Data-Centric Alliance (DCA) за поддержку мероприятия, а также отдельное спасибо Artox Media и NVIDIA.
Роман Чеботарев — КРОК — ICBDA2016
Роман Чеботарев — КРОК — ICBDA2016
rusbase
Semantic Web является эволюционным переходом от “сети связанных между собой документов” к “сети связанных между собой данных” с хорошо определенным значением, который улучшит взаимодействие человека и машины. Авторы: @kolchinmax, @FedorKozlov1
KL10TCH.School : Введение в Linked Data и Semantic Web
KL10TCH.School : Введение в Linked Data и Semantic Web
Laboratory of Information Science and Semantic Technologies
Presented on ISST Colloquium by Peter Haase.
Linked Data and Semantic Web Application Development by Peter Haase
Linked Data and Semantic Web Application Development by Peter Haase
Laboratory of Information Science and Semantic Technologies
Экспертные системы: лекция №1
Экспертные системы: лекция №1
Laboratory of Information Science and Semantic Technologies
John Domingue. Developing rich interactive e books to teach linked open data ...
John Domingue. Developing rich interactive e books to teach linked open data ...
Laboratory of Information Science and Semantic Technologies
Aliaksandr Birukou. Linked Data Initiatives at Springer Verlag
Aliaksandr Birukou. Linked Data Initiatives at Springer Verlag
Laboratory of Information Science and Semantic Technologies
Open Data in Education. Introduction
Open Data in Education. Introduction
Laboratory of Information Science and Semantic Technologies
Kristi Holmes. A bird’s-eye view of scholarship at the individual, institutio...
Kristi Holmes. A bird’s-eye view of scholarship at the individual, institutio...
Laboratory of Information Science and Semantic Technologies
Darya Tarasowa. SlideWiki. Description
Darya Tarasowa. SlideWiki. Description
Laboratory of Information Science and Semantic Technologies
More Related Content
More from Laboratory of Information Science and Semantic Technologies
Semantic Web является эволюционным переходом от “сети связанных между собой документов” к “сети связанных между собой данных” с хорошо определенным значением, который улучшит взаимодействие человека и машины. Авторы: @kolchinmax, @FedorKozlov1
KL10TCH.School : Введение в Linked Data и Semantic Web
KL10TCH.School : Введение в Linked Data и Semantic Web
Laboratory of Information Science and Semantic Technologies
Presented on ISST Colloquium by Peter Haase.
Linked Data and Semantic Web Application Development by Peter Haase
Linked Data and Semantic Web Application Development by Peter Haase
Laboratory of Information Science and Semantic Technologies
Экспертные системы: лекция №1
Экспертные системы: лекция №1
Laboratory of Information Science and Semantic Technologies
John Domingue. Developing rich interactive e books to teach linked open data ...
John Domingue. Developing rich interactive e books to teach linked open data ...
Laboratory of Information Science and Semantic Technologies
Aliaksandr Birukou. Linked Data Initiatives at Springer Verlag
Aliaksandr Birukou. Linked Data Initiatives at Springer Verlag
Laboratory of Information Science and Semantic Technologies
Open Data in Education. Introduction
Open Data in Education. Introduction
Laboratory of Information Science and Semantic Technologies
Kristi Holmes. A bird’s-eye view of scholarship at the individual, institutio...
Kristi Holmes. A bird’s-eye view of scholarship at the individual, institutio...
Laboratory of Information Science and Semantic Technologies
Darya Tarasowa. SlideWiki. Description
Darya Tarasowa. SlideWiki. Description
Laboratory of Information Science and Semantic Technologies
More from Laboratory of Information Science and Semantic Technologies
(8)
KL10TCH.School : Введение в Linked Data и Semantic Web
KL10TCH.School : Введение в Linked Data и Semantic Web
Linked Data and Semantic Web Application Development by Peter Haase
Linked Data and Semantic Web Application Development by Peter Haase
Экспертные системы: лекция №1
Экспертные системы: лекция №1
John Domingue. Developing rich interactive e books to teach linked open data ...
John Domingue. Developing rich interactive e books to teach linked open data ...
Aliaksandr Birukou. Linked Data Initiatives at Springer Verlag
Aliaksandr Birukou. Linked Data Initiatives at Springer Verlag
Open Data in Education. Introduction
Open Data in Education. Introduction
Kristi Holmes. A bird’s-eye view of scholarship at the individual, institutio...
Kristi Holmes. A bird’s-eye view of scholarship at the individual, institutio...
Darya Tarasowa. SlideWiki. Description
Darya Tarasowa. SlideWiki. Description
Экспертные системы: лекция №3
1.
Представление знаний Лекция 3 муромцевди.рф
dimour.spb.ru mouromtsev@mail.ifmo.ru Часть II Продукционные правила
2.
©2014МуромцевД.И.Лекция3 Продукционная система (production system) Модель
вычислений, основанная на продукционных правилах (production rule), использует правила вида «ЕСЛИ условие, ТО действие» (IF… THEN…). Впервые идея появилась в работе Эмиля Поста (Emil Leon Post), 1943*, посвященной исследованию частного случая канонической системы Поста. Управление продукционными системами основано на Марковских алгоритмах. Пост доказал, что любая система в математики или логике может быть представлена в виде продукционных правил. То есть система продукции эквивалентна машине Тьюринга. 2 * Post E. (1943) Formal reduction of the general combination problem. American journal of Mathematics, 65: 197-268, 1943
3.
©2014МуромцевД.И.Лекция3 Архитектура продукционной системы 3
4.
©2014МуромцевД.И.Лекция3 База знаний В БЗ
содержится множество продукционных правил или просто продукций (productions); Условная часть (IF–part) правила — антецедент (antecedent) — является шаблоном (образцом), по которому можно определить, в какой момент необходимо использовать (активировать) данное правило; Часть действия (THEN–part) — консеквент (consequent) — описывает соответствующий шаг решения. 4
5.
©2014МуромцевД.И.Лекция3 Рабочая память Рабочая память
(working memory) содержит текущее описание модели мира в процессе рассуждений, инициализируемое начальным описанием задачи. 5
6.
©2014МуромцевД.И.Лекция3 Цикл распознавание-действие и разрешение
конфликтов 6 поиск допустимых продукций добавление найденных правил в конфликтное множество модификация рабочей памяти выбор и активация одного из правил
7.
©2014МуромцевД.И.Лекция3 Стратегии разрешения конфликтов Рефракция
(refraction) для предотвращения зацикливания. Новизна (recency) позволяет сосредоточить поиск на одной линии рассуждения. Специфичность (specifity) отдает предпочтение более конкретным правилам перед более общими 7 Пример реализации стратегий разрешения конфликтов в системе OPS5* (модификации системы OPS - "Official Production System», разработанной в конце 1970-х Чарльзом Форги): * Brownston L., Farrel R., Kant E., Martin N. (1985) Programming Expert Systems in OPS5: An Introduction to Rule-Based Programming. Reading, MA: Addison-Wesley, 1985.
8.
©2014МуромцевД.И.Лекция3 Разрешение конфликтов в
DROOLS Приоритет («выпуклость» - Salience). Новизна (Recency). Первенство (Primacy). FIFO (First In First Out). LIFO (First In First Out). Сложность (Complexity). Простота (Simplicity). Порядок загрузки (LoadOrder). Случайность (Random). 8 В современной системе DROOLS имеется значительное количество реализованных стратегий, а также можно определить свою*: * http://legacy.drools.codehaus.org/Conflict+Resolution
9.
©2014МуромцевД.И.Лекция3 Механизм возврата Чистая продукционная
модель не предусматривает выхода из тупиковых ситуаций в процессе поиска. Гораздо более эффективным является модификация цикла управления с механизмом возврата (cycle back) в предыдущее состояние модели мира. 9
10.
©2014МуромцевД.И.Лекция3 Аналогия с памятью
человека 10 Долговременная память Кратковременная память База знаний Рабочая память
11.
©2014МуромцевД.И.Лекция3 Примеры продукций П1: ЕСЛИ
клиент работает на одном месте более двух лет, ТО клиент имеет постоянную работу. П2: ЕСЛИ клиент имеет постоянную работу И клиенту более 18 лет И клиент НЕ имеет финансовых обязательств, ТО клиент может претендовать на получение кредита. 11
12.
©2014МуромцевД.И.Лекция3 Цепочка вывода (reasoning) 12 ЕСЛИ
клиент работает на одном месте более двух лет, ТО клиент имеет постоянную работу. ЕСЛИ клиент имеет постоянную работу И клиенту более 18 лет И клиент НЕ имеет финансовых обязательств, ТО клиент может претендовать на получение кредита. клиент работает на одном месте более двух лет клиенту более 18 лет клиент НЕ имеет финансовых обязательств клиент может претендовать на получение кредита клиент имеет постоянную работу заключение правило факт действие сопоставление
13.
©2014МуромцевД.И.Лекция3 Разновидности цепочек вывода Монотонный
вывод - факты не удаляются из рабочей памяти. Немонотонный вывод допускает удаление фактов из рабочей памяти. 13
14.
©2014МуромцевД.И.Лекция3 Направления вывода Вывод на
основе данных (data–driven search), процесс решения задачи начинается с исходных фактов. Этот процесс также называют прямой цепочкой вывода (forward chaining). Вывод от цели (goal–directed strategy) начинается от одной из допустимых целей, и рассматриваются пути, ведущие к достижению этой цели. Такой способ поиска называют также обратной цепочкой вывода (backward chaining). 14
15.
©2014МуромцевД.И.Лекция3 Прямая цепочка Все или
большинство данных заданы в пространстве задачи. Существует большое количество потенциальных целей, но всего лишь несколько способов представления и применения исходных фактов. Сформировать цель или гипотезы очень трудно в силу избыточности исходных данных или большого числа конкурирующих гипотез. 15 Прямая цепочка рассуждений применяется в задачах, где на основании имеющихся фактов необходимо определить тип (класс) объекта или явления, выдать рекомендацию, определить диагноз и т.п. Вывод на основе данных применим к решению задач в следующих случаях:
16.
©2014МуромцевД.И.Лекция3 Алгоритм прямого вывода 16 Алгоритм
прямого вывода основан на стратегии поиска в ширину. Начальная инициализация рабочей памяти Проверка правила Добавить консеквент к рабочей памяти Передать резултат Выбор следующего правила Конец Правило акстивировано? Есть еще правила? нет да нет да Цель найдена? нет да
17.
©2014МуромцевД.И.Лекция3 Пример прямого вывода (база
знаний) ЕСЛИ Процентные ставки падают, ТО Уровень цен на бирже растет. ЕСЛИ Процентные ставки растут, ТО Уровень цен на бирже падает. ЕСЛИ Валютный курс доллара падает, ТО Процентные ставки растут. ЕСЛИ Валютный курс доллара растет, ТО Процентные ставки падают. ЕСЛИ Процентные ставки федерального резерва падают И Средства федерального резерва добавлены, ТО Процентные ставки падают. 17 Пример миниатюрной экспертной системы для фондовой биржи. БЗ включает, следующие продукционные правила:
18.
©2014МуромцевД.И.Лекция3 Пример прямого вывода (начальное
состояние) На основании запроса пользователя инициализируется исходное состояние рабочей памяти путем добавления в нее факта Валютный курс доллара падает: 18
19.
©2014МуромцевД.И.Лекция3 Пример прямого вывода (первый
шаг вывода) После активации правила 3, и в рабочую память добавится новый факт: Процентные ставки растут: 19
20.
©2014МуромцевД.И.Лекция3 Пример прямого вывода (второй
шаг вывода) После активации правила 2, и в рабочую память добавится новый факт: Уровень цен на бирже падает: 20
21.
©2014МуромцевД.И.Лекция3 Обратная цепочка рассуждений Цель
поиска явно присутствует в постановке задачи или может быть легко сформулирована. Имеется слишком большое число правил, которые на основе исходных фактов продуцируют возрастающее число заключений или целей. Исходные данные не приводятся в задаче, но подразумевается, что они должны быть известны или могут быть легко получены. 21 Обратная цепочка рассуждений применяется в задачах, соответствующих процессу проверки гипотез при решении проблем человеком — для заданной ситуации необходимо определить условия к ней приводящие. Процесс поиска от цели к данным рекомендован в следующих случаях:
22.
©2014МуромцевД.И.Лекция3 Алгоритм обратного вывода 1.
Определить цель для логического вывода и выбрать ее в качестве текущей подцели. 2. В списке правил найти первое вхождение этой подцели. Если правило найдено, перейти к рассмотрению условной части найденного правила. Если правило не найдено, сообщить пользователю, что ответ найти невозможно. 3. Выбрать в качестве подцелей факты из условия из данного правила. 4. Если в списке подцелей имеются факты, истинность или значение которых могут быть запрошены у пользователя, то задать пользователю соответствующие вопросы. 5. Если очередная подцель выведена, то перейти к шагу 2. 6. Если очередная подцель не может быть выведена или запрошена у пользователя, сообщить, что ответ получить невозможно. 7. Если все подцели подтверждены, то сообщить пользователю окончательный вывод. 22 Алгоритм прямого вывода обычно основан на стратегии поиска в глубину. Этот процесс предусматривает следующие шаги:
23.
©2014МуромцевД.И.Лекция3 Пример обратного вывода (начальное
состояние) 23
24.
©2014МуромцевД.И.Лекция3 Пример обратного вывода (формирование
правил) 1. Выбрать из дерева решений вершину вывода и зафиксировать её. 2. Найти вершину решения, расположенную слева от выбранной вершины вывода и связанную с ней ветвью, и зафиксировать её. 3. Повторять шаг 2 до тех пор, пока не будут рассмотрены все вершины решения, расположенные левее зафиксированной вершины вывода или не встретится новая вершина вывода. Если встретилась вершина вывода, то её надо зафиксировать и прекратить выполнение шага 2. Выполнение также прекращается, если исчерпаны все вершины. 4. Каждая вершина решения, составляющая путь, — это одна из переменных части ЕСЛИ правила. Значение, связанное с ветвью, представляет собой условие. Переменные условной части правила объединяются логическим оператором И. 5. Выбранный логический вывод перенести в часть ТО правила. 24 Условная часть содержит все вершины решения, находящиеся на пути к выводу. Вывод же составляет часть правила ТО. Таким образом, процесс формирования правил для всех возможных логических выводов состоит из следующих шагов:
25.
©2014МуромцевД.И.Лекция3 Пример пути на
дереве решений (пример формирования правил) Путь 1→4→6: ЕСЛИ Посетитель имеет ученое звание И Посетитель сделал важное открытие, ТО Предложить посетителю должность научного сотрудника. 25
26.
©2014МуромцевД.И.Лекция3 Другие пути на
дереве решений для приведенного примера Путь 1→2: ЕСЛИ Посетитель НЕ имеет ученое звание, ТО Посетителю отказать. Путь 1→3: ЕСЛИ Посетитель имеет ученое звание, ТО Возможно, что посетитель будет принят на работу. Путь 1→4→6: ЕСЛИ Посетитель имеет ученое звание И Посетитель сделал важное открытие, ТО Предложить посетителю должность научного сотрудника. Путь 3→5→7→10: ЕСЛИ Возможно, что посетитель будет принят на работу И Средний бал посетителя за время учебы < 3,5 И Опыт работы посетителя по специальности > 2 лет, ТО Предложить посетителю должность инженера по эксплуатации. Путь 3→5→7→9: ЕСЛИ Возможно, что посетитель будет принят на работу И Средний бал посетителя за время учебы < 3,5 И Опыт работы посетителя по специальности < 2 лет, ТО Посетителю отказать. Путь 3→5→8: ЕСЛИ Возможно, что посетитель будет принят на работу И Средний бал посетителя за время учебы > 3,5, ТО Предложить посетителю должность инженера–конструктора. 26
27.
©2014МуромцевД.И.Лекция3 Пример обратного вывода (первый
шаг вывода) Предположим, что претендент на работу хочет получить должность инженера–конструктора 27 Предложить посетителю должность инженера– конструктора Текущая подцель Правило 1 Правило 2 Правило 3 Правило 4 Правило 5 Правило 6 Правила
28.
©2014МуромцевД.И.Лекция3 Пример обратного вывода (второй
шаг вывода) Правило 6 содержит в заключении изначальный факт, следовательно, система перейдет к рассмотрению новых подцелей 28 Предложить посетителю должность инженера– конструктора Возможно, что посетитель будет принят на работу», Средний бал посетителя за время учебы Текущая подцель Правило 1 Правило 2 Правило 3 Правило 4 Правило 5 Правило 6 Правила
29.
©2014МуромцевД.И.Лекция3 Пример обратного вывода (второй
шаг вывода) В заключении правила 2 указан факт «Возможно, что посетитель будет принят на работу», следовательно следующей подцелью будет факт из условной части правила 2: 29 Предложить посетителю должность инженера– конструктора Возможно, что посетитель будет принят на работу», Средний бал посетителя за время учебы Посетитель имеет ученое звание Текущая подцель Правило 1 Правило 2 Правило 3 Правило 4 Правило 5 Правило 6 Правила
30.
©2014МуромцевД.И.Лекция3 Эвристические знания и
метаправила Иногда для получения решения требуется вмешательство в стандартный процесс вывода. Метаправила не принимают непосредственного участия в процессе формирования рассуждений, а определяют приоритет выполнения или исключают из рассмотрения обычных правила и выполняются в первую очередь. 30
31.
©2014МуромцевД.И.Лекция3 Пример метаправила (I) ЕСЛИ
кредитный рейтинг клиента высокий И клиент является клиентом банка, ТО сначала применить правила для льготных условий предоставления кредита. 31
32.
©2014МуромцевД.И.Лекция3 Пример метаправила (II) ЕСЛИ
существуют правила, в условиях которых не упоминается текущая цель И существуют правила, в условиях которых упоминается текущая цель, ТО сначала следует активизировать первые из перечисленных правил. 32
33.
©2014МуромцевД.И.Лекция3 Алгоритм Rete для оптимизации
поиска правил 33 По существу, алгоритм RETE интегрирует правила в сетевую структуру, позволяющую системе сопоставлять правила с данными, непосредственно указывающими на правило. Этот алгоритм значительно ускоряет выполнение поиска, особенно, если число правил велико.
34.
©2014МуромцевД.И.Лекция3 Примеры систем: G2 34
35.
©2014МуромцевД.И.Лекция3 Примеры систем: Exsys 35
36.
©2014МуромцевД.И.Лекция3 Примеры систем: Drools 36
37.
©2014МуромцевД.И.Лекция3 Пример правила в
Drools IF the entrance pupil of an optical system is removed forward THEN exclude the all base elements with exception of B3A3P element 37 rule “The B3A3P element” when Classification( D == 2 ) $elements := ArrayList() from collect( OpticalElement() ) then modify( $elements ) { clear() add( new OpticalElement( type == “B”, surfaces == “3A3P” )) }end
38.
©2014МуромцевД.И.Лекция3 Пример метаправила в
Drools IF the optical system is not fast THEN a fast element isn’t needed at the system 38 rule “No fast” when Classification( J == 1 ) $conds := SystemConditions() then modify( $conds ) { setIsFastNeeded( false ) } end
Download now