АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
УДК 681.142.2
Ю. О. Герман, О. В. Герман
Белорусский государственный технологический университет
О НЕСООТВЕТСТВИИ МЕЖДУ РАСПОЗНАВАНИЕМ ЯЗЫКА ЗА ПОЛИНОМИАЛЬНОЕ ВРЕМЯ И ТОТАЛЬНОЙ ПОЛИНОМИАЛЬНОСТЬЮ
РАСПОЗНАВАТЕЛЯ
Приводимые в статье рассуждения устанавливают разницу между тотальной полиномиально -стью распознающей машины и полиномиальной сложностью реализуемого ею алгоритма. Проблема связана с отождествлением выводов и доказательств, что не всегда допустимо. Кроме того, нужно иметь в виду, что доказательство становится некорректным, если оно доказывает предикат, являющийся характеристической функцией изменяющегося в процессе доказательства множества. Таким образом, множество доказательств, вообще говоря, не следует отождествлять с множеством корректно построенных выводов. Применительно к теории вычислительной сложности заметим, что трудности доказательства P Ф NP могут быть напрямую связаны с рассматриваемыми в данной статье проблемами теории доказательств. Возникает идея сведения языка, распознаваемого некоторой детерминированной машиной М за полиномиальное время, при условии, что для М нет доказательства тотальной полиномиальности, к языку Выполнимость. Эта идея, по сути, является наиболее существенной точкой роста для последующих работ. Другой важной точкой роста является развитие концепции доказательства как формального математического объекта.
Ключевые слова: алгоритм, система доказательств, проблема выполнимости, полиномиальная вычислительная сложность, финитность распознавателя.
Yu. O. German, O. V. German
Belarusian State Technological University
ABOUT DISCREPANCY BETWEEN POLYNOMIAL TIME LANGUAGE RECOGNITION ALGORITHM AND TOTAL POLYNOMIALITY OF THE RECOGNIZER
The reasoning given in the paper establishes distinction between total polynomiality of the recognizing machine and polynomial complexity of the algorithm realized by it. The problem stems from the incorrect identifying the proofs as inferences what may not take place. Besides, one should bear in mind the proof becoming incorrect if it proves the predicate representing a characteristic function of some set which changes due to the given proof. Thus, the set of proofs in general cannot be identified with a set of all correctly built inferences. Concerning the computation complexity theory, let us note that the obstacles in proving P ф NP may be directly connected to the difficulties in the proof theory considered in the paper. The idea arises to reduce a language recognized for polynomial time by some deterministic machine M, provided that there is no proof of M total polynomiality, to Satisfiability language. This idea, by essence, is the most important "point of growth" for future research alongside with the construction of a new concept of the proof as a formal mathematical object.
Key words: algorithm, proof system, satisfiability problem, polynomial computational complexity, recognition procedure finiteness.
Введение. Принимается, что доказательства алгоритмически распознаваемы. Доказательства используют некоторые множества объектов, которые должны оставаться неизменными. Поэтому если доказательство само использует некоторое множество доказательств, которому оно a priori не принадлежит, то оно не должно
попадать в это множество a posteriori. Исходя из этой позиции, мы ставим цель продемонстрировать, что распознавание языка за полиномиальное время и тотальная полиномиальность распознавателя не всегда тождественны.
Основная часть. Рассмотрим язык LAR* [1], содержащий слова y, такие что
У = >i@ У 2 '
i. yi представляет набор правил (спецификацию) произвольной машины Тьюринга MTE;
ii. y2 является доказательством формулы, утверждающей, что MTE со спецификацией y1 финитна на каждом входе x;
iii. MTE отклоняет слово y = y1 @ y2.
Символ-демаркатор @ имеет чисто техническое значение и может быть опущен.
Замечание. Доказательства y2 представляют корректные выводы в некоторой метатеории Ps с точно определенными понятиями машины Тьюринга, финитности, отклоняющего (принимающего) вычисления и др. Теорию Ps можно противопоставить объектной теории Th, в которой определен универсум рассуждений относительно MTE. В Ps с четко определенной системой аксиом Ax и алгоритмически проверяемым синтаксисом доказательств имеем: доказательство произвольной формулы е есть последовательность [2]:
дДФ1, Ф2, ..., Фк-i | Фк), ^2(ф2+1, Ф2+2,..., Ф2-11Ф2), ...,
Rv(Ф;, Ф;+1, ..., Ф: | е),
где Rj правила вывода с посылками, указанными слева от вертикальной черты в скобках и заключением, указанным справа. Посылки являются либо аксиомами Ax, либо заключениями ранее использованных правил в последовательности вывода. По тексту доказательства всегда можно установить, какая формула доказана и корректен ли вывод.
Можно построить машину MTLAR* (обозначим ее спецификацию y1LAR*), распознающую
LAR*. Принимаем практически очевидные факты о наличии финитных процедур для проверки пунктов i, ii, iii определения языка LAR*. Заметим, что верификация п. iii заключается в моделировании работы MTe на данном входном слове. Процесс моделирования финитен в силу доказательства y2. Итак, MTLAR* распознает для каждого входа x, имеет ли место x е LAR* или x й LAR* за финитное время.
Теорема 1. Нельзя доказать финитность машины MTLAR*.
Доказательство. Пусть такое доказательство есть. Обозначим его DLAR. Рассмотрим слово y1LAR* @Dlar. Тогда MTLAR* не может за финитное время ни отклонить его, ни принять, что противоречит DLAR.
Теорема 2. MTLAR* распознает язык LAR* за финитное время.
Доказательство. Ясно, что LAR* не пуст: он включает хотя бы одно слово для машины,
отклоняющей все слова за один такт. По сути, машина МТь^* должна проверить текст доказательства у2. Доказательство состоит из однотипных блоков, каждый блок содержит посылки применяемого правила вывода, само правило вывода и заключение правила вывода. Проверка посылок сводится к выяснению, что это либо аксиома, либо полученное ранее заключение. Таким образом, проверка доказательств сводится к повторению однотипного действия -выяснению того, что некоторое слово содержится в другом слове. Если доказательство состоит из т слов, то проверок будет не более т2. Проверка вхождения слова в другое слово выполняется на основе полиномиального детерминированного алгоритма за время порядка Ы, где N - наибольшая длина слова. Отсюда общее время проверки доказательства может быть оценено как 0(т2 • Ы) или 0(Ь3), Ь есть длина доказательства. Процесс моделирования завершается за гарантированно финитное время в силу предъявленного доказательства. Поэтому наличие доказательства у2 гарантирует распознавание результата работы машины у! на входе у = у! @ у2. Однако финитность процедуры распознавания не дает оснований считать распознающую машину доказательно финитной в силу теоремы !.
Рассмотрим несколько измененный язык РЬЛЯ, состоящий из слов у = у!у2, где:
!) у! представляет спецификацию произвольной детерминированной машины Тьюринга МТп;
2) у2 есть доказательство того, что МТП, определенное словом у!, отклоняет любое слово у, начинающееся с у! (т. е. у = у12 с произвольным словом 7), за время, ограниченное некоторым фиксированным полиномом от длины слова
у=у^.
Ясно, что РЬЛЯ не пуст: он включает хотя бы одно слово для машины, отклоняющей все слова за один такт. Построим машину МТРЬ^ с полиномиальным временем работы [3] для распознавания РЬЛЯ. По сути, эта машина должна проверить доказательство у2. Доказательства распознаются за полиномиальное время. Моделировать теперь не надо. Следовательно, если доказательство проверено и оно верно, то машина МТРЬ^ принимает слово у = у! @ у2. Мы получаем таким образом следующий результат.
Теорема 3. МТРЬ^ распознает язык РЬЛЯ за полиномиальное время.
Теорема 4. Нельзя доказать полиномиальную сложность машины МТРЬЛ^
Доказательство. Оно состоит из двух частей. Пусть у1ЬЛ1 есть спецификация МТРЬЛ^
1. Доказываем, что MTPLAR не принимает ни одного слова вида >'1LARZ. Если допустить противное (слово yjLARZ принимается), то в силу Z машина MTPLAR отклоняет y1LAR Z, что дает
противоречие. Заметим, что «не принимает» не означает отклоняет (допускается работа без останова). Поэтому данная часть доказательства не входит в множество доказательств того, что машина Тьюринга отклоняет все слова, начинающиеся с ее спецификации, за полиномиальное время. Это обеспечивает корректность данного доказательства.
2. Пусть имеется доказательство DpoiLAR тотальной полиномиальности MTPLAR. Тогда п. 1 означает, что MTPLAR отклоняет каждое слово вида yjLAR Z за полиномиальное время (работа
без останова или с неполиномиальным временем теперь отпадают).
Пункты 1, 2 дают доказательство Ф того,
LAR гу
что каждое слово y1 Z отклоняется за полиномиальное время. Поэтому MTPLAR должна
„LARn
принять слово y1 Ф, что опять невозможно.
Следовательно, допущение о наличии DpolLAR ложно.
Итак, мы столкнулись со следующей проблемой: нельзя доказать полиномиальность (финитность) некоторой машины Тьюринга как таковой, но можно доказать полиномиальность (финитность) реализуемого ею алгоритма. Для уяснения сути мы сошлемся на следующий наглядный парадокс. Пловцом считается тот, кто умеет перебраться через реку. Пловцы получают сертификат пловца. Считается, что пловец, не прибегающий к услугам других, может переправить на себе только одного другого человека. Некто X переплавляется через реку только на сертифицированных пловцах. Причем ни один сертифицированный пловец не может отказать X. Следует ли этому X вручить сертификат?
Сертификат пловца означает способность перебраться с одного берега на другой (неважно, каким способом). Следовательно, формально X и каждый такой X должен быть сертифицирован. Однако если такой сертифицированный пловец, теперь уже с удостоверением пловца, встретится другому такому же пловцу X, то оба пойдут ко дну либо их переправа вовсе не состоится. Здесь причиной казуса является нефиксированность ситуации. Пусть ситуация с сертифицированными пловцами зафиксирована, и среди них нет ни одного Х. Тогда Х не может стать сертифицированным
пловцом, ибо множество сертифицированных пловцов зафиксировано, а если его изменить, то это уже будет другая ситуация. Первым сертифицированным пловцом как раз является не Х. Таким образом, некое множество сертифицированных пловцов не содержит ни одного Х. Еще раз: проблема в том, что Х получает сертификат за счет некоего фиксированного множества сертифицированных пловцов, как только Х получит сертификат, это множество сертифицированных пловцов будет уже иным (ситуация изменится).
Формальные выкладки. Теперь мы формально докажем, что машина MTLAR* распознает язык LAR* за финитное время. Введем следующие предикаты:
prffin(z, x) — z есть доказательство финитно-сти машины со спецификацией x;
fin(x) - утверждает, что машина Тьюринга со спецификацией x тотально финитна;
accept(x, y) - машина Тьюринга со спецификацией x принимает слово y;
decline(x, y) - машина Тьюринга со спецификацией x отклоняет слово y;
Vy accept(x, y) v decline(x, y) — утверждает, что машина x распознает слова y за финитное время;
m - спецификация машины MTLAR*;
fi(w) — представляет рекурсивную функцию, которая возвращает левую часть от символа @ входного слова w и f2(w), соответственно, возвращает правую от символа @ часть слова (если нечего возвращать, то возвращается пустая строка).
Рассматриваем аксиомы Ps, для MTLAR*:
1. VxVy accept(x, y) ^ —decline(x, y);
2. Vw -prffm(f2(w),f1(w)) ^ ^ decline(m, w);
3.Vw prffm(f2 (wX f (w)) & decline(f (w), w) ^ accept(m, w);
4. Vwprffin(f2( w), fi( w))& accept(f (w), w) ^ decline(m, w);
5. Vw accept(m, w) ^
^ prffin(f2 (wX f (w)) & decline(fi (wX w);
6. Vwprffin(f2 (wX f (w)) ^
^ accept (f (w), w) v decline( f (w), w).
Требуется доказать:
7. Vy accept(m, y) v decline(m, y).
Доказательство. Основанный на резолюциях вывод состоит из следующих шагов. Записываем отрицание доказываемой формулы:
8. —accept(m, c) /с - некоторая константа/;
У. —I decline(m, c).
Из 2, 9:
10. prffin( f2(c), /(c)).
Из 3, 8:
11. —decline( f (c), c) v —prffin( f (c), f (c)).
Из 4, 9:
12. —accept( fi (c), c) v —prffin( f2 (c), f (c)).
Из 10, 11, 12:
13 . —I decline( f1(c), c).
14. —accept( f1(c), c).
Из 6, 13, 14:
15. —prffin( f2(c), f1(c)).
10, 15 дают □ (противоречие).
Совместность аксиом устанавливается без труда. Приведенное доказательство устанавливает финитность процедуры распознавания, реализуемой машиной MTLAR*. Докажем теперь, что для MTLAR* нет доказательства фи-нитности:
1. VxVy accept(x, y) ^ — decline(x, y);
2. Vw —prffm(f2(w), f1(w)) ^ decline(m, w);
3. Vw prffin(f2(w), f(w))&
decline(f1 (w), w) ^ accept(m, w);
4. Vw prffin(f2(w), f1(w))& accept(f (w), w) ^ decline(m, w);
5. Vw accept (m, w) ^ prffm(f2 (w), f (w)) & decline( f1(w), w);
6. Vw prffin(f2(w), f1(w)) ^ ^ accept (f (w), w) v decline( f (w), w).
Требуется доказать
7. Vy —prffin(m, y).
Пусть вопреки утверждению теоремы есть такое доказательство. Обозначим его d. Тогда истинен предикат
8. prffn(m, d).
Обозначим слово a = m@d. Тогда в силу наших обозначений f1(a) = m, f2(a) = d. Резольвентой дизъюнктов 6 и 8 является дизъюнкт
9. accept (m, a) v decline( m, a).
Резольвентой 4, 8 является дизъюнкт
10. accept (m, a) v decline(m, a).
Резольвентой 9, 10 является дизъюнкт
11. decline (m, a).
Из 1, 11 получим
12. accept (m, a).
Из 3, 8 получим
13. accept(m, a) v decline(m, a).
Противоречие дают 11, 12, 13.
Таким образом следует признать, что в общем случае не имеет места импликация
Vy accept(m, y) v decline(m, y) ^fin(m), где fin(m) утверждает финитность машины m, так как имеет значение смысл слова y.
Теоремы 3 и 4 доказываются аналогично. Ниже под declinep(x, y) понимаем предикат, утверждающий, что машина х отклоняет слово y за время, ограниченное некоторым фиксированным полиномом; prffinp(y2,y^ утверждает,
что y2 есть доказательство того, что машина y1 отклоняет любое слово yiZ за время, ограниченное некоторым фиксированным полиномом; struct(x, y1, y2) означает, что слово x есть результат конкатенации слов y1 и y2.
Имеем систему аксиом:
1. VxVy accept(x, y) ^ —decline(x, y);
2. VxV y1V y2 (struct(x, y1, y2) & prffinp (y2, y0 ^ accept(m, x));
3. VxV y1V y2 ((—struct(x, y1, y2) v —iprffinp (y2, y1)) ^ decline(m, x));
4. Vw accept (m, w) ^ prffnp(f2(w), f10));
5. VxV y1V y2 (struct(x, y1, y2) & prffinp (y2, y1)) ^ decline (y1, x)).
Теорема о том, что машина MTPLAR со спецификацией y1LAR не принимает ни одного сло-
n LAR v.
ва вида y1 Z:
6. VxVz struct(x, m, z) ^ accept(m, x).
Отрицание теоремы дает два дизъюнкта:
7. accept(m, c);
8. struct (c, m, f2(c)).
Обозначим слово c = m@d. Тогда в силу наших обозначений f(c) = m, f¡(c) = d.
Из 1 и 7:
9. decline(m, c).
Из 5, 8, 9:
Ш. prffmp( /(cX m).
Из 4 и 10:
11. accept (m, c).
7 и 11 дают противоречие.
С учетом доказанной теоремы убедиться в том, что нет доказательства тотальной полиномиальной сложности машины MTPLAR, не составляет труда. Допустим противное и расширим систему аксиом:
1. VxVy accept(x, y) ^ —decline(x, y);
2. Vw -prffinp(f2(w\ fi(w)) ^ ^ decline(m, w);
3. Vw prffinp(f2 (w), fi(w)) ^ ^ accept (m, w);
4. Vw accept(m,w) ^prffinp(f2(w),,/1(w));
5. Vw accept(m, w) ^ decline( f1 (w), w);
6. pf (m) // доказательство полиномиаль-ности MTplar;
7. Vw pf (m) ^ accept(m, w) v decline(m, w);
8. Vw pf (m) & accept(m, w) ^ ^ prffinp(d, m).
Убеждаемся, что эта система противоречива. Обозначим слово a = m@d. В силу наших обозначений f1(a) = m, f2(a) = d.
Из 6, 7 получим
9. accept(m, a) v decline(m, a).
Из 5, 9 получим
10. decline(m, a).
Резольвентой 1, 10 является дизъюнкт
11. accept (m, a).
Из 6, 8, 11:
12. prffinp(d, m).
Из 3, 11:
13. prffinp(d, m).
12 и 13 дают противоречие.
Вместе с тем без pf(m) последняя система аксиом непротиворечива (можно убедиться, построив выполняющую интерпретацию).
Заключение. Основной вывод статьи такой: машина Тьюринга может реализовать некий алгоритм за полиномиальное время и в то же время не быть тотально полиномиальной. Этот вывод позволяет по-новому взглянуть на проблему P Ф NP и, возможно, открывает дорогу новым подходам к ее решению.
Литература
1. Герман О. В. Обучение основной теореме теории вычислительной сложности // Новые информационные технологии в образовании: материалы II Междунар. конф., Минск, 12-14 нояб. 1996 г.: в 2 т. / Объед. ин-т проблем информатики Нац. акад. наук Респ. Беларусь. Минск, 1996. Т. 1. С. 99-109.
2. Расева Е., Сикорски Р. Математика метаматематики. М.: Наука, 1972. 590 с.
3. Гэри М., Джонсон Д. С. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982. 410 с.
References
1. German O. V. Learning the main theorem in computational complexity theory. Materialy IIMezhdynarodnoy konferentsii "Novye informatsionnye tekhnologii v obrazovanii: v 2 tomakh [Materials of the 2nd International Conference "New information technologies in education": in 2 vol.]. Minsk, 1996, vol. 1, pp. 99-109 (In Russian).
2. Raseva E., Sikorski R. Matematika metamatematiki [Mathematics of Metamathematics]. Moscow, Nauka Publ., 1972. 590 p.
3. Geri M., Johnson D. S. Vychislitel'nye mashiny i trudnoreshaemye zadachi [Computers and intractable Problems]. Moscow, Mir Publ., 1982. 410 p.
Информация об авторах
Герман Юлия Олеговна — старший преподаватель кафедры информационных систем и технологий. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: [email protected]
Герман Олег Витольдович — кандидат технических наук, доцент кафедры информационных систем и технологий. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: [email protected]
Information about the authors
German Yulia Olegovna — senior lecturer, the Department of the Information Systems and Technologies. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: [email protected]
German Oleg Vitol'dovich — PhD (Engineering), Assistant Professor, the Department of Information Systems and Technologies. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: [email protected]
Поступила 15.05.2018