M-сводимость — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 24: Строка 24:
  
 
== Применение ==
 
== Применение ==
Этой леммой удобно пользоваться для доказательств неразрешимости различных задач. Например, [[Примеры неразрешимых задач: проблема соответствий Поста|проблемы соответствий Поста]], [[Примеры неразрешимых задач: однозначность грамматики|задачи однозначности КС-грамматики]] или проверки, выводится ли в КС-грамматике хотя бы один палиндром.
+
Приведённая лемма позволяет доказывать алгоритмическую неразрешимость некоторой задачи сводя к ней ''(а не наоборот!)'' другую, неразрешимость которой уже доказана.
 +
 
 +
Например:
 +
* [[Примеры неразрешимых задач: проблема соответствий Поста|неразрешимость проблемы соответствий Поста]].
  
 
== Литература ==
 
== Литература ==

Версия 09:00, 20 января 2012

Определение:
Множество [math]A[/math] m-сводится ко множеству [math]B[/math], если существует всюду определённая вычислимая функция [math]f : x\in A\Leftrightarrow f(x)\in B[/math], то есть [math]f(A) \subset B[/math] и [math]f(\overline{A}) \subset \overline{B}[/math]. Обозначение: [math]A\le_{m}B[/math].


Определение:
[math]A[/math] m-эквивалентно [math]B[/math], если [math]A\le_{m}B[/math] и [math]B\le_{m}A[/math]. Обозначение: [math]A\equiv_{m}B[/math].

Свойства

  1. [math]A\le_{m}A[/math].
    • Доказательство: [math]f(x)=x[/math].
  2. Если [math]A\le_{m}B[/math] и [math]B[/math] разрешимо, то [math]A[/math] разрешимо.
    • Доказательство: Пусть [math]p[/math] — программа-разрешитель для [math]B[/math]. Тогда для любого [math]x\in A[/math] разрешитель должен вернуть значение [math]p(f(x))[/math].
  3. Если [math]A\le_{m}B[/math] и [math]B[/math] перечислимо, то [math]A[/math] перечислимо.
    • Доказательство: Аналогично предыдущему свойству.
  4. Если [math]A\le_{m}B[/math] и [math]B\le_{m}C[/math], то [math]A\le_{m}C[/math].
    • Доказательство: Если [math]f:A\to B[/math] и [math]g:B\to C[/math], то m-сводящая функция [math]h:A\to C[/math] выглядит так [math]h(x) = g(f(x))[/math].


Лемма:
Если [math]A\le_{m}B[/math] и [math]A[/math] неразрешимо, то [math]B[/math] неразрешимо.
Доказательство:
[math]\triangleright[/math]
Следует из второго свойства.
[math]\triangleleft[/math]

Применение

Приведённая лемма позволяет доказывать алгоритмическую неразрешимость некоторой задачи сводя к ней (а не наоборот!) другую, неразрешимость которой уже доказана.

Например:

Литература

  • Верещагин Н., Шень А.Вычислимые функции, 2-е изд. МЦНМО, 2002. ISBN 5-900916-36-7
  • P. OdifreddiClassical recursion theory. Elsivier, 1992. ISBN 0-444-87295-7