logo search
Пу-112 КТэ 2 сем / Информатика / Лекции по информатике / Программное обеспечение_БД / матлогика_базы знаний

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

х = Маша

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

с = 1000