Переход автомата из одного состояния в другое осуществляется за счет изменения состояний элементов памяти. Так, если автомат переходит из состояния аm с кодом 0101 в состояние аs, с кодом 1001, то это означает, что триггер Т1, переходит из состояния 0 в состояние 1, триггер Т2 - из состояния 1 в состояние 0, а состояния триггеров Т3, и Т4 не изменяются.
Целью данной работы является анализ влияния кодирования состояний автомата на сложность комбинационной схемы. Большое число работ, начало которых было положено Хартманисом и Стирном, посвящено получению такого кодирования, при котором уменьшается зависимость функций возбуждения памяти от переменных обратной связи. Хартманис и Стирн показали, что этот подход тесно связан с существованием определенных разбиений множества состояний автомата. Как правило, нахождение вариантов кодирования состояний, которые обеспечивают ослабленную функциональную зависимость для функций возбуждения, дает более экономичную схему, чем при других типах кодирования. Методы кодирования состояний с ослаблением функциональной зависимости тесно связаны с декомпозицией автомата.
В процессе работы были исследованы два метода кодирования состояний автомата. В первом случае состояния автомата по возможности были закодированы соседними кодами. Во втором применялся эвристический алгоритм кодирования состояний, минимизирующий суммарное число изменений элементов памяти на всех переходах автомата [1]. При таком критерии уменьшается сложность схем, реализующих дизъюнкции на входах элементов памяти, вследствие чего минимизируется комбинационная схема. Для данного способа кодирования состояний был разработан алгоритм (рисунок 1) и программа в среде Delphi 7.0.