Информатика

       

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


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

Все компьютерные программы, демонстрирующие

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

Логика - это наука, изучающая правильность суждений, рассуж­дений и доказательств. Примеры суждений: «снег белый», «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».


Содержание раздела