Смекни!
smekni.com

Лекции по информатики 2 (стр. 10 из 43)

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

В о п р о с ы

1. Когда результаты правильные?

2. Когда результаты неправильные?

3. Когда способ решения правильный?

4. Что такое постановка задачи?

4. Что такое метод решения?

5. Когда метод решения правильный?

6. Когда метод решения неправильный?

З а д а н и я

1. Приведите постановку задачи и общий метод решения квадрат­ного уравнения.

2. Приведите калькуляцию для решения квадратных уравнений на компьютере.

3. Докажите правильность общего метода решения квадратного урав­нения.

4. Приведите калькуляцию для решения системы уравнений с двумя неизвестными:

а×х + b×у = е

с×х + d×y = f

с помощью следующего общего метода:

х = Dx/Dу = Dy/D

Dx = e×d - b×f Dy = a×f - b×e

D = a×d - b×c

Глава 3. ОСНОВЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

3.1. Элементы математической логики

Понятие «искусственный интеллект» возникло с появлением самых первых компьютерных программ, имитирующих интеллектуальную деятельность людей - игру в шахматы, шашки, доказательство теорем и решение задач на ЭВМ.

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

Логика - это наука, изучающая правильность суждений, рассуж­дений и доказательств. Примеры суждений: «снег белый», «2´2 = 5», «Земля круглая», «информатика - наука», «генетика - лженаука».

Суждения могут быть истинными или ложными. Истинность или ложность суждений проверяется их соответствием действительности. Пример истинного суждения - «снег белый». Пример ложного суж­дения - «генетика - лженаука».

Суждение истинно, если оно отражает действительное положение вещей. Примеры истинных суждений: «снег белый», «2´2 = 4», «театр - это искусство».

Суждение ложно, если оно противоречит истинному положению вещей. Примеры ложных утверждений - «2´2 = 5», «снег - черный», «Земля плоская».

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

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

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

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

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

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

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

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

А = «снег белый»

В1= «вода теплая»

В2 = «земля твердая»

С математической точки зрения высказывания - это перемен­ные, принимающие значения «истина» или «ложь». Эти два истин­ностных значения иногда заменяются словами «да», «нет», либо цифрами 1 и 0.

В отличии от высказываний предикаты - это суждения о некото­рых переменных объектах или их свойствах. Примеры предикатов:

А(х) = «цвет яблока -х»

В(х,у) = «х < у»

где х, у - это некоторые переменные (объекты).

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

С математической точки зрения предикаты - это функции, име­ющие одну или несколько переменных и принимающие логические значения «истина» или «ложь». Обозначения предикатов в матема­тической логике схожи с обозначениями обычных математических функций: Р(х), Q(x,y)и т. д.

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

любит (Маша, х);

цена (конфеты, с).

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

любит (Маша, цветы) - Маша любит цветы

любит (Саша, машины) - Саша любит машины

цена (цветы, 1000) - цена цветов 1000

цена (мороженое, 2500) - цена морженого 2500

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

? любит(х, конфеты) - Кто любит конфеты?

х = Маша

? цена (конфеты, с) - Какова цена конфет?

с = 1000

В о п р о с ы

1. Что изучает математическая логика?

2. Что изучает логика?

3. Что такое высказывание?

4. Что такое предикат?

5. Когда суждения истинны?

6. Когда суждения ложны?

З а д а ч и

1. Приведите примеры истинных и ложных утверждений

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

б) из геометрии;

в) из биологии;

г) из жизни.

2. Выразите отрицания для высказываний:

а) «мы пойдем в кино»;

б) «х = 0 или х = 1»;

в) «х = 0 и у = 0»;

г) «а = 0 иb = 0 и с = 0»;

д) «х = 0 или у = 0 или z = 0».

е) «мы не пойдем никуда»;

ж) «а = 0 илиb = 0»;

з) «х > 0 и х < 100».

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

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

х = 1 рост < 160

А цена (х, у)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

А не А

да нет
нет да

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

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

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

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

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

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

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

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

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

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

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

не (да, нет);

не (нет, да);

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

? не(А, нет)

А = да

? не (А, да)

А = нет

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