Построение кодопреобразователя

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?у состояний. Построение эквивалентного ему абстрактного цифрового автомата с наименьшим числом состояний и является задачей оптимизации. При минимизации числа состояний уменьшается стоимость, как блока памяти автомата, так и его входной и выходной комбинационных схем.

Два полностью определённых автомата называются эквивалентными, если они индуцируют (производят) одно и то же отображение множества входных слов во множество выходных слов. Частичный цифровой автомат А называется эквивалентным продолжением частичного автомата В, если индуцируемое им отображение совпадает с отображением, индуцируемым автоматом В на всех допустимых для автомата В словах.

Полностью определённый автомат является частным случаем частичного автомата.

 

Таблица переходов с распределением неопределённостей.

Первым (предварительным) этапом всякой минимизации является выделение неопределенных выходных сигналов и состояний и внесение соответствующей неопределенности в таблицы переходов и выходов автомата. Внесение неопределенности не должно изменять исходного отображения, которое должен индуцировать рассматриваемый автомат. Степень полноты внесенной неопределенности определяет в значительной мере и возможности последующей минимизации.

 

Исключение недостижимых состояний.

Если в автомате имеется состояние (но только не начальное), в которое он не может попасть под воздействием любого допустимого входного слова, то такое состояние называется недостижимым. Недостижимые состояния исключаются из описания абстрактного автомата без изменения, индуцируемого автоматом отображения. Автомат, все состояния которого достижимы, является связным автоматом.

 

Определение класса совместимости.

Состояния аi и aj называются совместимыми, если, двигаясь из этих состояний под воздействием любого входного сигнала, автомат индуцирует одинаковое его отображение.

Состояния называются i-совместимыми для i=1, 2,..., если результат применения к этим состояниям любого слова длины i будет одинаковым. Классы совместимых состояний могут быть найдены непосредственно по таблице выходов. В один и тот же 1 - класс зачисляются состояния, обозначающие совпадающие (с точностью до неопределённых выходных сигналов) столбцы таблицы выходов. Классы (i+1) - совместимости получаются из классов i - совместимости путём их расщепления на классы (i+1) - совместимости. Для этого у каждого состояния, принадлежащего j - классу i - совместимости Cj(i), номера классов (индексы), в которые автомат переходит под воздействием каждой входной буквы. Если номер класса не определён, то ставится специальный символ, например, прочерк. Индексы классов, в которые переходит автомат под действием входного сигнала, образуют отметку. Множество состояний с одинаковыми отметками в классе Cj(i) образуют классы (i+1) - совместимости. При выполнении операции расщепления классов специальный символ неопределённости может быть заменён номером (индексом) любого класса. Если операцию расщепления i-классов применить последовательно, начиная с 1-класса, то через конечное число шагов процесс расщепления закончится. Нерасщепляемые далее классы образуют классы совместимых состояний. Иногда отметки состояний разных классов совпадают, но объединять такие состояния в один класс (i+1) - совместимости совершенно недопустимо.

Задачей минимизации методом расщепления классов является получение как можно меньшего количества и как можно большей ёмкости классов конечной совместимости.

 

Классы единичной совместимости

В классы единичной совместимости поместим:

C1(1)01 01111121131141-52-62-711811922121-131-142-152-182-192-221-232-261-272-321-341-361-381-401-C2(1)0110111122161-171-202-212-241-252-281-292-301-312-331-351-371-391-411-


 

Видим, что в таблицах есть несовместимые переходы классов, поэтому продолжим разбиение.

Классы двоичной совместимости

D1(2)0101111122231142-711822121-132-223-263-

D2(2)0154-66-944144-156-184-196-235-275-D3(2)01321-341-361-381-401-D5(2)01331-351-371-391-411-D6(2)011166204-216-255-295-315-

D4(2)011022161-172-243-283-303- Видим, что в таблицах есть несовместимые переходы классов, поэтому продолжим разбиение.

E10(3)01247-287-307-E12(3)011113122114-E13(3)012010-E14(3)012511-2911-3111-Классы троичной совместимости

E1(3)01012112312712123-E2(3)0124544-845136-E3(3)01227-267-E4(3)0158-9981410-1810-E5(3)01612-1514-1914-E7(3)01321-341-361-381-401-E8(3)011045176-E9(3)01163-

E6(3)012311-2711-E11(3)01331-351-371-391-411-

F21(4)01112322F22(4)012124-F23(4)012019-F24(4)012520-2920-3120-Классы четверичной совместимости

F1(4)01026F2(4)01136F3(4)01346F5(4)01128-F6(4)012912410-81113F7(4)011314-F8(4)012215-2615-F9(4)01516-F10(4)0191817F11(4)011419-1819-F12(4)01621-F13(4)011524-1924-F14(4)012320-2720-F15(4)01321-341-361-381-401-F16(4)01101113F17(4)011714-F18(4)01168-F19(4)012415-2815-3015-F20(4)01331-351-371-391-411-

Классы пятеричной совместимости

 

G1(5)01026G2(5)01137G3(5)01348G4(5)01759G5(5)011210-G6(5)0121114G7(5)01412-G8(5)0181215G9(5)011316-G10(5)012217-2617-G11(5)01518-G12(5)0192019G13(5)011421-1821-G14(5)01623-G15(5)011526-1926-G16(5)012322-2722-G17(5)01321-341-361-381-401-G18(5)01101315G19(5)011716-G20(5)011610-G21(5)012417-2817-3017-G22(5)01331-351-371-391-411-G23(5)01112524G24(5)012126-

G25(5)012021-G26(5)012522-2922-3122-

При построении нормализованного автомата переход = (Ci, zj) считается неопределённым, если для всех состояний этого класса не определены переходы в другое состояние. Если хотя бы для одного состояния класса переход определён, то в клетку таблицы нормализованного автомата заносится индекс класса, в который переходит цифровой автомат из этого состояния. Таким образом, доопределяются неопределённы?/p>