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

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

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

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

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

Переформулировка теоремы Если в формальной арифметике выводима ¬ ( (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) (¬12 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