Разрешимые (рекурсивные) языки — различия между версиями
| Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
| − | |definition=Язык <tex>L</tex> называется '''разрешимым''' ('''рекурсивным'''), если существует такая программа <tex> p </tex>, что <tex> \forall w \in L: p(w) = 1</tex> | + | |definition=Язык <tex>L</tex> называется '''разрешимым''' ('''рекурсивным'''), если существует такая программа <tex> p </tex>, что <tex> \forall w \in L: p(w) = 1</tex>, а для <tex> \forall w \notin L: p(w) = 0</tex>. |
}} | }} | ||
=Примеры= | =Примеры= | ||
==Пример разрешимого множества== | ==Пример разрешимого множества== | ||
| + | {{Утверждение | ||
| + | |id=st1 | ||
| + | |statement= | ||
| + | Язык чётных чисел разрешим. | ||
| + | |proof= | ||
| + | Приведём программу, разрешающую наш язык: | ||
| + | <tex>p(i)</tex> | ||
| + | '''if''' (остаток от деления i на 2 = 0) | ||
| + | '''return''' 1 | ||
| + | '''else''' | ||
| + | '''return''' 0 | ||
| + | Заметим, что программа нигде не может зависнуть. | ||
| + | }} | ||
| + | |||
==Пример неразрешимого множества== | ==Пример неразрешимого множества== | ||
| + | |||
| + | {{Определение | ||
| + | |definition=Язык <tex> U = \{\langle p, x \rangle \ |\ p(x) = 1\} </tex> называется '''универсальным'''. | ||
| + | }} | ||
| + | |||
| + | {{Утверждение | ||
| + | |id=st1 | ||
| + | |statement= | ||
| + | Универсальный язык неразрешим. | ||
| + | |proof= | ||
| + | Докажем от противного. </br> | ||
| + | Пусть язык <tex> U </tex> разрешим. </br> | ||
| + | Тогда существует такая программа <tex> u </tex>, что | ||
| + | <tex>p(i)</tex> | ||
| + | '''if''' (остаток от деления i на 2 = 0) | ||
| + | '''return''' 1 | ||
| + | '''else''' | ||
| + | '''return''' 0 | ||
| + | Программа нигде не может зависнуть и таким образом разрешает наш язык. | ||
| + | }} | ||
Версия 06:38, 14 декабря 2011
| Определение: |
| Язык называется разрешимым (рекурсивным), если существует такая программа , что , а для . |
Примеры
Пример разрешимого множества
| Утверждение: |
Язык чётных чисел разрешим. |
|
Приведём программу, разрешающую наш язык:
if (остаток от деления i на 2 = 0)
return 1
else
return 0
Заметим, что программа нигде не может зависнуть. |
Пример неразрешимого множества
| Определение: |
| Язык называется универсальным. |
| Утверждение: |
Универсальный язык неразрешим. |
|
Докажем от противного. </br> Пусть язык разрешим. </br> Тогда существует такая программа , что
if (остаток от деления i на 2 = 0)
return 1
else
return 0
Программа нигде не может зависнуть и таким образом разрешает наш язык. |