Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ в ИС.doc
Скачиваний:
4
Добавлен:
25.09.2019
Размер:
399.87 Кб
Скачать

Тема 5. Дедуктивные системы. Логический вывод и логическое программирование.

5.1 Исчисления и дедуктивные системы.

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

Дедуктивная система – это способ задания множества путем указания исходных элементов (аксиом) и правил вывода, позволяющих строить новые элементы из исходных, т.е. выполнять логический вывод.

В традиционном представлении понятия «исчисления», «дедуктивная система», «логика» и «формальная аксиоматическая теория» эквиваленты.

Язык программирования является формальной системой. Различия в исходных аксиомах и правилах вывода приводят к различным дедуктивным системам (мужская и женская логика).

Логическое программирование – это набор методов решения проблем, которые используют приемы логического вывода для манипулирования знаниями, представленными в декларативной форме.

В узком смысле логическое программирование сводят к исчислению предикатов 1-го порядка для осуществления логического вывода, и называют его хорновским (резолюционным). В этом случае знания представлены в виде однозначных высказываний (хорновские дизъюнкты), а в качестве процедур логического вывода используется метод резолюций.

Математическая логика и теория формальных систем являются формализацией человеческого мышления и представления знаний в памяти человека.

  1. В Др. Греции Аристотель и его последователь Платон развили науку с названием «логика».

  2. В 1954 г. Джордж Буль написал работу «Законы мысли» на основе логики Аристотеля, что послужило появлению новой науки «Булева алгебра».

  3. 1979 г. Готфрид Фреге (Германия) ввел язык, который описывает математически точно каждую форму рационального мышления.

Известно, что человек мыслит на том языке, на котором разговаривает (естественный язык). В XX веке некто Тарской показал, что грамматики естественных языков не обладают однозначностью трактовки, что не обеспечивает строгость логического вывода (программы-переводчики, испорченный телефон). С другой стороны, человек часто находит решение задачи интуитивно.

Интуиция – это логический вывод подсознания, описать или реализовать который формально невозможно на современном уровне развития науки.

5.2 Общая схема построения формальной системы.

1) Определение языка системы. Здесь определяется алфавит (перечень элементарных символов системы), правила построения формул (синтаксис высказывания).

2) Определение аксиом системы. Здесь выделяется конечное или перечислимое множество формул, которые называют аксиомами. Аксиомы – это утверждения, заведомо истинные и не требующие доказательства.

3) Определение правил вывода системы. Фиксируется множество предикатов Ri, i>0 на множестве всех формул. Если для некоторого набора формул F1, F2, … , Fn истин предикат Ri(F1, .. , Fn+1), то говорят, что формула Fn+1 непосредственно вытекает из формул F1 Fn по правилу Fi.

Задание языка, аксиом, правил вывода обеспечивает задание формальной системы.

Теорема системы – это некоторая формула, выводимая на заданном множестве формул, аксиом системы.

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

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

F1, F2, … , Fn\Т F

Пример 5.1

Задача раскроя материала.

Имеется 2 вида материала:

M1, L1 = 100 см;

M2, L2 = 120 см.

Изделие, которое нужно получить, имеет длины n1 = 80 см, n2 = 60 см, n3 = 30 см.

Состояния, в которых находится система, задаются предикатом:

S(m1, m2, n1, n2, n3).

Начальное состояние системы S(m1, m2, 0, 0, 0).

Правила вывода:

  1. S(x+1, y, z, u, v) + S(x, y, z+1, u, v).

  2. S(x+1, y, z, u, v) + S(x, y, z, u+1, v+1).

  3. S(x+1, y, z, u, v) – S(x, y, z, u, v+3).

  4. S(x, y+1, z, u, v) – S(x, y, z+1, u, v+1).

  5. S(x, y+1, z, u, v) + S(x, y, z, u+1, v+2).

  6. S(x, y+1, z, u, v) + S(x, y, z, u+2, v).

  7. S(x, y+1, z, u, v) + S(x, y, z, u, v+4).

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