
Информатика / Информатика / 4_inf
.docxИнформатика 4- Билет
Законы логического вывода
Умение делать выводы - основная способность любого интеллекта. Основным признаком интеллекта являются знания и умения решать определенные задачи. Основой этих интеллектуальных умений являются законы и принципы логического вывода.
Законы человеческого мышления изучаются логикой и психологией. Принципы искусственного интеллекта разрабатываются в математической логике и информатике на основе методов машинного доказательства теорем и постановки экспериментов на ЭВМ.
Знание законов логического вывода позволяет выверять правильность рассуждений, доказательств, а также находить ошибочные утверждения. Незнание или нарушение этих законов и принципов приводит к логическим ошибкам и принятию неправильных решений.
В качестве иллюстраций рассмотрим базу знаний о семье. Пусть в семье есть дочь Оля, сын Сережа, мама Надя, папа Коля, бабушка Зина и дедушка Миша:
Соответствующая база данных на языке Пролог:
мама (Зина, Надя); папа (Миша, Надя);
мама (Надя, Оля); папа (Коля, Оля);
мама (Надя, Сережа); папа (Коля, Сережа);
Система Пролог при наличии этих фактов в памяти ЭВМ даст следующие ответы на вопросы о «папах» и «мамах»:
? мама (Надя, Оля) - Надя - мама Оли?
да
? папа (Сережа, Надя) - Сережа - папа Нади?
нет
Машина, использующая систему Пролог, дает ответы строго в соответствии с определенными логическими законами и принципами логического вывода. Разберем эти законы и принципы.
Законы логики - это общие законы логического вывода, используемые для вывода различных умозаключений. Наличие интеллекта и у компьютеров и у людей определяется прежде всего способностями делать выводы и умозаключения в различных ситуациях.
Закон противоречия - первый общий закон логики. Этот закон впервые высказал Аристотель - основатель логики как научной дисциплины:
А и не А - Не могут быть истинны одновременно
ложь суждение и его отрицание
Примеры противоречивых утверждений:
1) «яблоко - спелое»;
«яблоко - неспелое»;
2) «треугольник АВС - прямоугольный»;
«стороны треугольника равны друг другу».
Высказывание противоречивых суждений и утверждений является примером серьезных логических ошибок. Наличие противоречий говорит о некотором умысле либо о нарушениях в сознании.
В системе Пролог закон противоречия лежит в основе механизмов вывода ответов на вопросы. А именно, система Пролог для каждого вопроса формирует его отрицание и для этого отрицания ищет противоречие по отношению к фактам и правилам в базе знаний, хранящейся в памяти.
Так, вопрос ? мама (Надя, Оля) ЭВМ преобразует в отрицание не мама (Надя, Оля) и временно присоединяет его к базе знаний. При этом получившаяся база становится противоречивой и система Пролог объявляет отрицание ложным и выводит ответ ДА.
Закон исключения третьего - второй общий закон логики, указанный Аристотелем:
А или не А - Истинно суждение либо его отрицание,
истина третьего не дано.
Примеры взаимоисключающих утверждений:
1) «Сегодня будет дождь» или «Сегодня дождя не будет».
2) «Любой треугольник правильный либо в нем есть разные стороны».
Принципы логического вывода в системе Пролог отличаются от законов Аристотеля, поскольку его законы выражаются на языке высказываний, а работа системы Пролог основана на использовании предикатов.
Соответствующая запись законов логики на языке исчисления предикатов представляет конструктивные процедуры, позволяющие осуществлять конкретные логические выводы из общих правил и конкретных фактов.
Закон противоречия в записи на языке исчисления предикатов преобразуется в процедуру вывода ответов на простейшие вопросы вида ? А(с):
А(х) и не А(с) - При противоречии А(х) и не А(с)
ложь, при х = с контрпримером служит х = с.
Содержательный смысл: При противоречии А(х) и не А(с) контрпримером служит х = с. Здесь х - переменная, а с - конкретное значение, при котором отрицание ответа оказывается ложным. Это значение х = с выводится системой Пролог в качестве ответа на поставленный вопрос. Примеры такого рода вопросов и ответов:
? папа (х, Коля) - Кто папа у Коли ?
нет
? папа (х, Оля) - Кто папа у Оли ?
х = Коля
? мама (х, у) - Что известно о мамах?
х = Зина у = Надя
х = Надя у = Оля
Закон двойного отрицания - третий общий закон логики. Этот закон также был высказан Аристотелем:
не (не А) - Если неверно отрицание,
А то суждение – истинно
Примеры рассуждений.
1) Неверно, что «Вчера не было дождя».
Следовательно, «Вчера был дождь».
2) Неправда, что «это сделал не Саша».
Следовательно, «это сделал Саша». (?)
Из второго примера видно, что закон двойного отрицания является косвенным доказательством, поскольку оно не опирается на факты или аргументы. По этим причинам закон двойного отрицания может оказаться ошибочным и этот закон не является общезначимым (верным для всех случаев и ситуаций).
Правильность утверждений и рассуждений даже при безупречной логике доказательств зависит от достоверности исходных фактов и положений. Эту идею выражает четвертый общий логический закон - закон достаточных оснований, впервые сформулированный Лейбницем - создателем одной из самых первых механических вычислительных машин и основателем исчисления предикатов.
Закон достаточных оснований:
Всякое утверждение должно предполагать существование аргументов и фактов, достаточных для его обоснования.
Иными словами, любое утверждение должно предполагать наличие набора конкретных фактов и правил, из которых должно вытекать утверждаемое. Нарушениями это закона являются рассуждения, опирающиеся на недостоверные факты или положения, истинность которых не проверяется, а принимается на веру.
Пример рассуждений, не имеющих достаточных оснований:
1. «Если дорогу перебежала черная кошка, то быть неприятностям».
2. «Это верно, потому что это - справедливо».
Экспертные системы на ЭВМ с этой точки зрения должны создаваться исключительно на основе достоверных данных и общих правил вывода, проверенных практикой. Включение в базу знаний недостоверных данных или неподтвержденных обобщений и правил может привести к появлению ошибок и получению неправильных решений.
Причина такой работы экспертных систем состоит в том, что компьютеры могут делать выводы и умозаключения только исходя из фактов и правил, имеющихся в базе знаний, и только из этих данных - и ничего другого. Практическую ценность для систем машинного интеллекта представляют принципы логического вывода на основе не только фактов, но и правил