Разрешимые (рекурсивные) языки — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
{{Определение
 
{{Определение
|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>.
+
|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

Определение:
Язык [math]L[/math] называется разрешимым (рекурсивным), если существует такая программа [math] p [/math], что [math] \forall w \in L: p(w) = 1[/math], а для [math] \forall w \notin L: p(w) = 0[/math].


Примеры

Пример разрешимого множества

Утверждение:
Язык чётных чисел разрешим.
[math]\triangleright[/math]

Приведём программу, разрешающую наш язык:

[math]p(i)[/math]
if (остаток от деления i на 2 = 0)
  return 1
else
  return 0
Заметим, что программа нигде не может зависнуть.
[math]\triangleleft[/math]

Пример неразрешимого множества

Определение:
Язык [math] U = \{\langle p, x \rangle \ |\ p(x) = 1\} [/math] называется универсальным.


Утверждение:
Универсальный язык неразрешим.
[math]\triangleright[/math]

Докажем от противного. </br> Пусть язык [math] U [/math] разрешим. </br> Тогда существует такая программа [math] u [/math], что

[math]p(i)[/math]
if (остаток от деления i на 2 = 0)
  return 1
else
  return 0
Программа нигде не может зависнуть и таким образом разрешает наш язык.
[math]\triangleleft[/math]