После некоторого изучения, я думаю, что я понял разницу между ними.
Как всегда, дьявол кроется в деталях.
Для начала, решающим языком являетсявсегда узнаваемый язык .
узнаваемый язык - это язык, для которого существует по крайней мере одна машина, в которой он используется в качестве языка.Поначалу это может показаться еще одним из этих циклических определений, но ..
С точки зрения мирян, язык узнаваем, если вы можете представить себе машину, которая сможет принимать все ее строки.
Пример
Давайте разработаем какой-нибудь действительно простой язык:
L = { abc }
этот язык состоит только из слова abc.Это означает, что, чтобы доказать, что этот язык узнаваем, нужно создать одну машину, которая его принимает.Мы неофициально сделаем это:
M - это машина, которая при получении abc в качестве входных данных принимает в противном случае бесконечный цикл.
Эта машина принимает всех членов языкаL, так что это распознаватель для L. Тем не менее, для всех других входов он будет просто навсегда.Если существует машина, которая для каждого ввода принимает / отклоняет этот язык, он также может быть частью класса разрешимых языков.Можете ли вы построить его?
(предупреждение о спойлере !!! 11 @ # $! 1)
M '- это машина, которая при вводе abc в качестве вводапринимает, в противном случае отклоняет.
То есть, поскольку существует машина, которая распознает L и что независимо от того, что вы вводите, вы всегда либо принимаете / отклоняете, язык считается разрешимым.
Более того, если бы вы однажды заинтересовались созданием машины, которая распознает L, вы бы знали, что у вас есть по крайней мере одна машина, которая всегда может это сделать, не сталкиваясь с проблемой возможности принимать abc, но с треском проваливаясь вдругие дела нависают навсегда!