2011-gre-cs-practice-book.pdf/Q70

Материал из DISCOPAL
Перейти к: навигация, поиск

Вопрос: Q70-08c765

Если L1 - разрешимый язык, а L2 - неразрешимый язык, то язык L1 ∪ L2 , который является объединением L1 и L2 , будет являться


Ответы

  • Правильный ответ: бесконечным, но, возможно, разрешимый и, возможно, неразрешимый
  • возможно конечный и, возможно, бесконечный, но определенно разрешимый
  • возможно конечный и, возможно, бесконечный, но определенно неразрешимый
  • бесконечный и разрешимый
  • бесконечный и неразрешимый


Объяснение

Исходники — вопрос 70 на 48 странице книги «2011-gre-cs-practice-book.pdf»

Определения

  • Разрешимость языка , означает, что существует машина Тьюринга, которая может однозначно определить, находится ли любая заданная строка в языке(в нашем случае L1) или нет, за конечный промежуток времени.
  • Неразрешимость языка , означает, что не существует машины Тьюринга, которая могла бы определить принадлежность для каждой строки в языке (в нашем случае L2).

Что происходит при объединении

  • Поскольку L1 разрешим, оно может содержать конечные или бесконечные элементы и он сам по себе конечен.
  • Неразрешимость L2 означает, что он обладает свойством, заключающимся в том, что невозможно полностью классифицировать принадлежность его элементов. В связи с этим мы также не можем говорить и о его конечности.

Поэтому, если мы включим все элементы из L2 в L1 ,способа определить принадлежность для всех элементов из L2 нет (поскольку L2 неразрешимо). Таким образом, если L2 добавляет какие-либо элементы в объединение, объединенное объединение сохраняет неразрешимость. - L1 ∪ L2, безусловно, будет неразрешимым , потому что, если бы вы могли разрешить L1 &cup L2, вы также могли бы разрешить L2 , поскольку L2 является частью L1 ∪ L2 , что противоречит тому факту, что L2 неразрешимо.

Решение

Пусть мы пытаемся определить, находятся ли x в L1 ∪ L2. Первой идеей было бы попробовать запустить М1(машина Тьюринга для языка L1) на x, и если он не принимает, то запустить М2(машина Тьюринга для языка L2) на x. Но М1 не гарантированно остановится на x, и мы все равно хотели бы принять x, если М2 примет его. Таким образом, решение состоит в том, чтобы запускать М1 и М2 параллельно, переключаясь между выполнением того или другого. Если в какой–то момент вычисления М1 принимает x, значит x входит в L1 ∪ L2; если ни один из них не принимает, то это может продолжаться вечно.

Следовательно язык L1 ∪ L2 бесконечный (так как мы не можем ничего сказать о конечности языка L2 ), но, возможно, разрешимый (если х входит в L1) и, возможно, неразрешимый (если х не входит в L1)

Задача зарезервирована: Evvnes 08:39, 19 декабря 2024 (UTC)

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.