Я ищу объяснение того, как можно доказать, что модели вычислений эквивалентны. Я читал книги на эту тему, за исключением того, что доказательства эквивалентности опущены. У меня есть базовое представление о том, что означает эквивалентность двух моделей вычислений (представление автоматов: если они принимают одни и те же языки). Существуют ли другие способы думать об эквивалентности? Если бы вы могли помочь мне понять, как доказать, что модель машины Тьюринга эквивалентна лямбда-исчислению, этого было бы достаточно.
Эквивалентность моделей вычислений
Ответы (1)
Чтобы доказать, что модель A
эквивалентна модели B
, вам нужно показать, что:
- Модель
A
не прочнее моделиB
- Модель
B
не прочнее моделиA
Чтобы показать, что модель X не сильнее модели Y, нужно доказать:
Для каждой машины из X существует машина из Y такая, что L(M_X) = L(M_Y)
[где M_X и M_Y — разные машины каждой модели соответственно]
Распространенными хорошо известными доказательствами являются:
- ДФА эквивалентен НФА
- NFA эквивалентен NFA с эпсилон-ходами.
- Многоленточная машина Тьюринга эквивалентна одной ленточной машине Тьюринга
Дополнительную информацию по этому вопросу можно прочитать в разделе эквиваленты машины Тьюринга.
Также обратите внимание, утверждение: the automata view: if they accept the same languages
не соответствует действительности.
Вам не нужно показывать, что одни и те же автоматы принимают один и тот же язык в обеих моделях.
Необходимо показать, что для каждого автомата в A существует автомат в B такой, что L(M_A) = L(M_B) и наоборот