МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ федеральное государственное автономное образовательное учреждение высшего образования САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ А.Н. Якимов, А.Р. Бестугин , И.А. Киршина ИНТЕЛЛЕКТУАЛЬНЫЕ МЕТОДЫ КОНСТРУКТОРСКО-ТЕХНОЛОГИЧЕСКОГО ПРОЕКТИРОВАНИЯ Учебно-методическое пособие Санкт-Петербург 2021 Якимов, А.Н. Интеллектуальные методы конструкторско-технологического проектирования: учебно-методическое пособие ( к выполнению лабораторного практикума)/ А.Н. Якимов, А.Р. Бестугин, И.А. Киршина. – СПб.: ГУАП, 2021. – 43 с. Содержатся методические указания к выполнению лабораторного практикума, посвященного изучению методов искусственного интеллекта, используемых в конструкторско-технологическом проектировании приборов и электронно-вычислительных средств. Предназначено для студентов магистерской подготовки по направлениям 11.04.03 «Конструирование и технология электронных средств» и 12.04.01 «Приборостроение» при изучении дисциплин «Интеллектуальные методы технологического проектирования», «Нейросетевые методы в конструкторско-технологическом проектировании», «Элементы искусственного интеллекта в проектировании ЭС» и «Элементы искусственного интеллекта в проектировании приборов». Подготовлены кафедрой конструирования и технологий электронных и лазерных средств Санкт-Петербургского государственного университета аэрокосмического приборостроения. 2 Лабораторная работа №1 ИСЧИСЛЕНИЕ ВЫСКАЗЫВАНИЙ И ПРЕДИКАТОВ Цель работы: изучение основ описания предметной области с использованием логики высказываний и логики предикатов, использование исчисления высказываний и предикатов для построения правил вывода в продукционной экспертной системе. 1 Теоретические основы логики высказываний и логики предикатов 1.1Исчисление высказываний 1.1.1 Логика высказываний Логика высказываний – раздел математической логики, лежащий в основе всех остальных ее разделов. Основными объектами рассмотрения являются высказывания. Под высказыванием понимают повествовательное предложение, о котором можно сказать одно из двух: истинно оно или ложно. Пусть есть множество высказываний, фраз, принимающих значение «истина» или «ложь». Примером могут быть фразы «Сегодня холодно», «Идёт дождь», «Коля Петров учится в группе 2633», «Президент России поехал в Китай» и др. Будем называть их элементарными высказываниями и обозначать прописными буквами латинского алфавита. При этом отвлечёмся от конкретного смысла высказывания, оставим только его истинностное значение. В исчислении высказываний не рассматриваются утверждения, имеющие значения, отличные от значений «истинно» и «ложно». Не рассматривается и трёхзначная логика, со значениями, скажем «Да», «Нет», «Не знаю». Ответ отличный от «Да» должен быть «Нет». Древние философы называли этот принцип законом исключения третьего. Высказывание – это утверждение, которое может быть только истинно или ложно. Его принято обозначать символами T (от True), или F (от 3 False), или соответственно, 1 (для истинного значения) или 0 (для значения ложь). Значение высказывания зависит от предметной области. Например, высказывание «число 15 – простое» будет истинным в восьмеричной и ложным в десятичной системе счисления. Поэтому весьма важно конкретизировать область, на которой определено употребляемое высказывание. 1.1.2 Формулы построения логики высказываний Более сложные высказывания строятся из элементарных высказываний с помощью логических связок «не», «и», «или», «то же, что», «из … следует… ». (« … влечёт…», «…потому, что…»). Связки логики высказываний представляют функции истинности или функции алгебры логики. В алгебре логики рассматриваются как операции над двумя операндами (высказываниями) – двухместные (бинарные), так и одноместная (унарная) операция отрицание. Основные логические связки и их обозначения представлены в табл.1. Таблица 1 Название Тип Обозначение Читается Другие обозначения Отрицание Унитарный не A , , not Конъюнкция Бинарный и &, and Дизъюнкция Бинарный или , or Импликация Бинарный влечет , Эквивалентность Бинарный эквивалентно , ~, Указанные логические операции имеют следующий смысл. Отрицание: A (читается "не A"). Отрицание истинно тогда и только тогда, когда исходное выказывание A ложно. Логическая операция отрицание задается следующей таблицей истинности табл. 2. 4 Таблица 2 A A 0 1 1 0 Например, отрицанием высказывания “У меня дома есть компьютер” будет высказывание “Неверно, что у меня дома есть компьютер” или, что в русском языке то же самое, “У меня дома нет компьютера”. Отрицанием высказывания “Я не знаю китайского языка” будет высказывание “Неверно, что я не знаю китайского языка” или, что в русском языке одно и то же, “Я знаю китайский язык”. Конъюнкция: AB (читается "A и B"). Конъюнкция истинна тогда и только тогда, когда истины оба высказывания A и B. Логическая операция конъюнкция задается следующей таблицей истинности табл. 3. Таблица 3 A B A&B 0 0 0 0 1 0 1 0 0 1 1 1 В качестве примера рассмотрим два высказывания: A = “Завтра будет мороз” и B = “Завтра будет идти снег”. Очевидно, новое высказывание A & B = “Завтра будет мороз, и завтра будет идти снег” истинно только в том случае, когда одновременно истинны высказывания A и B, а именно, что завтра будет и мороз и снег. Высказывание A & B будет ложно во всех остальных случаях: будет идти снег, но будет оттепель (т.е. не будет мороза); мороз будет, а снег не будет идти; не будет мороза, и снег не будет идти. Дизъюнкция: AB (читается "A или B"). Дизъюнкция истинна тогда и только тогда, когда истинно хотя бы одно из высказываний A или B. Другими 5 словами, дизъюнкция ложна тогда и только тогда, когда ложны оба высказывания A и B. Логическая операция дизъюнкция задается следующей таблицей истинности табл. 4. Таблица 4 A B AB 0 0 0 0 1 1 1 0 1 1 1 1 В качестве примера рассмотрим два высказывания: A = “Колумб был в Индии” и B = “Колумб был в Египте”. Очевидно, что новое высказывание AB = “Колумб был в Индии или был в Египте” истинно как в случае, если Колумб был в Индии, но не был в Египте, так и в случае, если он не был в Индии, но был в Египте, а также в случае, если он был и в Индии, и в Египте. Но это высказывание будет ложно, если Колумб не был ни в Индии, ни в Египте. Импликация: AB (читается "если A, то B"). Импликация ложна тогда и только тогда, когда истинно A и ложно B. С помощью импликации можно описать подавляющее число зависимостей между событиями. Например, высказыванием “Если на каникулах мы поедем в Петербург, то посетим Исаакиевский собор” мы утверждаем, что в случае приезда на каникулах в Петербург Исаакиевский собор мы посетим обязательно. Логическая операция импликация задается следующей таблицей истинности табл. 5. Таблица 5 A B AB 0 0 1 0 1 1 1 0 0 1 1 1 6 Импликация будет ложной только тогда, когда посылка истинна, а заключение ложно, и она заведомо будет истинна, если ее условие A ложно. Допустим, 1 = 2, тогда и 2 = 1. Складывая эти равенства, мы получим 3 = 3, т.е. из ложной посылки путем тождественных преобразований мы получили истинное высказывание. Импликация, образованная из высказываний А и В, может быть записана при помощи следующих предложений: “Если А, то В”, “Из А следует В”, “А влечет В”, “Для того чтобы А, необходимо, чтобы В”, “Для того чтобы В, достаточно, чтобы А”. Эквивалентность: AB (читается "A равнозначно B"). Эта логическая операция, ставит в соответствие двум элементарным высказываниям новое, являющееся истинным тогда и только тогда, когда оба исходных высказывания одновременно истинны или одновременно ложны. Логическая операция эквивалентность задается следующей таблицей истинности табл. 6. Таблица 6 A B AB 0 0 1 0 1 0 1 0 0 1 1 1 Рассмотрим возможные значения сложного высказывания, являющегося эквивалентностью: “Учитель поставит ученику 5 в четверти тогда и только тогда, когда ученик получит 5 на зачете”. 1. Ученик получил 5 на зачете и 5 в четверти, т.е. учитель выполнил свое обещание, следовательно, высказывание является истинным. 2. Ученик не получил на зачете 5, и учитель не поставил ему 5 в четверти, т.е. учитель свое обещание сдержал, высказывание является истинным. 7 3. Ученик не получил на зачете 5, но учитель поставил ему 5 в четверти, т.е. учитель свое обещание не сдержал, высказывание является ложным. 4. Ученик получил на зачете 5, но учитель не поставил ему 5 в четверти, т.е. учитель свое обещание не сдержал, высказывание является ложным. Отметим, что в математических теоремах эквивалентность выражается связкой “необходимо и достаточно”. С помощью связок можно получать составные высказывания, которым соответствует формула, например, (A&B) (AB). Такие высказывания называют сложными. Каждое сложное высказывание, как и элементарное, принимает значение из множества {F, T}. В формулах используются скобки для определения порядка выполнения действий. Словарь исчисления высказываний даёт возможность строить сложные высказывания из простых или элементарных, соединяя последние связками. Получаем формулы, которые являются объектами языка. Аналогия с естественными языками очевидна: фраза – это составное высказывание, построенное по определённым правилам. Эквивалентные формулы логики высказываний 1. A ~ A. 2. AB ~ BA. 3. AB ~ BA. 4. A(BC) ~ (AB)C. 5. A (BC) ~ (AB) C. 6. A (BC) ~ (AB) (AC). 7. A(BC) ~ (AB) (AC). 8. (AB) ~ A B. 9. (AB) ~ A B. 10. AB ~ A B. 11. AB ~ B A. 8 12. A(AB) ~ A. 13. A (AB) ~ A. 14. AA ~ A. 15. AA ~ A. 16. AA ~ 0. 17. AA ~ 1. 1.2. Исчисление предикатов 1.2.1 Логика предикатов Логика высказываний позволяет формализовать лишь малую часть множества рассуждений. Высказывания, описывающие некоторые свойства объектов, или отношения между объектами выходят за рамки логики высказываний. Например, мы не сможем судить о логической правильности такого простого рассуждения: «Каждое натуральное число является корнем некоторого квадратного уравнения. Число 5 –натуральное. Следовательно, 5 является корнем некоторого квадратного уравнения». Логика предикатов начинается с анализа строения высказываний, которые выражают тот факт, что объекты обладают некоторыми свойствами, или находятся между собой в некоторых отношениях. Понятие «свойства» и понятие «отношения» рассматриваются как частный случай общего понятия «предиката». Объекты, о которых говорится в высказывании, называются термами или предметными константами. Предметные константы, подобно константам в математике, определяют значения, которые могут быть приписаны в высказываниях предметным переменным. При этом каждой переменной соответствует своё множество предметных констант. Например, если речь идет о студенческой группе, то переменной ФАМИЛИЯ соответствует множество констант – конкретных фамилий студентов группы, переменой ОЦЕНКА – множество констант {отл., хор., удовл., неуд.}, переменной ВУЗ – множество имен ВУЗов. Над 9 переменными и константами определяются функции так же, как и в математике, т.е. как однозначное отображение декартово произведения X1X2× … Xm Y, где Xi и Y – имена предметных переменных. i = 1, 2 … m. Пример функции F: X1×X2 Y, где X1 – вес товара, X2 – его цена, а Y – стоимость, которая определяется как Y = X1×X2. Декартовым (прямым) произведением множеств A и B называют множество A×B упорядоченных пар, таких, что первый элемент пары принадлежит множеству A, а второй элемент пары – множеству B. Пример. A = {1, 3, 8}, B = {4, 5}, A×B = {(1,4), (1,5), (3,4), (3,5), (8,4), (8,5)}. Предикатом называется функция, аргументы которой принимают значения из некоторого множества, а сама функция – значение 0 («ложь») или 1 («истина»). Пример предиката: ФАМИЛИЯ = «Петров». Здесь ФАМИЛИЯ – переменная, «Петров» – константа. Предикаты, в которых описывается некоторое свойство объекта, называется предикат-свойство. Если предикат определяет отношение между несколькими объектами, то такой предикат называется предикат-отношение. В зависимости от того, между скольким числом объектов устанавливаются отношения, различают двуместные, трёхместные и n-местные отношения Предикат называется n-местным (n= 1, 2 …), если соответствующая функция есть функция от n-аргументов. Высказывание – не что иное, как предикат без аргумента, или предикат с нулевым числом мест. Примеры: 1) бинарные предикаты: x,y,zN, P(x, y) = (x>y), R(x,y) = (x=y2), Q(x, y)= «x делит y»; 10 2) трёхместные: P(x, y, z) = «число x является НОД (наибольший общий делитель) чисел y и z» , R(x, y, z) = (z = x + y). Предикатную функцию P(x, y) можно рассматривать как функцию, определённую на декартовом квадрате N2 (табл. 7). Таблица 7 – Квадрат Декарта Что случится, Что случится, если это произойдет если это не произойдет Что не случится, Что не случится, если это произойдет если это не произойдет Множество тех пар (x, y) для которых данная функция принимает значение истины, есть область истинности предиката P(x, y). Табличную запись функции называют матрицей предиката. 1.2.2 Применение логических связок Так как предикаты принимают значения из {T, F}, то они являются высказываниями, и их можно объединять логическими связками, получая более сложные предикатные функции. Пусть R(x) и E(x) – два одноместных предиката, определённых на некотором множестве M. Конъюнкция. P1(x) ≡ R(x)&E(x) – это предикат, который истинен для тех и только для тех объектов из M, для которых оба предиката истинны (≡ – знак тождественности). Таким образом, область истинности предиката P1(x) равна пересечению областей истинности предикатов R(x) и E(x). Дизъюнкция. P2(x) ≡ R(x) ∨ E(x) – это предикат, который ложен для тех и только для тех объектов из M, для которых оба предиката ложны. Таким образом, область истинности предиката P2(x) равна объединению областей истинности предикатов R(x) и E(x). 11 Отрицание. P3(x) ≡ ¬R(x) – это предикат, который истинен для тех и только для тех объектов из M, для которых предикат R(x) ложен. Его область истинности является дополнением области истинности предиката R(x). Операции логики над многоместными предикатами определяются аналогично. Необходимо следить, какие переменные определяются одинаковыми буквами, а какие разными. Пусть имеется два предиката R(x, y) и Q(x, y), определённых на множестве M. Тогда предикат P(x, y, z) ≡ R(x, y) & Q(y, z) – некоторый трёхместный предикат от x, y, z. Чтобы определить для каких значений предикат P(x, y, z) принимает истинные значения, а для каких ложные, необходимо произвести унификацию переменных, то есть присвоить переменным некоторые конкретные значения из множества M. Пусть x = a, y = b, z = c, где a ,b, c ∈ M, P(a, b, c) ≡ R(a, b) & Q(b, c). Предикат P(a, b, c) =1, когда R(a, b) = 1 и Q(b, c)=1. Пример. (ФАМИЛИЯ = «Петров»)& (ВУЗ = «ГУАП»)&(1<КУРС<4). Это сложное высказывание будет истинным для студента ГУАП 2-го или 3го курса с фамилией Петров. Для всех остальных студентов значения предиката будет «ложь». Введение переменных и функций позволяет более подробно описывать предметную область, чем при описании через элементарные высказывания, смысл которых нам был неважен. Но если там решение можно было найти перебором истинностных значений элементарных высказываний, то перебор по всевозможным значениям предметных переменных становится часто невозможным, поэтому требуются другие методы поиска решений. 1.2.3 Использование кванторов В математической логике наряду с логическими операциями используются и кванторы (от лат. quantum – сколько) – логические операции, дающие количественную характеристику области предметов, к которой относится выражение, получаемое в результате их применения. Именно кванторы делают теорию предикатов гибкой и богатой. 12 В обычном языке носителями таких характеристик служат слова типа все, каждый, некоторый, любой, всякий, бесконечно много, существует, имеется, единственный, несколько, конечное число, а также все количественные числительные. В формализованных языках, составной частью которых является исчисление предикатов, для выражения всех подобных характеристик оказывается достаточным кванторов двух видов: квантора общности и квантора существования (табл. 8). Таблица 8 – Кванторы Читается Название Обозначения квантора Все, каждый, любой, вся- Квантор общности x A(x) кий, бесконечно много Существует, имеется, Квантор существова- единственный, несколько, ния x A(x) конечное число Кванторы позволяют из конкретной высказывательной формы получить высказывательную форму с меньшим числом параметров. Квантор общности позволяет из данной высказывательной формы с единственной свободной переменной x получить высказывание с помощью связки “Для всех x …”. Результат применения квантора общности к высказывательной форме A(x) обозначают x A(x). Высказывание x A(x) будет истинным тогда и только тогда, когда при подстановке в A(x) вместо свободной переменной x любого объекта из области возможных значений всегда получается истинное высказывание. Высказывание x A(x) может читаться следующим образом: “Для любого x имеет место A(x)”, “A(x) при произвольном x”, “Для всех x верно A(x)”, “Каждый x обладает свойством A(x)” и т.п. Квантор существования позволяет из данной высказывательной формы с единственной свободной переменной x получить высказывание с помощью связки “Существует такой x, что …”. Результат применения квантора 13 общности к высказывательной форме A(x) обозначают x A(x). Высказывание x A(x) истинно тогда и только тогда, когда в области возможных значений переменной x найдется такой объект, что при подстановке его имени вместо вхождения свободной переменной x в A(x) получается истинной высказывание. Высказывание x A(x) может читаться следующим образом: “Для некоторого x имеет место A(x)”, “Для подходящего x верно A(x)”, “Существует x, для которого A(x)”, “Хотя бы для одного x верно A(x)” и т.п. Кванторы играют для формализованных языков математической логики ту же роль, которую играют для естественного языка так называемые “количественные” (“кванторные”) слова, — определяют область применимости данного высказывания (или высказывательной формы). При построении отрицания к высказыванию, содержащему квантор, действует следующее правило: частица “не” добавляется к сказуемому, квантор общности заменяется на квантор единственности и наоборот. Рассмотрим пример. Отрицанием высказывания “Все юноши 10-х классов — отличники” является высказывание “Неверно, что все юноши 10-х классов — отличники” или “Некоторые юноши 10-х классов — не отличники”. Математическое выражение ∀x P(x), x∈M имеет следующий смысл. Если множество M состоит из конечного числа объектов M = {a1, a2, a3,…an}, то значение истинности предиката с квантором общности ∀x P(x) записывается в виде конъюнкции: P(a1) & P(a2) & P(a3) &…& P(an). Смысл математического выражения ∃x P(x), x∈M следующий. Если множество M = {a1, a2, a3,…an}, то значение истинности предиката с квантором существования ∃x P(x) совпадает со значением дизъюнкции: P(a1) ∨ P(a2) ∨ P(a3) ∨…∨ P(an). Итак, квантор общности обобщает операцию конъюнкции, квантор существования обобщает операцию дизъюнкции. Поскольку в формулы введены новые объекты-кванторы, необходимо установить связь их с другими объектами формул. 14 Установим связь кванторов с одноместным оператором отрицания. Нетрудно убедиться, что имеют место следующие тождества, носящие название законов де Моргана: ¬∀x P(x) ≡ ∃x (¬ P(x)); ¬∃x P(x) ≡ ∀x (¬ P(x)). 1.2.4 Формулы построения логики предикатов Рассматривается предметная область, в которой множеством служит множество всех предикатов. Этот раздел математической логики называется исчислением предикатов. Так же, как и в исчислении высказываний, здесь выявляется множество аксиом, позволяющих проводить выводы в любой предметной области, не прибегая к смыслу высказываний, опираясь только на сформулированные в исчислении формализмы. Исчисление предикатов является расширением исчисления высказываний. Как и формулы исчисления высказываний, формулы исчисления предикатов делятся на три класса: общезначимые формулы (истины при всех интерпретациях), невыполнимые (ложны при всех интерпретациях), выполнимые (истины хотя бы при одной интерпретации). Определение 1. Пусть P(x1, x2, … xn) – некоторый n-местный предикат на некотором множестве M. Этот предикат называется: a) общезначимым (тождественно-истинным), если для любого набора значений аргументов его значение равно истина; b) тождественно–ложным, если для любого набора значений аргументов, его значение равно ложь; с) выполнимым, если существует хотя бы один набор значений аргументов, для которых его значение равно истина. Пример тождественно-ложного предиката: 15 8 x 5 Q ( x ) . 8 x 1 Определение 2. Пусть R(x1, x2, … xn) и Q(x1, x2, … xn) – два n-местных предиката от одних и тех же переменных, заданных на одном и том же множестве. Предикат Q(x1, x2, … xn) называется следствием предиката R(x1, x2, … xn), если для любого набора переменных, на которых предикат R(x1, x2, … xn) является истинным, предикат Q(x1, x2, … xn) также истинен. Следствие обозначается как R(x1, x2, … xn) Q(x1, x2, … xn). Пример. x∈N, R(x) = «x делится 6», Q(x) = «x делится на 3». R(x) Q(x), но не наоборот. Теорема. Предикаты R(x1, x2, … xn) и Q(x1, x2, … xn) равносильны тогда и только тогда, когда каждый из них есть следствие другого. Формулы А и В называются равносильными на множестве М, если при любой замене имеющихся в них простых формул на предикаты на множестве М эти формулы превращаются в равносильные предикаты. Примеры эквивалентных формул логики предикатов 1. x A(x) ~ x A(x). 2. x A(x) ~ x A(x). 3. x A(x) x B(x) ~ x (A(x) B(x)). 4. x A(x) x B(x) ~ x (A(x) B(x)). 2.Лабораторные задания 2.1 Лабораторные задания по исчислению высказываний 1. Найти значения истинности для следующих формул логики высказываний: a) b) c) d) e) (¬A →¬( B C)) ∧ (¬A ∨ ¬ B ∨¬ C), если A = 1, B = 0, C = 1; ¬( A → (¬B →¬( C (¬A ∧( B ∨ C))))), если A = 0, B = 0, C = 1; (A ∧ B ∧ C) → (C ∨(¬ B → A)), если A = 1, B = 0, C = 0; ¬ (A →¬( B ∨ (¬C ∧ B C))), если A = 1, B = 1, C = 1; (A ∨ ¬ B) → (C →¬( B →¬( A ∨ ¬ B ∨ ¬ C), если A = 0, B = 0, C = 1. 16 2. Записать символически высказывания, позволяющие решить задачу диагностики в предметной области, заданной преподавателем, используя логические операции отрицания, конъюнкции, дизъюнкция, импликации и эквивалентности, употребляя буквы для обозначения простых высказываний. 3. Провести расчет истинности высказываний, позволяющих решить задачу диагностики в предметной области, заданной преподавателем, с использованием математической логики одного из программных пакетов: Prolog, MathCAD, MatLAB, Python др. 2.2 Лабораторные задания по исчислению предикатов 1. Построить формулу исчисления предикатов, позволяющую решить задачу диагностики в предметной области, заданной преподавателем. 2. Провести расчет по формуле исчисления предикатов, позволяющей решить задачу диагностики в предметной области, заданной преподавателем, с использованием математической логики одного из программных пакетов: Prolog, MathCAD, MatLAB, Python др. 3 Содержание отчета 1. Цель работы. 2. Индивидуальное задание. 3. Краткие теоретические сведения об исчислении высказываний и предикатов. 4. Результаты выполнения лабораторных заданий: a) значения истинности для заданных формул логики высказываний; b) символическая запись высказывания и формула исчисления предикатов, позволяющие решить задачу диагностики в предметной области, заданной преподавателем; c) программная реализация и результаты расчетов символической записи высказывания и формулы исчисления предикатов для решения задачи диагностики в предметной области в программных пакетах. 5. Выводы. Контрольные вопросы 1. Что называют высказыванием? 2. Что называют логикой высказывания? 3. Почему значение высказывания зависит от предметной области? 4. Какой смысл логической операции отрицание, как она читается, какой ее тип и какое обозначение? 17 5. Составьте таблицу истинности логическая операции отрицание. 6. Какой смысл логической операции конъюнкция, как она читается, какой ее тип и какое обозначение? 7. Составьте таблицу истинности логическая операции конъюнкция. 8. Какой смысл логической операции дизъюнкция, как она читается, какой ее тип и какое обозначение? 9. Составьте таблицу истинности логическая операции дизъюнкция. 10. Какой смысл логической операции импликация, как она читается, какой ее тип и какое обозначение? 11. Составьте таблицу истинности логическая операции импликация. 12. Какой смысл логической операции эквивалентность, как она читается, какой ее тип и какое обозначение? 13. Составьте таблицу истинности логическая операции эквивалентность. 14. Какие высказывания называются сложными? 15. Что называют предикатом? 16. Что позволяет формализовать логика предикатов? 17. Что называют предметными константами? Как их иначе называют? 18. Какое произведение множеств называется декартовым? 19. Какой предикат называется n-местным? 20. Приведите пример записи n-местного предиката. 21. Что называют матрицей предиката? 22. Что понимают под унификацией переменных унификацию переменных и для чего ее необходимо произвести? 23. Что называют квантором? 24. Что позволяют сделать кванторы? 25. Какую логическую операцию называют квантором общности? 26. Какое обозначение квантора общности и как он читается? 27. Какую логическую операцию называют квантором существования? 28. Какое обозначение квантора существования и как он читается? 29. Какие тождества носят название законов де Моргана? 30. На какие три класса делятся формулы исчисления предикатов? 31. Какие формулы исчисления предикатов называют общезначимыми? 32. Какие формулы исчисления предикатов называют тождественно– ложными? 33. Какие формулы исчисления предикатов называют выполнимыми? 18 Лабораторная работа № 2 ПОСТРОЕНИЕ МАШИНЫ ВЫВОДА ДЛЯ ЭКСПЕРТНОЙ СИСТЕМЫ Цель работы: научиться проводить онтологические исследования, составлять словарь терминов и список взаимосвязей объектов выбранной предметной области (ПО); получить практический опыт построения концептуальной модели знаний ПО; научиться формализовать концептуальную модель знаний в виде правил логического вывода; научиться строить машину вывода (решатель) в виде дерева решений и осуществлять программную реализацию машины вывода экспертной системы (ЭС) продукционного типа. 1 Краткие теоретические сведения Интеллектуальная система, которую требуется построить, относится к классу идентификационных (или диагностических) систем, которые решают задачу идентификации (определения) объекта выбранной предметной области по его признакам. Такие системы составляют значительную часть существующих экспертных систем (рис. 1). Рисунок 1 – Модули, входящие в экспертную систему Пользовательский интерфейс – выполняет интерпретацию запроса пользователя к базе знаний и формирует ответ в удобной для пользователя форме. При разработке интерфейса экспертной системы используют разные 19 его реализации, включая "вопрос-ответ", меню управления, графический интерфейс или интерфейс на основе естественного языка. Редактор Знаний (Механизм приобретения знаний) - реализует процедуру накопления знаний в базе знаний. Машина вывода (Механизм вывода, Решатель) – моделирует ход рассуждений эксперта на основании знаний, имеющихся в базе знаний ЭС, и реализует процедуру поиска решения задачи: строит цепочку рассуждений (логических выводов), приводящую к конкретному результату. Блок объяснений Еще одним обязательным компонентом экспертной системы является блок, позволяющий пользователю получить ответы на вопросы "Как была получена данная рекомендация?" и "Почему экспертная система приняла такое решение?". Отвечая на вопрос "Как ", экспертная система предъявляет пользователю шаг за шагом весь процесс получения решения с указанием использованных фрагментов базы знаний. При ответе на вопрос "Почему" система демонстрирует последнее применение правила вывода, иными словами, последний шаг в процессе принятия решения. Штриховые линии на рис. 1 объединяют модули ЭС, которые входят в оболочку ЭС. Разделение знаний и других блоков, реализующих работу ЭС, позволяет использовать одни и те же модули (оболочку ЭС), для создания новой ЭС для других приложений. В этом случае база знаний и данные о частных случаях будут пополняться в соответствии с новыми приложениями. Существуют специальные готовые оболочки экспертных систем, которые позволяют посредством редактора базы знаний заполнить Базу знаний экспертной системы и получить конкретные правила вывода для данной предметной (проблемной) области. 1.1 Построение машины вывода в ЭС продукционного типа В соответствии с рис. 1, состав экспертных систем продукционного типа входят: 20 База Знаний (БЗ), записанная в виде продукционных правил (знания представлены в виде предложений типа: ЕСЛИ условие, ТО действие); Рабочая Память (РП) и Интерпретатор Правил (Решатель), реализующий определенный механизм логического вывода. Любое продукционное правило, содержащееся в базе знаний, состоит из двух частей: условие (антецедент – предшествующий) и заключение (консеквент – следствие, вывод). Антецедент представляет собой условную часть правила (посылку) и состоит из элементарных высказываний, соединенных логическими связками «И» (Λ), «ИЛИ» (V), НЕ (¬ ). Консеквент может включать одно или несколько высказываний, которые выражают либо некоторый факт, либо указание на определенное действие, подлежащее исполнению. Антецедент и консеквент связаны логической операцией «импликация» (), означающей, что из данного условия (антецедент) следует определённое заключение (консеквент). Машину вывода (решатель) продукционной ЭС можно изобразить орграфом – ориентированным графом, который состоит из точек, называемых вершинами орграфа, и линий со стрелками, соединяющими эти точки. Каждая такая линия называется дугой орграфа. Каждая вершина орграфа помечена либо уточняющим вопросом экспертной системы к пользователю, либо ответом ЭС на задачу (решение ЭС). Для удобства все вершины следует пронумеровать, начиная с нуля. Если вершина помечена вопросом экспертной системы, то из нее выходят две дуги (в случае многоальтернативного выбора количество дуг соответствует числу возможных выборов). Каждая дуга соответствует одному из альтернативных ответов пользователя. Вершина, соответствующая ответу ЭС на поставленную задачу (решение ЭС), не имеет выходящих дуг. На рис. 2 представлен орграф, отражающий Знания экспертной системы, которые помогают нам выбрать фотоаппарат в соответствии с нашими требованиями, опытом и финансовыми возможностями. 21 Рисунок 2 – Дерево решений (орграф), отражающее знания ЭС По существу, поиск решения экспертной системой означает "путешествие" по этому орграфу. Такое путешествие состоит из последовательности однотипных шагов, на каждом из которых пользователь должен решить, по какой дуге он пойдет из очередной вершины. 22 При построении дерева решений необходимо продумать, с какого вопроса начать и какими вопросами продолжить опрос пользователя, чтобы получилось компактное дерево решений. 1.2 Факты, свидетельства, гипотезы (декларативные знания и продукционные правила) Рассмотрим, как спроектировать и построить экспертную систему для идентификации объектов в заданной ПО. Пусть экспертная система поможет нам выбрать фотоаппарат в соответствии с нашими требованиями, опытом и финансовыми возможностями. Этот пример позволит понять, как строить идентификационную ЭС в любой другой предметной области. Для простоты мы ограничимся случаем, когда пользователь может точно ответить на вопрос о наличии или отсутствии того или иного признака (детерминированная экспертная система). Начнем с того, что сформулируем знания по указанному вопросу. Рассмотрим, как будут выглядеть декларативные знания для рассматриваемого случая, записанные в виде продукционных правил. 1. Если Ваш бюджет ограничен (БО), и стоимость фотоаппарата имеет для Вас существенное значение (СТ), мы предлагаем вам простые фотоаппараты-мыльницы (М): БО Λ СТ М (антецедент консе- квент). 2. Если ваш бюджет ограничен (БО) и для вас важно качество фотографий (КФ), то Вам подойдут фотоаппараты мыльницы с отличным качеством снимков (МК), стоимостью выше 7-8 тыс. руб.: БО Λ КФ МК. 3. Если ваш бюджет ограничен (БО) и для Вас важно наличие видео съемки (ВС), Вам подойдут такие фотоаппараты, как Nikon Coolpix S3100 Red и проч (NikC): БО Λ ВС NikC . 4. Если Вы не ограничены в средствах (¬БО), то вам могут быть доступны профессиональные фотоаппараты (ПФ): 23 ¬БО ПФ. Все оставшиеся правила можно записать точно так же. В результате получится система продукционных правил, которые и составят Базу Знаний (БЗ) продукционной системы. В Рабочей Памяти (РП) систем, основанных на продукционных моделях, хранятся факты (в виде высказываний) истинность которых была задана исходно или была установлена к текущему моменту времени в процессе решения конкретной задачи. Продукционная система должна найти решение поставленной задачи (идентифицировать объект, диагностировать поломку, дать прогноз и т.д.), сопоставляя имеющиеся факты, хранящиеся в рабочей памяти компьютера, и правила логического вывода, хранящиеся в базе знаний ЭС. Если в рабочей памяти есть факты (образцы), соответствующие каждому из элементарных высказываний, входящих в условие (антецедент), то Правило считается выполненным (срабатывает). В этом случае заключение сработавшего правила заносится в рабочую память и считается подтвержденным фактом. Таким образом, в процессе решения задачи содержимое рабочей памяти изменяется. Это происходит по мере срабатывания правил. Поэтому в процессе логического вывода объём фактов в рабочей памяти, как правило, увеличивается (уменьшаться он может в том случае, если действие какогонибудь правила состоит в удалении фактов из рабочей памяти). В процессе логического вывода последовательно (или по определенному принципу) просматриваются все правила, записанные в базе знаний. Если в рабочей памяти нет фактов об истинности какого-то высказывания, входящего в условие (антецедент), то правило пропускают и переходят к проверке условия следующего правила. В процессе логического вывода каждое правило из базы знаний может сработать только один раз (потом оно уже не проверяется). Часто для получения решения бывает необходимо сделать несколько итераций (проверить соответствие имеющихся в рабочей памяти фактов про24 дукционным правилам) и принять решение, используя правила из базы знаний, но уже с учётом новых фактов – тех заключений, которые были записаны в рабочую память на предыдущих итерациях. Основные достоинства систем, основанных на продукционных моделях, связаны с простотой представления знаний и простой организации вывода решения. 1.3 Построение решателя (прямой и обратный вывод) Существуют два типа продукционных систем – с «прямыми» и «обратными» выводами. Прямые выводы реализуют стратегию «от фактов к заключениям». При обратных выводах выдвигаются гипотезы вероятных заключений, которые могут быть подтверждены или опровергнуты на основании фактов, поступивших в рабочую память. Существуют также системы с двунаправленными выводами. Рассмотрим, как осуществляется логический вывод (решение) в продукционной экспертной системе. Пример прямого вывода. Пусть в Базе Знаний (БЗ) Экспертной системы имеются следующие правила: Правило 1. «ЕСЛИ A И B, ТО C»: A Λ BC (если одновременно имеют место А и В, то из этого следует С) DA Правило 2. «ЕСЛИ D, ТО A»: (если имеет место D, то из этого следует А) Предположим, что в Рабочую Память (РП) от пользователя ЭС поступили факты о B и D (РП: B и D). Рассмотрим основные шаги алгоритма прямого вывода. Правило срабатывает, если в РП есть образцы (факты), совпадающие с антецедентом (посылками, условиями) этого правила. 1. Сопоставим факты из РП с образцами правил из БЗ Правило 1 не может сработать, т.к. в РП нет данных об утверждении А. 25 Правило 2 срабатывает, так как в его антецеденте есть утверждение D, о котором есть данные в РП. 2. В РП заносится заключение сработавшего Правила 2 — имеет место утверждение А. Теперь содержимое рабочей памяти станет следующим: РП: B, D и A. 3. Второй цикл сопоставления фактов в РП с образцами правил. Теперь срабатывает Правило 1, так как конъюнкция условий (A Λ B) в его антецеденте становится истинной. 4. В РП заносится заключение сработавшего Правила 1 — имеет место С. В результате действия Правила 1 пользователю выдается окончательный диагноз — из имеющихся и полученных в результате работы ЭС фактов следует утверждение С. 5. Конец работы (БП исчерпана). Пример прямого вывода с конфликтным набором Теперь допустим, что в БЗ кроме Правила 1 и Правила 2 есть Правило 3: Правило 1. «ЕСЛИ A И B, ТО C»: A Λ BC. Правило 2. «ЕСЛИ D ТО A»: DA Правило 3. «ЕСЛИ D ТО P»: DP. РП: B и D. В результате сопоставления в первом же цикле возможно применение двух правил — Правила 2 и Правила 3, т.е. возникает конфликтный набор и встает задача выбора: какое из этих правил применить первым. Если выберем Правило 2, то в РП добавится факт А, и на следующем шаге опять возникнет конфликтный набор, так как можно будет применить Правило 1 и Правило 3. 26 Если будет выбрано Правило 1, то к заключению С мы придём за два шага. При любом другом выборе порядка применения правил к этому же заключению мы придём за три шага. Если завершение цикла работы ЭС наступает после просмотра всех правил, то число шагов будет равно трём, причем порядок применения правил не будет иметь какого-либо значения. Пример обратного вывода Пусть в БЗ имеется три правила (Правило 1, Правило 2 и Правило 3): Правило 1. «ЕСЛИ A И B, ТО C»: A Λ BC. Правило 2. «ЕСЛИ D, ТО A»: DA. Правило 3. «ЕСЛИ D ТО P»: DP. РП: B и D. Алгоритм обратного вывода содержит следующие шаги. 1. Выдвигается гипотеза окончательного диагноза — (С?) – имеет место утверждение С? 2. Отыскиваем правило, заключение которого содержит выдвинутую гипотезу, в нашем примере — это Правило 1 (A Λ BC). 3. Исследуем возможность применения Правила 1, то есть решается вопрос о том, может ли оно сработать. Для этого в рабочей памяти должны присутствовать факты, совпадающие с образцами антецедента этого правила. В рассматриваемом примере Правило 1 не может сработать из-за отсутствия в РП данных об А. Проверка факта А становится новой целью на следующем шаге. Выдвигается гипотеза: (А?) - имеет место утверждение А? 4. Отыскиваем правило, заключение которого соответствует новой цели: ищем правило, заключение которого содержит выдвинутую гипотезу (А?). Такое правило есть — Правило 2 (DA) 5. Исследуем возможность применения Правила 2. 27 Проводим сопоставление с данными в РП. Правило срабатывает, так как в РП присутствует факт, совпадающий с его образцом (D). 6. Действие Правила 2 позволяет занести в рабочую память заключение: утверждение А имеет место. РП: B, D, и A. 7. Условная часть Правила 1 теперь подтверждена фактами (A и B есть в рабочей памяти), следовательно, это правило срабатывает, и выдвинутая начальная гипотеза (С?) подтверждается. 8. Конец работы. При сравнении этого примера с примером прямого вывода нет заметных преимуществ обратного вывода перед прямым. Пример обратного вывода с конфликтным набором Предположим, в БЗ записаны Правило 1, Правило 2, Правило 3 и Правило 4: A Λ BC Правило 1. «ЕСЛИ A И B, ТО C»: DA Правило 2. «ЕСЛИ D, ТО A»: Правило 3. «ЕСЛИ D ТО P»: DP. Правило 4. «ЕСЛИ S, ТО A»: SA В рабочей памяти присутствуют те же самые факты (РП: B и D). В данном случае алгоритм обратного вывода с конфликтным набором включает следующие шаги: 1. Выдвигается гипотеза: (С?). 2. Ищем правило, заключение которого совпадает с поставленной целью. Это Правило 1 - A Λ BC 3. Исследуем возможность применения Правила 1. Оно не может сработать, выдвигается новая подцель, соответствующая недостающему образцу: (А?). 28 4. Ищем правило, заключение которого совпадает с новой подцелью. Таких правил два — Правило 2 (DA) и Правило 4 (SA). Если выберем Правило 2, то дальнейшие шаги совпадут с примером без конфликтного набора. Если выберем Правило 4, то оно не сработает, так как в РП нет данных об S. Поэтому будет применено Правило 2, что приведет к успеху, но путь окажется длиннее на один шаг. Следует обратить внимание на то, что Правило 3, не связанное с поставленной целью, вообще не затрагивалось в процессе вывода. Этот факт свидетельствует о более высокой эффективности обратных выводов по сравнению с прямыми выводами, так как при обратных выводах существует тенденция исключения из рассмотрения правил, не имеющих отношение к поставленной цели. 2 Порядок выполнения работы 1. Изучить теоретическую часть по приведенным выше материалам и дополнительной литературе. 2. Получить у преподавателя вариант задания для выполнения работы. 3. На основе декларативных знаний записать продукционные правила идентификационной ЭС в заданной предметной области. 4. Построить машину вывода (решатель) в виде дерева решений ЭС. 5. Разработать алгоритм, реализующий машину вывода ЭС. 6. Выполнить программную реализацию машины вывода ЭС в одном из специализированных пакетов прикладных программ. 3 Содержание отчета 1. Цель работы. 2. Индивидуальное задание. 3. Краткие теоретические сведения. 4. Дерево решений ЭС. 5. Алгоритм, реализующий машину вывода ЭС. 6. Программная реализация машины вывода ЭС. 7. Выводы. 29 Контрольные вопросы 1. К какому классу интеллектуальных систем относится система, которую требуется построить? 2. Из каких модулей состоит экспертная система и каково их назначение? 3. Что входит в понятие «онтологические исследования» в данной предметной области? 4. Как строится машина вывода экспертной системы продукционного типа? 5. Как выглядят декларативные знания, записанные в виде продукционных правил? 6. Какая связь между деревом решений и системой продукционных правил? 7. Как построить машину вывода в виде дерева решений? 8. Как строится машина вывода продукционной системе с прямым выводом? 9. Как строится машина вывода продукционной системе с прямым выводом? 10. Как строится машина вывода продукционной системе с обратным выводом? 30 Лабораторная работа № 3 СОЗДАНИЕ ИНТЕРФЕЙСА ЭКСПЕРТНОЙ СИСТЕМЫ Цель работы: построить интерфейс для вывода и ввода необходимой для работы ЭС информации (вывод вопросов ЭС к пользователю, ввод в систему ответов пользователя, вывод решений ЭС); организовать работу решателя с данными, вводимыми с интерфейса; создать компьютерную программу, реализующую диалог пользователя с экспертной системой и работу решателя на основе ответов пользователя. 1 Краткие теоретические сведения Обычный режим работы любой ЭС – диалог с пользователем. С помощью интерфейса экспертная система попросит пользователя ввести какие-то исходные сведения об объектах, фигурирующих в задаче, и пользователь должен сообщить эти данные в принятой данной ЭС форме. Пользовательский интерфейс выполняет интерпретацию запроса пользователя к базе знаний и формирует ответ в удобной для пользователя форме. При разработке интерфейса экспертной системы используют разные его реализации, включая "вопрос-ответ", меню управления, графический интерфейс или интерфейс на основе естественного языка. Для реализации Интерфейса пользователя необходимо организовать диалог пользователя с ЭС. Возможен выбор ответа на экране монитора из списка предложенных ответов с использованием графического оконного интерфейса и «мышки» или ввод ответа с клавиатуры («да-нет», цифры 1, 2, …, N), которым соответствует один из альтернативных ответов. Единственное, но очень важное требование к интерфейсу пользователя – взаимодействие с ЭС должно быть удобным для пользователя. При выборе ответа на вопрос ЭС или после принятого ЭС решения пользователю бывают нужны разъяснения. Для поддержки и помощи пользователю в таких случаях в Интерфейсе необходимо предусмотреть кнопку «?Помощь». Нажав на неё, пользователь сможет получить развернутое объ31 яснение от Блока объяснений, что имеет в виду ЭС, поставив именно этот вопрос, или как было принято экспертной системой данное решение (детали построения Блока объяснений приведены в лабораторной работе №4). Помимо кнопки «? Помощь», при построении интерфейса экспертной системы необходимо предусмотреть ещё две кнопки: кнопку «Выход»- выход из программы ЭС, и кнопку «Начать сначала»- повторить работу с ЭС. Эти кнопки нужны для того, чтобы пользователь мог корректно завершить работу с ЭС или, если необходимо, мог повторить цикл работы с экспертной системой, не запуская программу заново. Организация диалога пользователя с ЭС Для того чтобы наша экспертная система могла взаимодействовать с пользователем в интерактивном режиме требуется еще информация о реакциях экспертной системы на ответы пользователя. Реакция же может быть двоякой: ответ (решение) системы или очередной вопрос пользователю. Поэтому для взаимодействия пользователя с ЭС для задачи, представленной в лабораторной работе №2, построим таблицу 2. Таблица 3.1 – Вопросы-ответы Номер Вопросы-ответы, соответствующие орграфу вершины 0 Вопрос: Рассчитываете ли Вы потратить большую сумму денег на покупку фотоаппарата? 1 Ответ: Нет, я ограничен(а) в бюджете. Вопрос: Что для Вас важнее? 2 Ответ: Да, я не ограничен(а) в средствах. Вопрос: Умеете ли Вы обращаться с профессиональными фотоаппаратами? 3 Ответ: Нет, не умею. => Вам подойдут полупрофессиональные фотоаппараты. Вопросов больше нет. 4 Ответ: Да, есть опыт. Вопрос: Какой у Вас опыт работы с профессиональным фотоаппаратом? 5 Ответ: Меньше года. => Вам подойдут китовые фотоаппараты. Вопросов больше нет. 6 Ответ: Больше года. Вопрос: Где Вы предпочитаете фотографировать? 32 Таблица 1 – Продолжение 7 8 9 10 11 12 13 14 15 16 17 18 Ответ: В помещении. Вопрос: В студии? Ответ: На улице, на природе. Вопрос: Что Вам больше нравиться фотографировать? Ответ: Нет, я не планирую фотографировать в студии. =>Вам подойдут фотоаппараты с внешней вспышкой. Вопросов больше нет. Ответ: Да, я планирую фотографировать в студии. Вопрос: Вы будите пользоваться специальной аппаратурой? Ответ: Портреты => Вам подойдут такие фотоаппараты фирмы Canon и Nikon с объективами Canon EF 100mm f/2,8 , Nikon 50mm f/1.4G AF-S. Вопросов больше нет. Ответ: Пейзажи. => Вам подойдут фотоаппараты фирмы Сanon и Nikon с объективами Canon EF-S 10-22 f/3.5-4.5 USM, Nikon Af 80-200mm f/2.8 D. Вопросов больше нет. Ответ: Люблю все фотографировать. => Вам подойдут фотоаппараты фирмы Сanon и Nikon с объективами CANON EF 28-135 mm f/3.5-5.6, Nikkor 16-85mm f/3.5-5.6G ED. Вопросов больше нет. Ответ: Нет, только фотоаппаратом. => Вам подойдут такие фотоаппараты как Nikon D90, Canon D500. Вопросов больше нет. Ответ: Да, хочу максимально задействовать всю технику. => Вам подойдут такие фотоаппараты как Nikon D70, Canon 5D. Вопросов больше нет. Ответ: Качество изображений. => Вам подойдут фотоаппараты мыльницы с отличным качеством снимков, стоимостью выше 7-8 тыс. руб. Вопросов больше нет. Ответ: Стоимость. => Вам подойдут обычные фотоаппараты мыльницы. Вопросов больше нет. Ответ: Наличие видеосъемки. => Вам подойдут такие фотоаппараты, как Nikon Coolpix S3100 Red и проч. Вопросов больше нет. В соответствии с этой таблицей и в зависимости от состояния, в котором находится наша экспертная система, на экран монитора будут выводиться вопросы к пользователю или ответы экспертной системы. 2 Порядок выполнения работы 1. Изучить теоретическую часть по приведенным выше материалам и дополнительной литературе. 2. Получить у преподавателя вариант задания для выполнения работы. 3. На основе дерева решения, построенного в лабораторной работе №2, составить таблицу вопросов-ответов ЭС в заданной предметной области. 4. Разработать алгоритм, реализующий взаимодействие ЭС с пользова- телем в интерактивном режиме 5. Выполнить программную реализацию алгоритма взаимодействия ЭС с пользователем в интерактивном режиме в одном из специализированных пакетов прикладных программ. 3 Содержание отчета 1. Цель работы. 2. Индивидуальное задание. 3. Краткие теоретические сведения. 4. Таблица вопросов-ответов ЭС. 5. Алгоритм, реализующий алгоритм взаимодействия ЭС с пользователем. 6. Программная реализация алгоритма взаимодействия ЭС с пользователем. 7. Выводы. Контрольные вопросы 1. Каково назначения интерфейса ЭС? 2. Какую задачу решает пользовательский интерфейс? 3. Как можно организовать интерфейс пользователя? 4. Что необходимо учесть при построении интерфейса? 5. Каким требованиям должен удовлетворять интерфейс пользователя? 6. Как организовать работу Экспертной системы, чтобы учесть ответы пользователя на вопросы ЭС? 7. Что значит «удобный» интерфейс пользователя? 8. Какая информация нужна, чтобы ЭС могла взаимодействовать с пользователем в интерактивном режиме? 9. Как составляется таблица вопросов-ответов? 10. Что выводится на экран монитора в зависимости от состояния ЭС в режиме диалога? 34 Лабораторная работа № 4 СОЗДАНИЕ БЛОКА ОБЪЯСНЕНИЙ, ТЕСТИРОВАНИЕ И ОТЛАДКА ЭКСПЕРТ НОЙ СИСТЕМЫ Цель работы: научиться разрабатывать блок объяснений, необходимый для поддержки пользователя при выборе ответа на вопросы ЭС и создавать компьютерную программу, реализующую поддержку и помощь пользователю продукционной ЭС. 1 Краткие теоретические сведения Блок объяснений является еще одним обязательным компонентом ЭС, позволяющим пользователю получить ответы на вопросы "Как была получена данная рекомендация?" и "Почему экспертная система приняла такое решение?". Отвечая на вопрос "Как ", экспертная система предъявляет пользователю шаг за шагом весь процесс получения решения с указанием использованных фрагментов базы знаний. При ответе на вопрос "Почему" система демонстрирует последнее применение правила вывода, иными словами, последний шаг в процессе принятия решения. На кнопку «Объяснение вопроса» пользователь будет нажимать, если ему непонятен вопрос. Объяснение вопросов должно содержать справочную информацию, облегчающую правильный выбор ответа. Кнопка «Объяснение решения» должна указывать путь получения решения (цепочка выбранных ответов), который привел к полученному решению. Если это необходимо, то дополнительно может быть дана информационно-аналитическая справка о полученном решении или об интерпретации решения, и приведены необходимые иллюстрации. 1.1. Создание Блока объяснений Все эти развернутые формулировки с объяснениями будут храниться в одной таблице. Для реализации Блока объяснений необходимо создать таблицу 4.1, соответствующую в общем случае всем возможным состояниям ЭС. В более 35 частном случае, если вопросы к пользователю не требуют разъяснений, то в таблице Объяснения будут указаны только те состояния, которые соответствуют решениям ЭС. В первом столбце таблицы нужно указать текущее состояние системы, в соседнем столбце – необходимые пользователю объяснения. Когда пользователь нажимает на клавишу «?Помощь» на интерфейсе пользователя на экран дисплея из таблицы 4.1 должен быть выведен текст объяснения, соответствующий текущему состоянию системы. Чтобы закрыть форму с объяснениями, нужно щелкнуть по крестику в верхнем углу формы. За основу таблицы 1 «Объяснения» можно взять таблицу 1 «Вопросыответы» из лабораторной работы №3. Для терминальных (конечных) состояний, когда у системы уже нет вопросов, система будет сообщать пользователю, как был получен ответ. В итоге таблица «Объяснения» будет выглядеть следующим образом. Таблица 1 –Объяснения Состояние 0 1 2 3 4 Текст От Вашего бюджета зависит многое. Собираетесь ли Вы потратить, например, 5 тысяч или 30 тыс.? Вы выбрали вариант ответа "Нет, я ограничен(а) в бюджете", поэтому мы предлагаем вам простые фотоаппарата-мыльницы. В настоящее время уровень качества изображения в таких фотоаппаратах стал намного выше. Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах". Вы рассчитываете потратить приличную сумму на покупку фотоаппарата, поэтому лучше всего покупать профессиональный фотоаппарат. У него качество изображения намного выше. Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Нет, не умею пользоваться профессиональными фотоаппаратами". Поэтому предлагаем купить полупрофессиональные фотоаппараты - у них качество изображения лучше и они просты в использовании. Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов". Вы умеете обращаться с профессиональным фотоаппаратом. Но если Вы только новичок - дорогую технику покупать не стоит. 36 Таблица 1 – Продолжение 5 6 7 8 9 10 11 12 Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов", с опытом работы "Меньше года". Поэтому советуем Вам приобрести китовые фотоаппараты - это профессиональные фотоаппараты со стандартным объективом. Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов", с опытом работы "Больше года". Поэтому советуем Вам приобрести фотоаппараты с объективом, отличным от обычного. Это позволит Вам осуществить Ваши творческие задумки и идеи. Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов", с опытом работы "Больше года", предпочитаете фотографировать "Внутри помещения". Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов", с опытом работы "Больше года", предпочитаете фотографировать "На улице, на природе". Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов", с опытом работы "Больше года", предпочитаете фотографировать "Внутри помещения". Далее Вы выбрали вариант помещения "Не в студии". Поэтому Вам подойдут фотоаппараты с внешними вспышками. Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов", с опытом работы "Больше года", предпочитаете фотографировать "Внутри помещения". Далее Вы выбрали вариант помещения "Студия". Вы выбрали вариант ответа "Да, я не ограничен (а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов", с опытом работы "Больше года", предпочитаете фотографировать "На улице, на природе". Далее Вы выбрали жанр съемки "Портрет". Поэтому Вам подойдут все фотоаппараты фирмы Canon или Nikon с объективами "портретник" Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов", с опытом работы "Больше года", предпочитаете фотографировать "На улице, на природе". Далее Вы выбрали жанр съемки "Пейзаж". Поэтому Вам подойдут все фотоаппараты фирмы Canon или Nikon с широкоформатными объективами. 37 Таблица 1 – Продолжение 13 14 15 16 17 18 Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов", с опытом работы "Больше года", предпочитаете фотографировать "На улице, на природе". Далее Вы выбрали жанр съемки "Все". Поэтому Вам подойдут все фотоаппараты фирмы Canon или Nikon с объективами CANON EF 28-135 mm f/3.5-5.6, Nikkor 16-85mm f/3.5-5.6G ED." Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов", с опытом работы "Больше года", предпочитаете фотографировать "Внутри помещения". Далее Вы выбрали вариант помещения "Студия" "Без использования специальной аппаратуры". Поэтому рекомендуем Вам самые качественные фотоаппараты фирмы Canon и Nikon. Вы выбрали вариант ответа "Да, я не ограничен(а) в средствах", а после - "Да, есть опыт в использовании профессиональных фотоаппаратов", с опытом работы "Больше года", предпочитаете фотографировать "Внутри помещения". Далее Вы выбрали вариант помещения "Студия" "С использованием специальной аппаратуры". Поэтому Вам подойдут такие фотоаппараты как Nikon D70, Canon 5D. Вы выбрали вариант ответа "Нет, я ограничен(а) в бюджете", и для Вас важнее "Качество изображений". Поэтому Вам стоит приобрести фотоаппараты стоимостью от 7 тыс. руб., имеющие от 10 мегапикселей качество изображения Вы выбрали вариант ответа "Нет, я ограничен(а) в бюджете", и для Вас важнее "Стоимость фотоаппарата". Поэтому можете купить любой фотоаппарат, имеющийся в магазине по любой цене. Вы выбрали вариант ответа "Нет, я ограничен(а) в бюджете", и для Вас важнее "Наличие видеосъемки". Поэтому попросить продавца-консультанта показать Вам все модели фотоаппаратов, поддерживающих видеосъемку Для многих проблемных областей очень желательно (и даже необходи- мо) помимо справочного или разъясняющего текста использовать иллюстрации, в которые включены объекты, раскрывающие смысл текста (изображения объектов, музыка, видео, другое). 1.2.Тестирование и отладка созданной экспертной системы Созданная ЭС должна пройти всестороннюю проверку. Особое внимание нужно обратить на следующие важные компоненты ЭС. 38 1. Интерфейс пользователя: насколько он удобен для самого пользователя. 2. Вопросы и ответы: с какого вопроса начать и какими вопросами продолжить опрос пользователя, чтобы получилось компактное дерево решений. 3. Блок объяснений: ЭС должна быть «дружественной». Это значит, она должна поддерживать пользователя при всех вопросах, ответах и решениях, вызывающих у него затруднения. Сообщение типа: решения нет – недопустимо. 4. Ошибки: грамматические, синтаксические, ошибочные решения, неправильное объяснение результатов и т.д. в работе ЭС недопустимы. Все недоработки, неточности, ошибки должны быть найдены и исправлены в процессе тестирования ЭС. 2 Порядок выполнения работы 1. Изучить теоретическую часть по приведенным выше материалам и дополнительной литературе. 2. Получить у преподавателя вариант задания для выполнения работы. 3. На основе дерева решения, построенного в лабораторной работе №2, составить таблицу объяснений, необходимых для поддержки пользователя при выборе ответа на вопросы ЭС. 4. Разработать алгоритм, реализующий поддержку и помощь пользова- телю продукционной ЭС. 5. Выполнить программную реализацию алгоритма поддержки пользо- вателя продукционной ЭС в одном из специализированных пакетов прикладных программ. 3 Содержание отчета 1. Цель работы. 2. Индивидуальное задание. 3. Краткие теоретические сведения. 4. Таблица объяснений ЭС. 5. Алгоритм, реализующий поддержку и помощь пользователю продукционной ЭС. 39 6. Программная реализация поддержки пользователя продукционной ЭС. 7. Выводы. Контрольные вопросы 1. Какие компоненты содержит блок объяснений экспертной системы? 2. Что нужно создать для реализации блока объяснений? 3. Какая информация может быть дана дополнительно в блоке объяснений? 4. Что указывается в первом и втором столбцах таблицы объяснений? 5. Какую таблицу можно взять в основу таблицы объяснений? 6. Что будет сообщать ЭС пользователю в ее конечных состояниях? 7. Зачем нужно тестирование и опытная эксплуатация ЭС? 8. В чём может заключаться доработка ЭС? 40 Рекомендуемая литература 1. Гаврилова, Т.А. Базы знаний интеллектуальных систем/ Т.А. Гаврилова, В.Ф. Хорошевский. С-Пб.: Питер, 2000. 384 с. 2. Змитрович, А.И. Интеллектуальные информационные системы / А.И. Змитрович. Минск: ТетраСистемс, 1997. 368 с. 3. Джексон, П. Введение в экспертные системы / П. Джексон; пер. с англ. М.: «Вильямс», 2001. 624 с. 4. Нильсон, Н. Принципы искусственного интеллекта / Н. Нильсон; пер. с англ. М.: Радио и связь, 1985. 386 с. 5. Таунсенд, К. Проектирование и программная реализация экспертных систем на ПЭВМ/ К. Таунсенд, Д. Фохт; пер. с англ. М.: Финансы и статистика, 1990. 320 с. 6. Левин, Р. Практическое введение в технологию искусственного интеллекта и экспертных систем/ Р. Левин, Д. Дранг. М.: Финансы и статистика, 1990. 35с. 7. Корнеева, Н.Н. Математическая логика: конспект лекций/ Н.Н. Корнеева. Казань: Казанский федеральный университет, 2014. 38 с. 8. Беликова, Т.П. Интеллектуальные системы: Пособие по выполнению лабораторных работ/ Т.П. Беликова. М.: МГТУ ГА, 2011. 31с. 9. Битюцкий, В.П. Математическая логика. Исчисления высказываний и предикатов: учебное электронное текстовое издание / В.П. Битюцкий, Н.В. Папуловская. Екатеринбург: УГТУ-УПИ, 2005. 44 с. 10. Успенский, В.А. Вводный курс математической логики/ В.А. Успенский, Н.К. Верещагин, В.Е. Плиско. М.: ФИЗМАТЛИТ, 2004. 128 с. 11. Хабаров, С.П. Интеллектуальные информационные системы. PROLOG- язык разработки интеллектуальных и экспертных систем: учебное пособие / С.П. Хабаров. СПб. СПбГЛТУ, 2013. 138 с. 12. Якимов, А.Н. Основы искусственного интеллекта и экспертных систем [Электронный ресурс]: учебно-методическое пособие / А.Н. Якимов, А.Р. Бестугин, И.А. Киршина; С.-Петерб. гос. ун-т аэрокосм. приборостроения. - Электрон. текстовые дан. – Санкт-Петербург : [б. и.], 2019. – 85 с . 41 ПРИЛОЖЕНИЕ. ВАРИАНТЫ ИНДИВИДУАЛЬНЫХ ЗАДАНИЙ Для решения задач идентификации (или диагностирования) объектов в ЭС продукционного типа предлагается выбирать следующие предметные области: 1) диагностика неисправностей электронной аппаратуры; 2) диагностика неисправностей автомобиля; 3) распознавание типа компьютера; 4) диагностика заболеваний; 5) распознавание химических структур; 6) процедуры поиска полезных ископаемых; 7) классификации пищевых продуктов; 8) судебные процедуры; 9) определение принадлежности животного к определенному виду, типу, семейству; 10) география какого-либо региона; 11) прогнозирование природных катаклизмов; 12) задачи информационно-советующего характера. 42 СОДЕРЖАНИЕ 1 Исчисление высказываний и предикатов……………………………………………. 3 2 Построение машины вывода для экспертной системы …………………………… 19 3 Создание интерфейса экспертной системы ……….…………….…………….……. 31 4 Создание блока объяснений, тестирование и отладка экспертной системы …..… 35 Рекомендуемая литература ………………………………………………………..…… 41 Приложение. Варианты индивидуальных заданий ……………………………..……. 42 43