Двоичный двухголовочный автомат



Cтандартные схемы могут моделировать (в уточненном ниже смысле) двухголовочные автоматы, что позволяет свести проблему пустоты этих автоматов к проблеме пустоты схем. Такое моделирование можно осуществить более простым способом, если использовать специальный класс двухголовочных автоматов, а именно класс двоичных автоматов, работающих со словами над алфавитом {0, 1}. Следующая лемма устанавливает связь между классом всех двухголовочных автоматов и специальным подклассом двоичных автоматов.

Лемма. Существует алгоритм преобразования двухголовочных автоматов в двоичные двухголовочные автоматы (ДДКА), сохраняющий пустоту автоматов(построенный двоичный автомат Аb пуст тогда и только тогда, когда пуст исходный автомат А).

Доказательство. Пусть ДКА А над алфавитом V = { a1, a2,...an } имеет множество состояний QА = { q1k, q2k, …, qkk }, где верхний индекс (k = 1, 2) определяет номер активной головки. Преобразование этого автомата в двоичный начнем с кодировки символов и слов из V* словами в алфавите {0, 1} по следующему правилу:

код (#) = 0;

код (ai) = 11....10 (i = 1, …, n);

код (a ai) = код (a) код (ai).

Так как символ # кодируется нулем, то любому непустому слову на ленте автомата А соответствует двоичное слово на ленте автомата Аb, оканчивающееся двумя нулями. Автомат останавливается, прочитав два нуля подряд (или 0, означающий пустое слово).

Автомат A преобразуется в двоичный автомат Ab так, как показано на графах рисунка 1.9. Каждый фрагмент графа А (рисунок 1.9, а) заменяется фрагментом (рисунок 1.9, б) для Аb.

После замены добавляются фрагменты (рисунок 1.9 в, г).

 

 

Множество состояний автомата Аb включает:

а) все старые состояния из QА;

б) для каждого старого состояния qjkn новых состояний, n - число символов алфавита V;

в) два новых состояния r11 и r21.

Заключительными состояниями автомата А являются заключительные состояния автомата Аb.

Вершины Sa (останов допускающий) и Sr (останов отвергающий) носят на графе вспомогательный характер в графе Аb. Они отмечают тот факт, что автомат прочитал два нуля подряд и остановился в заключительном состоянии (случай Sa) или в незаключительном состоянии (случай Sr).

Легко убедиться, что автомат Аь допускает двоичное слово р тогда и только тогда, когда оно является двоичным кодом слова из V*, допускаемого автоматом А. Таким образом, из пустоты автомата А следует пустота автомата Аь, и наоборот.

 

На рисунке 1.10, а приведен граф ДКА A допускающий только те слова в алфавите V = { a, b, c }, в которых символ a встречается не меньшее число раз, чем символы b и c, вместе взятые. Заключительное состояние R ={ q01 }. На рисунке 1.10, б приведен граф ДДКА, построенный по автомату А (10 – код символа a, 110 – код b, 1110 – код c).

По заданному ДДКА возможно построить ССП и наоборот, что позволяет решить задачу разрешимости (не разрешимости) свойств ССП, так как эта задача для ДДКА решена.


Дата добавления: 2015-12-20; просмотров: 18; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!