Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Конспект по матлогике

.pdf
Скачиваний:
72
Добавлен:
16.04.2015
Размер:
768 Кб
Скачать
☆

Переформулировка теоремы Если формальная арифметика непротиворечива, то в ней не выводимы формулы, содержащие

утверждения о её непротиворечивости

Переформулировка теоремы Если в формальной арифметике выводима ¬ ( (0 = 1)), то в ней выводима (0 = 1)

Переформулировка теоремы Если средствами формальной арифметики можно доказать её непротиворечивость, то она противоречива

16.Машина Тьюринга. Недетерминированная машина Тьюринга. Определение времени и памяти машины Тьюринга

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

Конкретная машина задаётся:

1)Алфавитом = { 0, … , }0 ∙ - бланковый (пустой) символ, всегда стоит в крайних ячейках ленты

2)Состояниями = { 0, 1, … , }0 – выходное состояние1 – входное состояние

3)Множеством правил перехода (команды)→ ′ ′

Стрелка задает направление перемещения головки (можно не перемещать)

′ - задает новые состояние′ - записываемый в ячейку символ

Вячейках ленты записаны символы алфавита

Головка находится в одном из состояний, видит одну ячейку. Изначальное положение – после левого

∙

Программа для машины Тьюринга – список команд, в которых нет 2х команд с одинаковой левой частью и разными правыми

Машину Тьюринга можно обобщить, изменяя число лент, головок, размерность ленты

Недетерминированная машина Тьюринга (НМТ) – машина Тьюринга, на которую не распространяется ограничение: если левые части команд одинаковы, то одинаковы и правые части

НМТ является предикатом, а не алгоритмом

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

НМТ выдаёт 1, если хотя бы одна ветка вычислений, на которой машина закончит работу, иначе 0

Время – количество шагов до конечного состояния. В НМТ смотрим на минимальную ветку Память – количество используемых ячеек. В НМТ смотрим на ветку – решение Рабочая зона – число использованных во время работы ячеек Время вычислений – количество рабочих тактов МТ

11

P-SPACE – набор всех проблем разрешимости, которые могут быть разрешимы МТ с помощью ленты длинной не более полинома от длинны исходных данных

NP-SPACE – разрешимы на НМТ с полиномиальным ограничением пространства LIN-SPACE – разрешимы на МТ с линейным ограничением пространства EXP-LIN-SPACE – разрешимы на МТ с 2 ( ) ограничением пространства3 EXP-POLY-SPACE– разрешимы на МТ с 2 ( ) ограничением пространства

P-TIME = P – набор всех проблем разрешимости, которые могут быть разрешимы МТ за время не более полинома от длинны исходных данных

NP-TIME = NP – разрешимы на НМТ за время не более чем за полином

(Н)МТ с полиномиальным ограничением пространства – ( ): на любых входных данных длинной (Н)МТ посетит не более ( ) клеток

17.Полиномиальная m-сводимость

≤ множество (предикат) полиномиально сводится к множеству (предикату) означает, что

( ( ) )

Задача сводится к при помощи операций, число которых не превышает ( )

18.NP-полная задача. Примеры

NP-полная задача – это:

2)ВЫП ≤

3)( ≤ )

Задача ВЫП – есть ли набор пропозициональных переменных, обращающих формулу в истину

Примеры NP-полных задач:

1)Проблема раскраски графа

2)Задача коммивояжера

3)Полиномы Жегалкина

19.NP-полнота задачи 3-ВЫП

Тривыполнимость 3-ВЫП – формула в КНФ, у которой в любой элементарной дизъюнкции ровно 3 члена Теорема

3-ВЫП – NP-полная задача, то есть ВЫП≤ 3-ВЫП

□

Нужно доказать, что любую формулу, находящуюся в конъюнктивной нормальной форме, можно свести к форме, чтобы любая элементарная дизъюнкция содержала 3 разные переменные

Пусть – число переменных

= 1: ¬ (¬ )&(¬ ¬ )

= 2: ( ¬ ) ( ¬ )&( ¬ ¬ )

= 3: ничего не нужно делать

≥ 4: 1 2 …

Пусть 1 1 2, 2 1 2 3 и т.д.

Последовательно получаем (1 2 1)&(1 3 2)& … &( −2 −1) 1 2 … Рассмотрим (1 2 1) (1 2 1)&(1 1 2) (¬1&¬2 1)&(¬1 1 2)

(¬1 1)&(¬2 1)&(¬1 1 2)

■

3 n – длина исходных данных, o(n) – линейная функция, ( ) – полином

12

20.NP-полнота задачи проверки системы полиномов Жегалкина

Полином Жегалкина – полином из

[ , … , ]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

1

 

 

 

 

 

 

 

 

 

 

 

«И» – 1

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

«Л» – 0

 

+ ( )

 

 

 

 

 

 

 

 

 

 

 

 

( , … ,

) = …

 

 

 

 

…

…

где , , … ,

 

 

1

 

1

2

2

 

1,2

1 2

1,3 1 3

1,…, 1

 

1

1,…,

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= 0

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим систему { = 0

где , – полиномы Жегалкина. Эта система равносильна

 

 

[

+ + ≡ 0( 2)

 

 

 

 

 

 

 

 

 

 

 

 

(1 + )(1 + ) ≡ 1( 2)

 

 

 

 

 

 

 

 

 

 

 

 

 

1 = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{

 

( + 1) … ( + 1) ≡ 1( 2) ( 1) … (

1) 1

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

= 0

Таким образом поиск решения системы из уравнений с полиномами Жегалкина сводится к поиску решения сравнения с 1, а это и есть задача ВЫП Наша задача сводится к ней полиномиально (путем построения сравнения) проверка системы полиномов Жегалкина – NP-полная задача

21.Полиномиально быстрые сравнения с нулём полинома Жегалкина

( 1, … , ) = 1 2 2 … 1,2 1 2 1,3 1 3 … 1,…, 1 … = 0

Если = 0 решение – нулевой вектор (( 1, … , ) = 0 )

Если = 1 берем член с минимальной степенью такой, что его коэффициент ,…, = 1, и всем переменным = = 1

Полином Жегалкина имеет решение, если он ≠ 1

Рассмотрим 2 уравнения { == 00 + + = 0 – просто решить, 1 = 0? 2 слагаемых, значит

сложность растет экспоненциально Лучше сделать (1 + )(1 + ) ≡ 1( 2)

1 = 0 Тогда { (1 + 1) … (1 + ) ≡ 0( 2)

= 0

22.Определение элементарных по Кальмару алгоритмов

Элементарная по Кальмару программа, если:

1)Программа без вложенных циклов

2)Программа, вычислимая на МТ за время, не превосходящее 222…| | = 2| |, где | | – длина исходных данных, – константа

3)Программа, вычислимая на МТ с затратами памяти не более 222…| | = 2| | ячеек, где | | – длина исходных данных, – константа

4)Паскалевидная функция, где из циклов допустим только for

23.Определение примитивно-рекурсивных программ

Базовые примитивно-рекурсивные функции: 1) Нулевая функция (без аргументов)

2) Функция следования : ( ) = + 1

3) Функция , где 0 < ≤ , от переменных, сопоставляющая любому упорядоченному набору

1, … , натуральных чисел число из этого набора

Операторы:

1)Суперпозиция– функция от переменных

1, … – упорядоченный набор функций от переменных

13

– оператор суперпозиции: ( 1, … , ) = ( 1( 1, … , ), … ( 1, … , ))

2)Примитивная рекурсия– функция от переменных, исходная функция в начале итерационного процесса

– функция от + 2 переменных, оператор, принимающий переменных 1, … , , номер шага, функцию на данном шаге и возвращающая функцию на следующем шаге

– функция от + 1 переменных (оператор примитивной рекурсии) такой, что

{ ( 1, … , , 0) = ( 1, … , )

( 1, … , , + 1) = ( 1, … , , , ( 1, … , , ))

Множество примитивно-рекурсивных функции - минимальное множество, содержащее все базовые функции и замкнутое относительно указанных операторов

Частично-рекурсивная функция – примитивно-рекурсивная функция, но к операторам добавлен

оператор минимизации: ( 1, … , , ) и ( 1, … , ) = argmin{ : ( 1, … , , ) = 0}. Не исключены

зацикливания

Общерекурсивная функция – всюдуопределённая частично-рекурсивная функция

Тезис Чёрча Всякий вычислимый всюдуприменимый алгоритм может быть запрограммирован с помощью

общерекурсивной функции

Тезис Клини Всякий вычислимый всюдуприменимый алгоритм может быть запрограммирован с помощью

частично-рекурсивной функции

Задача определения того, является ли частично-рекурсивная функция с данным описанием общерекурсивной или нет – алгоритмически неразрешима

Примитивно-рекурсивная функция (альтернативное определение), если:

1)Числа неограниченной разрядности или файлы неограниченной длины

2)Запрещены goto

3)Запрещены while/repeat

4)Запрещены процедуры и функции

5)Разрешены вложенные циклы for

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

Паскалевидная функция – функция на языке Pascal, у которой:

1)Сколь угодно длинные целые числа

2)Не используются множества

3)Не используются файлы

4)Не используются структуры

5)Не используются процедуры и функции, принимающие в качестве параметров имена процедур и функции

Длинна исходных данных – сумма длин всех фактических параметров функции

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

Команды в алгоритме Маркова – преобразования строк

1 → [ ] 1

{– схема нормально алгоритма

→ [ ]

Если правило подстановки с « » это правило заключительное. « » алфавиту

Принцип работы:

14

В слове ищется 1, если нашлось, то левое вхождение заменяется на 1 и, если правило с « », завершаем работу. Если 1 не нашлось, то ищем 2 и так далее Если ни одну строку не нашли конец работы. Если встретили правило с « » и произвели замену конец работы На каждом шагу схема просматривается сначала

Алгоритм Маркова – один из стандартных способов формального определения понятия алгоритма

Принцип нормализации – любой алгоритм (в том числе и бесконечный) может быть запрограммирован нормальным алгоритмом Маркова

Теорема Любая машина Тьюринга может быть запрограммирована нормальным алгоритмом Маркова и наоборот

26.Нормальный алгоритм Маркова с правилами Поста

Команды вида: 1 1 2 2 3 … +1 → [ ] 1 1 … +1 где { 1, … , } { 1, … , }, – переменные, – слова в алфавите

Примеры:

1)1 → 1 1 – удвоение слова

2)1 2, length( 1) = length( 2) length( 1) + 1 = length( 2) → 1 – первая половина слова

27.Простейшие теоремы о невозможности алгоритмов

Самоприменимость – свойство алгоритма успешно завершаться на данных, представляющих собой формальную запись этого же алгоритма

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

Теорема о самоприменимости Невозможно простроить алгоритм : ! (" ") ¬! (" ")

□

Предположим = ! (" ") ¬! (" ")

■

Теорема о самоаннулируемости Невозможно построить алгоритм : (" ") = 0 ¬ (" ") = 0

□

Предположим = (" ") = 0 ¬ (" ") = 0

■

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

Массовая задача – формула с параметрами, вместо которых могут быть подставлены объекты любого типа

Пример (? , ) ( 2 + + < 0) – определить по целым параметрам и , есть ли такой

Теорема Следующие задачи алгоритмически неразрешимы

1)(? " ") ! (" ")

2)(? " ") (" ") = 0

15

□

1) Предположим – всюдуприменимое решение ( (" ") = Л ! (" "))

Рассмотрим (" ") = IF (" ") = Л THEN WHILE " " = " "

DO " ": = 1 OD

FI

Рассмотрим ( (" ")):

Если ( ) = Л ¬! ( ) ! (" ") Если ( ) ≠ Л ! ( )

Построили ( ) такой, что ! ( (" ")) ¬! (" ")!? Противоречие с теоремой о самоприменимости

2)Предположим – всюдуприменимое решение ( (" ") = Л (" ") = Л)

Рассмотрим (" ") = IF (" ") = Л

THEN return 1; ELSE return Л;

FI

Рассмотрим ( ):

Если ( ) = Л (" ") ≠ Л Если ( ) ≠ Л (" ") = Л (" ") = Л

Построили ( ) такой, что ( (" ")) = Л ¬ (" ") = Л!? Противоречие с теоремой о самоаннулируемости

■

29.Определение алгоритмически неразрешимой проблемы

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

Алгоритмически неразрешимая задача – задача, имеющая ответ «да» или «нет» для каждого объекта некоторого множества, для которого ¬ алгоритма, который бы давал правильный ответ за конечное число шагов

Разрешимая проблема:

1) ! ( )

и

2) ( ( ) = 0 ( ))

Неразрешимая проблема:

1) ¬! ( )

или

2) ¬( ( ) = 0 ( ))

30.Проблема применимости

Теорема о алгоритмической неразрешимости проблемы применимости Для универсального4 алгоритма невозможно построить всюдуприменимый алгоритм , для которого

(( ( ) = 0) ! ( ))

□

Предположим такое, что { ( ( ) = 0 ! ( ))! ( )

Тогда для ( ) построим всюдуприменимое продолжение 1( ): (! ( ) ( ( ) = 1( )))

Таким продолжением является алгоритм:_1( ) = IF ( ) = 0 THEN ( )

ELSE ( ) FI

4 Определение в следующем вопросе

16

по теореме о непродолжимости универсального алгоритма5, можно указать такие начальные данные, по которым неприменим!? невозможно построить

■

31.Непродолжимость универсального алгоритма до всюдуприменимого

Программа называется универсальной, если по коду программы и начальным данным выдает результаты работы, условно равные результату работы над

( ," ") ( )

– продолжение , если (! ( ) ( ) = ( ))

≈ – алгоритм условно равен , если (! ( ) ! ( ) & ( ) = ( ))

Теорема о непродолжимости универсального алгоритма Для алгоритма , являющегося продолжением , можно указать такие начальные данные, где неприменим

□

Построим алгоритм , который к концу последовательности (или ) чисел ( , ) приписывает единицу Предположим, это алгоритм 1( ) = ( ( , ), 1)

(" 1"," 1") = 1(" 1") = ( (" 1"," 1"), 1) Предположим, что ! (" 1"," 1") ! (" 1"," 1")

– продолжение (" 1"," 1") = ( (" 1"," 1"), 1) !? так как они не равны неприменим к

(" 1"," 1")

■

32.Алгоритмическая неразрешимость равенства слов в полугруппе

= { 1, … , } – алфавит, образующиесвободная полугруппа, слова

1,1 … 1, 1 = 1,1 … 1, 1

{

 

 

 

 

 

 

 

 

 

– определяющее соотношение

 

 

 

…

 

 

=

 

…

 

 

 

,1

 

,

 

 

,

 

 

 

 

 

 

,1

 

 

 

 

 

 

 

 

 

 

 

 

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

Задача: по паре слов из полугруппы определить, эквиваленты они или нет

Докажем, что исчисление, где проблема равенства слов в полугруппе алгоритмически неразрешима: Будем строить исчисление на основе универсальной МТ (то есть универсальный алгоритм), который выдает «Л» при завершении

= { , 0, … , , 0, … , } – алфавит < 1 >, где – аксиома→ ′ ′

→ ′ ′ – команды машины Тьюринга

→ ′ ′

На её основе напишем равенства, задающие исчисление

→ ′ ′ { → ′ ′

→ ′ ′, где0( ) – универсальный алгоритм для нашей МТ

5 Теорема из следующего вопроса

17

Предположим, что МТ всегда удаляет передаваемую строку

Лемма

! 0( ) < 1 >=< 0 >, где

Таким образом 0 работает над словом и выдает пустое слово, когда есть равенство ! 0( ) – алгоритмически неразрешимая задача правая часть также алгоритмически неразрешима, то есть алгоритмически неразрешима задача равенства фиксированному слову

Из леммы следует, что проблема равенства слов в полугруппе с конечным числом образующих и определяющих соотношений для некоторой полугруппы алгоритмически неразрешима

□

« »

< 1 > 1 +1 +2 < 0 >

« »

< 1 > 1 +1 +2 < 0 >−1 +1 −1 +1 так как детерминированная МТ по индукции можем вырезать все

переходы справа налево < 1 > < 0 > ! 0( ) равносильно проблеме самоприменимости неразрешимо

■

33.Теорема Райса об инвариантных свойствах алгоритма

Свойство – формула некоторого логико-математического языка с одной свободной переменном для последовательности числен разрядности

– инвариантное свойство семейства с универсальным алгоритмом , если ,(( ( , ) ≈ ( , )) ( ) = ( )) 6

Свойство нетривиально, если ( ) & ¬ ( )

Теорема Райса Никакое нетривиальное инвариантное относительно условного равенства свойство алгоритмов не

является алгоритмически разрешимым

□

Предположим ( ) ¬! ( )

Рассмотрим ( ) IF !{n}(n) THEN 1 ELSE {n}(n) FI

( ) ¬! ( ) ¬! { }( ) свели к задача о самоприменимости, которая алгоритмически неразрешима наша задача также алгоритмически неразрешима

■

34.Обобщенная теорема Райса (формулировка)

Обобщенная теорема Райса Никакое нетривиальное инвариантное относительно условного равенства свойство алгоритмов класса

не является алгоритмически разрешимым посредством алгоритма класса

35.Определение конструктивных чисел и операций над ними

Конструктивная математика – есть только алгоритмы

Конструктивное число (КВЧ) – пара алгоритмов ,

– основание фундаментальной последовательности, переводит в

– регулятор сходимости, переводит в

Определение КВЧ: ( , > ( ) | ( ) − ( )| < 2− )

Их число счётно, так как запись алгоритма в памяти – счётно, строим числа с требуемой точностью

6 ≈ − условное равенство

18

Сложение:

+ ( ) = ( ) + ( )

+ ( ): | ( ) + ( ) − ( ) − ( )| ≤ | ( ) − ( )| + | ( ) − ( )| ≤ 2− + 2− = 2− +1 (если

, > ( + 1)

рассмотрим { , > ( + 1) ) + ( ) = max( ( + 1), ( + 1))

Отрицание: − ( ) = − ( ) − ( ) = − ( )

Умножение:

можно перемножить, если одно из чисел ограничено сверху

Функция в КВЧ – алгоритм, который по паре чисел выдает пару алгоритмов

– существует алгоритм, который по выдаёт такой , что верно

36.Правила сведения утверждений о корректности программ

Аннотирование программ – теоретическая отладка программы, целью которой является проверка утверждений о сложной программе посредством проверки утверждений о простых программах

Программа аннотирована корректно, если перед выполнением следующего за утверждением оператора это утверждение о текущем значении переменных, использованных в программе, выполняется

Если программа зависла до утверждения, то оно ничего не отражает

Фигурные скобки – аннотация Угловые скобки – условия, выполнение которых предполагается перед началом работы программы

Примеры:

1)x 0; {x=0} x x+2; {x=2}

2)корректность P; {A} Q; эквивалентна корректности P; {A} и <A> Q;

Программа корректно аннотирована в целом, если начиная работу после комментария при условии его истинности будут истинными все последующие комментарии и она аннотирована корректно

Частичная корректность программ: {A} P; {B} – триада Хаара

Если предусловие выполняется, то команда делает верным постусловие Если P не зависает, то триада истинна

Полная корректность программ:

<A> P; {B}

Если верно A, то P завершает работу и верно B

Правила перехода в логике Хаара:

{ & } 1{ }

1) { &¬ } 2{ }

{ } IF THEN 1 ELSE 2 FI { }

{ & } { }

2) { &¬ }{ }

{ } IF THEN FI { }

{ } 1{ }

3) { } 2{ } { } 1{ } 2{ }

19

{ &¬ }{ } { & } { } { &¬ }{ }

4) { & } { }

{ } WHILE DO { } OD { }

{ }{ }

5){ } { }

37.Аксиомы теории множеств Цермело-Френкеля

Предположим, у нас есть пустое множество 0

Построим : 1 { }, 2 { , { }}, 3 { , { , { }}} , …

Таким образом + 1 = { }

Аксиомы

1)( = ( )) – объемности

2)( {, } ) – пары

3)( ( & )) – объединения

4)( & ( + 1 )) – бесконечности

5)( & ( + 1 ) & (( & ( + 1 )) )) –

существования

6)( { : Φ} & [Φ] ) – выделения

7)( ( ) ) – степени

8)( ≠ ( & ∩ = )) – регулярности (фундирования)

9): → ( ( ( ) )) – выбора

Парадокс Рассела Наивная теория множеств противоречива

= {: ¬( )} ( )

38.Арифметика целых и рациональных чисел

Арифметика : пара ( , ) −

1)( , ) = (′, ′) − = ′ − ′

2)( , ) + (′, ′) = (′′, ′′)

− + ′ − ′ = ′′ − ′′

+ ′ + ′′ = + ′ + ′′

3)( , ) (′, ′) = (′′, ′′)

( − ) (′ − ′) = ′′ − ′′

′ + ′ + ′′ = ′ + ′ + ′′

4)( , ) + 1 = (′, ′)

− + 1 = ′ − ′

+ 1 + ′ = ′ +

Арифметика : ( , , )

−

 

 

 

 

 

 

 

 

 

+1

 

′− ′

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1)

( , , ) = (′, ′, ′)

 

−

=

 

 

 

 

 

 

+1

′+1

 

 

′− ′

 

′′− ′′

 

 

 

 

 

 

 

2)

( , , ) + (′, ′, ′) = (′′, ′′, ′′)

−

+

=

+1

′+1

′′+1

 

 

 

 

 

 

 

 

 

 

39.Смешанная и конечнозначная логика

Конечнозначная логика Поста – обобщение двузначной логики, использующая числа 1, … , при для обозначения истинности или ложности 1 − абсолютная ложь

2 − почти ложь

− абсолютная истина

20