Основные логические операции

Суждения в математической логике могут быть простыми и сложносоставными. Примеры простых суждений:

х = 1 рост < 160

А цена (х, у)

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

логическая связкане -отрицание суждений;

логическая связкаили - конъюнкция суждений;

логическая связкаи -дизъюнкция суждений.

Примеры сложносоставных суждений:

не А - неверно суждение А

С или В - истинноС или В

(х > 0) и (у > 0) - (х больше 0) и (у больше 0)

(глаза = синие)или (глаза = голубые)

Логическая связка не используется для выражения отрицаний. Примеры:

не (глаза = синие), - неверно, что глаза синие

не (Аили В), - неверно, что выполняется А или В

не (любит (Саша, конфеты)) - неверно, что Саша любит конфеты

Наглядной иллюстрацией этих логических связок с предикатами служат следующие диаграммы:

Основные логические операции - student2.ru

Отрицание не А истинно или ложно в зависимости от истинности исходного суждения А. Свойства отрицания не как логической связки можно описать таблицей истинности:

Таблица истинности:

А не А

да нет
нет да

Свойства отрицаний:

НЕ1:Отрицание ложно, если суждение истинно.

НЕ2:Отрицание истинно, если суждение ложно.

Для понимания отрицаний важно уметь выражать их в позитивной форме. Приведем примеры отрицания математических неравенств и их позитивные переформулировки:

не (х = 0) º (х ¹ 0)

не(х ¹ 0) º (х = 0)

не (х > 0) º (х £ 0)

не (х < 0) º (х ³ 0)

не (х ³ 0) º (х < 0)

не (х £ 0) º (х > 0)

Свойства отрицаний, записанные в таблицу истинностности, могут быть описаны как факты на языке Пролог:

не (да, нет);

не (нет, да);

После ввода этих фактов в ЭВМ с помощью запросов можно перепроверить свойства отрицаний:

? не (А, нет)

А = да

? не (А, да)

А = нет

Логическая связка и в математической логике называется конъ­юнкцией. Таблица истинностиконъюнкции:

А В А и В

да да да
да нет нет
нет да нет
нет нет нет

Свойства конъюнкции:

И1:КонъюнкцияА и Вистинна, когда истинны оба суждения.

И 2:КонъюнкцияА и Вложна, когда ложно хотя бы одно из суж­дений А или В.

Логическая связкаили в математической логике называется дизъ­юнкцией. Таблица истинностидизъюнкции:

А В А или В

да да да
да нет да
нет да да
нет нет нет


Свойства дизъюнкции:

ИЛИ1:Дизъюнкция А или Вистинна, когда истинно любое из суждений А или В.

ИЛИ2:Дизъюнкция А или Вложна, когда ложны оба суждения А и В.

Свойства конъюнкции и дизъюнкции также можно описать в виде фактов на языке Пролог:

Дизъюнкция:Конъюнкция:

или (да, да, да); и2 (да, да, да);

или (да, нет, да); и2 (да, нет, нет);

или (нет, да, да); и2 (нет, да, нет);

или (нет, нет, нет); и2 (нет, нет, нет);

Опираясь на эти факты можно получить ответы на вопросы о свойствах дизъюнкции и конъюнкции с помощью ЭВМ:

? или (А, В, нет) ? и 2 (А, В, да)

А = нет В = нет А = да В = да

? или (А, В, да) ? и 2 (А, В, нет)

А = да В = да А = да В = нет

А = да В = нет А = нет В = да

А = нет В = да А = нет В = нет

Одной из важнейших логических связок математической логики является импликация А ® В. Эта связка в математической логике используется для определения правил логического вывода.

Импликация А ® В - это логическое следование. Импликация А ® В читается: «если А, то В». Первое суждение в импликации называется посылкой, а второе суждение - следствием.

Приведем примеры правил логического вывода:

а) с использованием высказываний:

если «на улице дождь», то «на улице мокро»,

б) с использованием предикатов:

любит (х, конфеты) ® сластена (х).

Таблица истинности импликации:

А В А ® В

да да да
да нет нет
нет да да
нет нет да

Свойства импликации:

П1: «Импликация А ® Вложна,

когда посылка А истинна, а следствие В - ложно».

П2: «ИмпликацияА ® Вистинна,

когда истинно следствие либо ложны и посылка и следствие».

В языке Пролог импликации используются для описания правил вывода и определения новых логических понятий. Например, поня­тие «сластена» в языке .Пролог описывается следующим образом:

сластена (х) любит (х, конфеты);

Описание этого правила позволяет вводить в ЭВМ вопросы о «сластенах» и получать осмысленные ответы, исходя из сведений, хранящихся в базе данных:

? сластена (х) - Кто сластена?

х = Маша

С помощью таблиц истинности могут быть описаны и проверены свойства любых сложносоставных высказываний. Соответственно с помощью этих таблиц на ЭВМ средствами языка Пролог могут быть проверены любые сложносоставные высказывания и законы исчис­ления высказываний.

Задача 1. Проверьте закон двойного отрицания в исчислении высказываний

не(не А) º А

Р е ш е н и е . Рассмотрим объединенную таблицу истинности вы­сказываний

А не А не (неА)

да нет да
нет да нет

Сравнение крайних столбцов показывает, что всюду, где выска­зывание А истинно, там же истинно и двойное отрицание не (не А). И наоборот, всюду, где ложно А, там ложно и двойное отрицание не (не А). Следовательно, двойное отрицание тождественно исходному высказыванию: не (не А) º А.

Задача 2. Сравните с помощью таблиц истинности отрицание дизъюнкции и отрицание конъюнкции не (А и В) и не (А или В).

Р е ш е н и е .

АВАиВне (АиВ)АилиВне (АилиВ)

да да да нет да нет
да нет нет да да нет
нет да нет да да нет
нет нет нет да нет да

В о п р о с ы

1. Когда истинно отрицание?

2. Когда ложна дизъюнкция?

3. Когда истинна конъюнкция?

4. Когда ложна импликация?

З а д а н и е

1. Составьте таблицы истинности для утверждений:

а) (не А) и (не В); в) (не А) или (не В);

б) А и (не В); г) А или (не В).

2. Сравните с помощью таблиц истинности логические выражения:

а) не (А и В); в) (не А) или (не В);

б) не (А и В); г) (не А) или (не В).

3. Проверьте по таблицам истинности логические законы:

а) отрицание конъюнкции:

не (А и В) = (не А) или (не В);

б) отрицание дизъюнкции:

не (А или В) = (не А) и (неВ);

в) отрицание импликации:

не (А ® В) º (не В) ® (не А).

Элементы языка Пролог

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

Основной особенностью системы Пролог являются встроенные процедуры логического вывода, имитирующие способность человечес­кого интеллекта выполнять логические умозаключения. Какая лек­сика используется при этом - русского, английского или других языков - играет второстепенную роль, несущественную для ЭВМ, но важную для тех, кто будет работать и вести диалог с машиной.

Основная идея Пролога как языка записи фактов, вопросов и правил заключается в том, что они записываются в форме предика­тов математической логики. Все они интерпретируются ЭВМ строго в соответствии с законами математической логики и ни чем более.

Основные конструкции языка Пролог - это факты, вопросы и правила. Все эти три конструкции записываются в форме преди­катов и их комбинаций. Рассмотрим правила их записи на языке Пролог.

Факты - это конкретные сведения о ком-то либо о чем-то. Факты на языке Пролог записываются в форме предикатов с конкретными аргументами-значениями. Примеры записи фактов на Прологе:

папа (Вова, Лена); - Вова - папа Лены

любит (Лена, музыка); - Лена любит музыку

оценка (Лена, русский, 5); - У Лены 5 по русскому языку

Вопросы на Прологе - это запросы к совокупности данных или процедурам, хранящимся, в ЭВМ. Запись вопросов начинается со знака ?, за которым записывается предикат или группа предикатов, разделяемых запятыми. Примеры записи простых вопросов на языке Пролог:

? папа (х, Лена) - Кто папы Лены?

х = Вова

? мама (х, у) - Кто у кого - мама ?

НЕТ

? оценка (х, _ , 5) - Кто имеет оценки 5?

х = Лена

Здесь буквы х, у - обозначения переменных, а числа и слова - конкретные значения аргументов в соответствующих предикатах. Знак подчеркивания «_» представляет неопределенное значение, которое несущественно для ответа на вопросы.

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

? мама (х, у), мама (у, Оля) - Кто мама у мамы Оли?

х =Зина у = Люба

? мама (х, у),папа (у, Оля) - Кто мама у папы Оли?

НЕТ

Правила в Прологе - это правила логического вывода. Слева в правилах записывается следствие, а справа - предусловие. Пред­условие может состоять из одного или нескольких предикатов, раз­деляемых запятыми. Примеры записи правил вывода на Прологе:

студент (х) занятие (х, учеба); - Студент - тот, кто занят учебой;

нумизмат (х) собирает (х, монеты); - Нумизмат - тот, кто собирает монеты.

Примеры вопросов на использование этих правил:

? студент (х) - Кто - студент?

х =Алеша

х = Лена

? нумизмат (у) - Кто - нумизмат?

у =Алеша

В правилах со сложносоставными определениями запятая также играет роль логической связки и, объединяя условия, образующие определение. Такого рода правила позволяют создавать самые слож­ные и изощренные базы знаний по самым различным предметным областям и применениям.

Приведем пример составления базы знаний о друзьях. Будем раз­личать друзей по их именам: Алеша, Оля и т. д. Включим в базу дан­ных следующие сведения о друзьях:

что им нравится;

что они коллекционируют;

чем они занимаются;

какие оценки они имеют.

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

нравится (<имя>, <вещь>);

собирает (<имя>, <вещь>);

занимается (<имя>, <предмет>);

оценка (<имя>, <предмет>, <балл>);

Вместо<имя>, <вещь>, <предмет>, <балл> при составлении базы знаний необходимо подставить конкретную информацию о конкрет­ных друзьях. Записывать имена будем с большой буквы в имени­тельном падеже. Далее,<вещь>и<предмет> - это существительные в именительном падеже,<балл> - целое число от 1 до 5.

Пусть об Оле и Алеше известно следующее:

1. Оле нравится музыка. Она собирает фотографии любимых пев­цов. Занимается домоводством. Оля имеет 4 по русскому языку и 5 по алгебре.

2. Алеше нравится история, он собирает монеты, естественно, име­ет 5 по истории, занимается в археологическом кружке.

Соответствующая база данных на языке Пролог:

нравится (Оля, музыка); - Оле нравится музыка

нравится (Алеша, история); - Алеше нравится история

собирает (Оля, фотографии); - Оля собирает фотографии

собирает (Алеша, монеты); - Алеша собирает монеты

собирает (Алеша, значки); - Алеша собирает значки

оценка (Оля, русский, 4); - Оля имеет 4 по русскому языку

занимается (Алеша, бизнес); - Алеша занимается бизнесом

оценка (Оля, алгебра, 5); - Оля имеет оценку 5 по алгебре

оценка (Алеша, история, 5); - Алеша имеет оценку 5 по истории

К составленной базе данных можно обращаться с самыми разными вопросами об интересах, занятиях, склонностях и успехах в учебе. Примеры самых простых вопросов и ответов, получаемых от ЭВМ:

? занимается (Алеша, футбол) - Занимается ли Алеша футболом?

Нет

? нравится (Оля, музыка) - Нравится ли Оле музыка?

да

Использование в вопросах переменных позволяет получать от ЭВМ информацию, хранящуюся в базе данных. В ответ на такие вопросы выводятся все возможные варианты ответов. Например:

? нравится (х,у) - Кому что нравится?

х =Оля у = музыка

х = Алеша у = история

Если какая-то часть информации по той или иной причине не нужна, то вместо соответствующей переменной в вопросе ставится знак подчеркивания «_»:

? собирает (_ , х) - Что собирают друзья?

х =фотографии

х = монеты

х = значки

Наконец, в вопросах можно одновременно использовать как пе­ременные, так и конкретные значения. Например:

? занимается (х, музыка) - Кто занимается музыкой ?

Нет

? занимается (Алеша, у) - Чем занимается Алеша ?

у = бизнес

? собирает (х, монеты) - Кто собирает монеты ?

х = Алеша

? оценка (х, _ , 5) - Кто имеет пятерки?

х = Оля

х = Алеша

Примеры сложносоставных вопросов:

1. Кто занимается бизнесом и собирает монеты?

? занимается (х, бизнес), собирает (х, монеты)

х = Алеша

2. Какие оценки имеет тот, кто собирает монеты?

? собирает (х, монеты), оценка (х, р, z)

х = Алеша

р = история

z = 5

К составленной базе данных можно добавить следующие правила вывода:

книголюб (х) нравится (х, книги), - Книголюб - тот, кто

собирает (х, книги) любит и собирает книги

бизнесмен (х) собирает (х, монеты), - Бизнесмен - тот, кто

занятие (х, бизнес) собирает монеты и занима­ ется бизнесом

Примеры использования правил-определений:

? книголюб (х) - Кто - книголюб?

НЕТ

? бизнесмен (у) - Кто - бизнесмен ?

у = Алеша

В о п р о с ы

1. Как записываются факты на языке Пролог?

2. Как записываются вопросы на языке Пролог?

3. Как записываются правила в языке Пролог?

З а д а ч и

1. Опишите на языке Пролог данные о своей семье: о маме, папе, сестрах, братьях, дедушках и бабушках - кто кому приходится мамой и папой. Укажите вопросы для определения родственных отношений.

2. Опишите данные о своих друзьях с указанием их увлечений (кто что любит), занятий (кто чем занимается). Подберите правила для оп­ределения понятий:

а) сластена; д) спортсмен;

б) филателист; е) бизнесмен;

в) математик; ж) музыкант;

г) программист; з) мусорщик.

3. Опишите в форме фактов для себя и своих ближайших друзей-одноклассников данные об оценках по предметам:

а) литература; г) физкультура;

б) математика; д) информатика;

в) физика; е) история.

4. Подберите правила определения понятий:

а) математик; д) физик;

б) историк; е) лирик;

в) двоечник; ж) троечник.

г) отличник;

Базы знаний на ЭВМ

Экспертные системы и базы знаний на ЭВМ - одно из перспек­тивных направлений в области искусственного интеллекта. Такие экспертные системы в ближайшем будущем станут интеллектуаль­ными ассистентами людей во многих областях профессиональной деятельности.

Базы знаний - это совокупность фактов и правил вывода, храня­щихся в памяти ЭВМ. Содержание любой базы знаний составляют конкретные и обобщенные факты и сведения об определенной предметной области или сфере деятельности. Примеры предметных областей - семья, школа, вуз, магазин, рынок, ферма, фирма, завод, офис, банк и т.п.

Конкретные сведения в базах знаний представляются фактами, которые записываются в виде предикатов с конкретными значениями. Примеры записи фактов в форме предикатов:

мама (Люба, Оля); - Люба - мама Оли

оценка (Вова, физика, 5); - Вова имеет 5 по физике

Обобщенные сведения в базах знаний записываются в форме правил вывода, выражающих определения понятий. Примеры обоб­щенных сведений:

бабушка (х, z) мама (х, у), мама (у, z) - бабушка - это мама мамы

двоечник (х) оценка (х, _ ,2) - двоечник - тот, у кого есть двойки

Используя совокупность конкретных и обобщенных фактов и правил, компьютеры могутдавать ответы на широкий круг осмыс­ленных вопросов. Для этого соответствующая база знаний с соот­ветствующей системой понятий должна храниться в памяти ЭВМ.

Базы знаний могут содержать правила вывода следующих видов:

- правила определения понятий;

- правила принятия решений;

- способы решения задач;

- правила поведения и т. п.

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

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

Приведем примеры определения понятий.

1. Понятие «мама». Объем понятия - совокупность всех мам. Содержание понятия - женщина, имеющая детей. Формализация понятия на Прологе может выражаться конкретными фактами. При­меры:

мама (Люба, Оля); - Люба - мама Оли

мама (Зина, Люба); - Зина - мама Любы

2. Понятие - «бабушка». Объем понятия - совокупность всех бабушек. Содержание понятия - «бабушка - это мама мамы или папы». Формализация этого понятия на Прологе:

бабушка (х, z) мама (х, у), мама (у, z); - бабушка - это мама мамы

бабушка (х, z) мама (х, у), папа (у, z); - бабушка - это мама папы

3. Понятие «музыкант». Объем понятия - совокупность людей, занимающихся музыкой. Содержание понятия - «музыкант - чело­век, который любит музыку и занимается музыкой». Это понятие на языке Пролог можно записать в виде правила:

музыкант (х) любит (х, музыка), занятие (х, музыка).

4. Понятие «студент». Объем и содержание понятия - учащиеся в вузах, университетах и колледжах. Определение этого понятия на Прологе можно записать в виде набора правил:

студент (х) занятие (х, учеба), место (х, университет);

студент (х) занятие (х, учеба), место (х, институт);

студент (х) занятие (х, учеба), место (х, колледж);

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

Примеры признаков объектов и соответствующих значений:

цвет - красный, белый, зеленый, черный и т.д.;

вес - определяется в килограммах;

возраст - определяется в годах: 1, 2, 3, ...

Примеры записи признаков на Прологе:

возраст (Иванов, 18);

вес (Иванов, 85);

цвет (Иванов, глаза, синий);

цвет (Иванов, волосы, белый);

Основные возможности баз знаний:

- поиск ответов на сложные вопросы;

- логическая обработка данных;

- моделирование процедур принятия решений;

- обновление и ввод дополнительных данных;

- вывод информации в естественно-языковой форме;

- создание новых баз знаний.

В о п р о с ы

1. Что такое базы знаний?

2. Как записываются факты на языке Пролог?

3. Как записываются вопросы на языке Пролог?

4. Как записываются правила на языке Пролог?

5. Что такое содержание понятий?

6. Каковы основные возможности баз знаний?

З а д а ч и

1. Составьте базу знаний о книгах в библиотеке. Включите следующие сведения: название книги, жанр книги, автор, главный герой, страна.

2. Составьте базу данных о собаках и кошках у ваших знакомых. В базу включите сведения об их породе, возрасте, кличках.

3. Составьте базу знаний о соревнованиях. База должна содержать две группы фактов.

Первая группа фактов - сведения о командах: названия команды, города, тренер.

Вторая группа фактов - сведения о матчах: даты, команды и счет.

Законы логического вывода

Умение делать выводы - основная способность любого интеллек­та. Основным признаком интеллекта являются знания и умения ре­шать определенные задачи. Основой этих интеллектуальных умений являются законы и принципы логического вывода.

Законы человеческого мышления изучаются логикой и психоло­гией. Принципыискусственного интеллекта разрабатываются в мате­матической логике и информатике на основе методов машинного доказательства теорем и постановки экспериментов на ЭВМ.

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

В качестве иллюстраций рассмотрим базу знаний о семье. Пусть в семье есть дочь Оля, сын Сережа, мама Надя, папа Коля, бабушка Зина и дедушка Миша:

Основные логические операции - student2.ru

Соответствующая база данных на языке Пролог:

мама (Зина, Надя); папа (Миша, Надя);

мама (Надя, Оля); папа (Коля, Оля);

мама (Надя, Сережа); папа (Коля, Сережа);

Система Пролог при наличии этих фактов в памяти ЭВМ даст следующие ответы на вопросы о «папах» и «мамах»:

? мама (Надя, Оля) - Надя - мама Оли?

да

? папа (Сережа, Надя) - Сережа - папа Нади?

Нет

Машина, использующая систему Пролог, дает ответы строго в соответствии с определенными логическими законами и принципа­ми логического вывода. Разберем эти законы и принципы.

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

Закон противоречия - первый общий закон логики. Этот закон впервые высказал Аристотель - основатель логики как научной дисциплины:

Аи неА- Не могут бытьистинны одновременно

ложь суждение и его отрицание

Примеры противоречивых утверждений:

1) «яблоко - спелое»;

«яблоко - неспелое»;

2) «треугольник АВС - прямоугольный»;

«стороны треугольника равны друг другу».

Высказывание противоречивых суждений и утверждений являет­ся примером серьезныхлогических ошибок. Наличие противоречий говорит о некотором умысле либо о нарушениях в сознании.

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

Так, вопрос? мама (Надя, Оля) ЭВМ преобразует в отрицаниене мама (Надя, Оля) и временно присоединяет его к базе знаний. При этом получившаяся база становится противоречивой и система Про­лог объявляет отрицание ложным и выводит ответ ДА.

Закон исключения третьего - второй общий закон логики, ука­занный Аристотелем:

А или неА- Истинно суждение либо его отрицание,

Истина третьего не дано.

Примеры взаимоисключающих утверждений:

1) «Сегодня будет дождь» или «Сегодня дождя не будет».

2) «Любой треугольник правильный либо в нем есть разные сто­роны».

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

Соответствующая запись законов логики на языке исчисления пре­дикатов представляет конструктивные процедуры, позволяющие осу­ществлять конкретные логические выводы из общих правил и кон­кретных фактов.

Закон противоречия в записи на языке исчисления предикатов преобразуется в процедуру вывода ответов на простейшие вопросы вида? А(с):

А(х)и не А(с) - Припротиворечии А(х)и не А(с)

ложь, при х = с контрпримером служит х = с.

Содержательный смысл: При противоречииА(х)ине А(с) контр­примером служит х = с. Здесь х - переменная, а с - конкретное значение, при котором отрицание ответа оказывается ложным. Это значение х = с выводится системой Пролог в качестве ответа на поставленный вопрос. Примеры такого рода вопросов и ответов:

? папа (х, Коля) - Кто папа у Коли ?

Нет

? папа (х, Оля) - Кто папа у Оли ?

х = Коля

? мама (х, у) - Что известно о мамах?

х = Зина у = Надя

х = Надя у = Оля

Закон двойного отрицания - третий общий закон логики. Этот закон также был высказан Аристотелем:

не (не А) - Еслиневерно отрицание,

А то суждение – истинно

Примеры рассуждений.

1) Неверно, что «Вчера не было дождя».

Следовательно, «Вчера был дождь».

2) Неправда, что «это сделал не Саша».

Следовательно, «это сделал Саша». (?)

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

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

Закон достаточных оснований:

Всякое утверждение должно предполагать существование аргументов и фактов, достаточных для его обоснования.

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

Пример рассуждений, не имеющих достаточных оснований:

1. «Если дорогу перебежала черная кошка, то быть неприятностям».

2. «Это верно, потому что это - справедливо».

Экспертные системы на ЭВМ с этой точки зрения должны созда­ваться исключительно на основе достоверных данных и общих пра­вил вывода, проверенных практикой. Включение в базу знаний не­достоверных данных или неподтвержденных обобщений и правил может привести к появлению ошибок и получению неправильных решений.

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

Закон логического вывода modus ponens - первый закон, указан­ный Аристотелем:

А ® В, А - Если из Аследует В и посылка Аистинна,

В то выполняется и следствие В.

Примеры применения правила логического вывода.

1. «Если идет дождь, то на улице мокро».

«Пошел дождь».

Следовательно, «на улице мокро».

2. «Если кому-то весело, то он улыбается».

«Маша развеселилась».

Следовательно, «Маша улыбается».

В предикатной форме закон логического вывода превращается в процедуру вывода новых сведений из имеющихся общих правил и конкретных фактов:

А(х)® В(х), А(с) - Если из А(х)следует В(х) и А(х) выполнено

В(с) для х = с, то выполняется В (с).

Данная процедура из конкретного факта А(с) и общего правила логического вывода А(х) ® В(х) позволяетвывести новое конкрет­ное утверждениеВ(с). Иными словами, эта процедура вывода позво­ляет выводить новые конкретные сведения из общих правил и уже известных конкретных фактов.

Следовательно, знание и применение законов логического выво­да позволяет порождатьновые сведения, являющиеся логическим следствием уже известных сведений. Этим свойством и этими зако­нами могут пользоваться не только люди - они применяются в си­стемах машинного интеллекта.

Закон вывода отрицаний - второй закон логического вывода:

А ® В, не В - Если из АследуетВ, но следствие В ложно,

не А тоне выполняется посылка А.

Примеры логического вывода из отрицаний.

1. «Если идет дождь, то на улице мокро».

«На улице сухо».

Следовательно, «На улице не было дождя».

2. «Если кому-то весело, то он улыбается».

«Вова не улыбается».

Следовательно, «Вове не весело».

В предикатной форме закон вывода отрицаний превращается в конструктивную процедуру вывода отрицаний:

А(х) ® В(х), не В(с) - Если из А(х)следует В(х), но Вне выполнено

не А(с) для х = с,тоне выполняется и А(с).

Данная процедура из конкретного отрицания следствия неВ(с) и общего правила А(х) ® В(х) выводит конкретное отрицание не А(с) предпосылки при х = с. Эта процедура используется в системе Пролог как основной механизм поиска ответов на сложные вопросы, в ко­торых участвуют определяемые предикаты.

В качестве иллюстраций дополним рассмотренную базу знаний о семье набором правил на языке Пролог, выражающих понятие «ро­дитель»:

родитель (х, у) мама (х, у); - Мама - родитель

родитель (х, у) папа (х, у); - Папа – родитель

После ввода этих правил в ЭВМ система Пролог на вопросы о родителях выдаст такие ответы при указанной выше базе данных:

? родитель (Надя, х) - Кому родитель Надя ?

х =Оля

х = Сережа

Вывод ответов на эти вопросы система Пролог проводит следу­ющим образом. Во-первых, вопрос? родитель (Надя, х) будет заменен на отрицаниене родитель (Надя, х). Далее это отрицание будет сопо­ставлено с правилом выводародитель (х, у) мама (х, у), а затем с правилом родитель (х, у) папа (х, у).

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

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

Закон тождества - четвертый общий логический закон, указанный Аристотелем:

«Предмет рассмотрения должен быть определен

и не должен меняться до конца обсуждения»

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

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

Наши рекомендации