Теория алгоритмов

Конспекты лекций по математической логике.

 

1.1 Различные подходы к Определению алгоритма:

10. Неформальное понятие алгоритма (последовательность инструкций для выполнения действия).

20. Машина с неограниченными регистрами (МНР).

30 Машина Тьюринга – Поста (МТ-П).

40 Нормальные алгоритмы Маркова (НАМ).

 

1.1.1 Машина с неограниченными регистрами (МНР).

Имеется некое устройство, в котором счетное число ячеек памяти (регистров), в которых хранятся целые числа.

Допустимые команды:

Z(n) - обнуление регистра Rn.

S(n) - увеличение числа в регистре Rn на 1.

T(m,n) - копирует содержимое Rm в регистр Rn.

I(p,q,n) - если содержимое Rp = Rq то выполняется команда с номером n , если нет

следующая.

Программа для МНР должна быть последовательностью команд Z, S, T, I с Опр.еделенным порядком, выполняемые последовательно.

 

Тезис Черча (Churcha): Первое и второе Определение алгоритма эквивалентны между собой. Любой неформальный алгоритм может быть представлен в программе для МНР.

 

1.1.2 Машина Тьюринга - Поста.

Имеется устройство просматривающее бесконечную ленту, где есть ячейки содержащие элементы алфавита: , где - пустой символ (пустое слово), который может принадлежать и не принадлежать А. Также существует управляющая головка (устройство) (УУ)/(УГ), которая в начальный момент расположена в Определенном месте, в состоянии . Также существуют внутренние состояния машины:

Слово в данном алфавите - любая конечная упорядоченная последовательность букв данного алфавита, притом длина слова это количество букв в нем (у пустого слова длина 0).

Допустимые команды:

1) ,где . 2) (остановка программы). Последовательность команд называется программой, если в этой последовательности не встречается команд с одинаковыми левыми частями. Машина останавливается если она не находит команды с левой частью подобной текущей.

 

1.1.3 Нормальные алгоритмы Маркова.

Тип машины перерабатывающий слова, в которой существует некий алфавит , для которого W - множество всех слов.

Допустимые команды: (Для машин этого типа важна последовательность команд.)

где Пример: Программа:

 

1.1.4 Реализация функции натурального переменного.

но мы допускаем не всюду Определенную функцию.

то это означает, что

притом , если f не Определена, то и программа не должна ничего выдавать.

притом , если f не Определена, то и программа не должна ничего выдавать.

(, а числа представляются в виде ,например .)

1.2 Эквивалентность трех подходов к понятию алгоритм.

 

1.2.1 Теорема об эквивалентности понятия вычислимой функции.

вычислима: ()

1) Если существует программа МНР, которая вычисляет эту функцию.

2) Если существует программа МТ-П, которая вычисляет эту функцию.

3) Если существует программа НАМ, которая вычисляет эту функцию.

 

Использование НАМ:

 

Теор.: Классы функций вычислимых на МТ-П, с помощью НАМ и с помощью МНР совпадают.

Пусть которая вычисляется на МТ-П, вычислим её на НАМ.

МТ-П:

 

НАМ:

 

Команда МТП: преобразуется по правилам:

Команда МТП:

 

2. Булевы функции.

2.1 Основные Определения

2.1.1 Декартово произведение

- мн-во всевозможных упорядоченных пар элементов из А и В.

Пример:

2.1.2 Декартова степень произвольного множества.

Опр.: - множество всевозможных упорядоченных наборов длины n , элементов множества А.

2.1.3 Определение булевой функции от n переменных.

Любое отображение - называется булевой функцией от n переменных, притом множество

 

2.1.4 Примеры булевой функции.

1) логическая сумма (дизъюнкция).

2) логическое умножение (конъюнкция).

3) сложение по модулю два.

4) логическое следствие (импликация).

5) отрицание.

 

 

2.1.5 Основные булевы тождества.

1) (ассоциативность)

2) (коммутативность)

3) (свойство нуля)

4) (закон поглощения для 1)

5) (ассоциативность)

6) (коммутативность)

7) (свойство нуля по умножению)

8) (свойство нейтральности 1 по умножению)

9) (дистрибутивность)

10) (дистрибутивность 2)

11) (закон поглощения)

12) ( Законы

13) де Моргана)

14) (закон снятия двойного отрицания)

15) (tertium non datur – третьего не дано)

16) (ассоциативность)

17)

18)

19)

20)

21) (Свойства

22) идемпотентности)

 

2.2 Дизъюнктивные нормальные формы.

 

2.2.1 Основные Определения.

- конечный алфавит из переменных.

Рассмотрим слово:

Экспоненциальные обозначения:

- элемент конъюнкции.

S – длина элемента конъюнкции.

ДНФ – дизъюнкция нескольких различных элементарных конъюнкций.

Любая булева функция может быть представлена как ДНФ

 

2.2.2 Теорема о совершенной ДНФ.

Любая булева функция тождественно не равная 0 может быть разложена в ДНФ следующего вида:

 

Опр.: Носитель булевой функции

.

Лемма:

1) это элементарно

2) возьмем набор

а)

б)

Доказательство: , будем доказывать, что.

1) Докажем, что . Возьмем он попадает в число суммируемых наборов и по нему будет проводиться суммирование.

2) Докажем, что . Возьмем другой набор из

Следовательно

 

2.2.3 Некоторые другие виды ДНФ.

Опр..: - называется минимальной ДНФ, если она имеет - наименьшую возможную длину из всех ДНФ данной функции.

 

Опр..: - называется тупиковой ДНФ, если из неё нельзя выбросить ни одного слагаемого с сохранением булевой функции.

 

(Легко понять, что любая минимальная ДНФ является тупиковой, а обратное не верно.)

 

Опр..: К-мерной гранью называется такое подмножество , которая является носителем некоторой элементарной конъюнкции длины: n-k.

 

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

 

Опр..: Максимальная грань – это такая грань, которая не содержится ни в какой грани более высокой размерности.

 

Предложение: Любую отмеченную грань можно вложить в максимальную грань.

 

Предложение:

 

(Носитель любой функции можно разложить в объединение нескольких граней разной размерностей)

 

Предложение: Носитель любой функции разлагается в объединение всех своих максимальных граней.

 

Опр..: Элементарная конъюнкция называется минимальной, если её носитель является максимальной гранью. Следовательно, всякая булева функция разлагается в дизъюнкцию всех своих элементарных конъюнкций.

 

Опр..: Сокращенная ДНФ – разложение данной булевой функции в соответствующие ДНФ, которые соответствуют объединению её максимальных граней.

 

Теор: Минимальная ДНФ может быть получена из сокращенной отбрасыванием некоторого количества слагаемых, возможно пустого.