Свойства перечислимых языков. Теорема Успенского-Райса — различия между версиями
AMaltsev (обсуждение | вклад) |
AMaltsev (обсуждение | вклад) |
||
| Строка 57: | Строка 57: | ||
</code> | </code> | ||
| − | Получили, что если <tex>n \in X</tex>, то <tex> | + | Получили, что если <tex>n \in X</tex>, то <tex>V_n \in L(\overline S)</tex>, а если <tex>n \notin X</tex>, то <tex>V_n \in L(S)</tex>. Таким образом, <tex>n \in X \iff V_n \in L(\overline S)</tex>. |
| − | Так как <tex>\overline S</tex> - разрешимо, то можно проверить для любого <tex>a</tex>, лежит ли оно в <tex>\overline{S}</tex>. Но это тоже самое, что и проверка <tex>n \in X</tex>. Тогда можно для каждого <tex>n</tex> проверить лежит ли оно в <tex>X</tex>, а следовательно и построить разрешитель для <tex>X</tex>. Так как <tex>X</tex> - неразрешимо, получили противоречие. | + | Так как <tex>\overline S</tex> - разрешимо, то можно проверить для любого <tex>a</tex>, лежит ли оно в <tex>\overline{S}</tex>. Но это тоже самое, что и проверка <tex>n \in X</tex>. Тогда можно для каждого <tex>n</tex> проверить, лежит ли оно в <tex>X</tex>, а следовательно и построить разрешитель для <tex>X</tex>. Так как <tex>X</tex> - неразрешимо, получили противоречие. |
| Строка 70: | Строка 70: | ||
== Источники информации == | == Источники информации == | ||
* [https://en.wikipedia.org/wiki/Rice%27s_theorem Wikipedia — Rice's theorem] | * [https://en.wikipedia.org/wiki/Rice%27s_theorem Wikipedia — Rice's theorem] | ||
| − | * Rice, H. G. | + | * Rice, H. G. {{---}} Classes of Recursively Enumerable Sets and Their Decision Problems." {{---}} Trans. Amer. Math. Soc. 74, 358-366, 1953. |
| − | * Хопкрофт Д., Мотванн Р., Ульманн Д. Введение в теорию автоматов, языков и вычислений | + | * Хопкрофт Д., Мотванн Р., Ульманн Д. {{---}}Введение в теорию автоматов, языков и вычислений {{---}} стр. 397. |
| + | [[Категория: Теория формальных языков]] | ||
[[Категория: Теория вычислимости]] | [[Категория: Теория вычислимости]] | ||
| − | |||
Версия 21:08, 20 ноября 2016
Содержание
Свойства языков
Рассмотрим множество всех перечислимых языков .
| Определение: |
| Свойством языков (англ. property of languages) называется множество . |
| Определение: |
| Свойство называется тривиальным (англ. trivial), если или . |
| Определение: |
| Язык свойства (англ. language of property) — множество программ, языки которых обладают этим свойством: . |
| Определение: |
| Свойство называется разрешимым (англ. recursive), если является разрешимым. |
Примеры
Примеры свойств:
- Язык должен содержать слово hello.
- Язык должен содержать хотя бы одно простое число.
Псевдокод для разрешителя , где
// — полуразрешитель некоторого языка return true
Псевдокод для программы в общем случае, то есть для проверки того, что язык удовлетворяет свойству :
return
Псевдокод полуразрешителя для языка свойства из первого примера:
// — перечислимый язык в общем случае, поэтому — полуразрешитель (по теореме Райса-Шапиро) return ('hello')
Теорема Успенского-Райса
| Теорема: |
Язык никакого нетривиального свойства не является разрешимым. |
| Доказательство: |
|
Приведём доказательство от противного. Предположим, что разрешимо. Пусть — всегда зацикливающийся алгоритм. Для упрощения предположим, что . В противном случае доказательство аналогично. Рассмотрим — программу, такую что (такое существует, т.к. А - нетривиально). Рассмотрим также произвольное перечислимое неразрешимое множество . Пусть - полуразрешитель . Зафиксируем произвольное и построим следующую функцию
function (x): if (n) == 1 return (x) while true
Получили, что если , то , а если , то . Таким образом, . Так как - разрешимо, то можно проверить для любого , лежит ли оно в . Но это тоже самое, что и проверка . Тогда можно для каждого проверить, лежит ли оно в , а следовательно и построить разрешитель для . Так как - неразрешимо, получили противоречие. |
См. также
Источники информации
- Wikipedia — Rice's theorem
- Rice, H. G. — Classes of Recursively Enumerable Sets and Their Decision Problems." — Trans. Amer. Math. Soc. 74, 358-366, 1953.
- Хопкрофт Д., Мотванн Р., Ульманн Д. —Введение в теорию автоматов, языков и вычислений — стр. 397.