Свойства перечислимых языков. Теорема Успенского-Райса — различия между версиями
(→Свойства языков) |
(→Теорема Успенского-Райса) |
||
| Строка 46: | Строка 46: | ||
<tex> U(i, x) </tex> {{---}} универсальная функция | <tex> U(i, x) </tex> {{---}} универсальная функция | ||
<tex>g_{i,x}(y):</tex> | <tex>g_{i,x}(y):</tex> | ||
| − | '''if''' U(i, x) == 1 //если i на входе x выдает 1 | + | '''if''' U(i, x) == 1 //если i (где i - это программа), на входе x выдает 1 |
'''return''' <tex>p_X(y)</tex> | '''return''' <tex>p_X(y)</tex> | ||
'''else''' | '''else''' | ||
Версия 14:04, 13 декабря 2014
Свойства языков
Рассмотрим множество всех перечислимых языков .
| Определение: |
| Свойством языков (англ. property of languages) называется множество . |
Примеры свойств:
- Язык должен содержать слово hello.
- Язык должен содержать хотя бы одно простое число.
| Определение: |
| Свойство называется тривиальным (англ. trivial), если или . |
Псевдокод для
p_A(p_X) return L(p_X) \in A
Псевдокод для .
p(A) return true
| Определение: |
| Язык свойства (англ. language of property) — множество программ, языки которых обладают этим свойством: . |
Пример. Пусть — разрешитель некоторого языка
p() return ('hello')
| Определение: |
| Свойство называется разрешимым (англ. recursive), если является разрешимым. |
Теорема Успенского-Райса
| Теорема: |
Язык никакого нетривиального свойства не является разрешимым. |
| Доказательство: |
|
Приведём доказательство от противного. Предположим, что разрешимо и нетривиально, — программа, разрешающая . Не умаляя общности, можно считать, что (в противном случае перейдём к , которое также будет разрешимым и нетривиальным, так как != и != . Исключение пустого множества нам нужно чтобы различать и пустое (при построении функции . Поскольку непусто, то найдётся перечислимый язык . Пусть — полуразрешитель . Рассмотрим вспомогательную программу: — универсальная функция if U(i, x) == 1 //если i (где i - это программа), на входе x выдает 1 return else while true Нетрудно понять, что в разумной модели вычислений номер этой программы можно вычислить по данным и . Значит, можно рассмотреть такую программу: return Заметим, что Следовательно,— программа, разрешающая универсальное множество. Получили противоречие. |
См. также
Источники информации
- 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.