Алгоритм решения задачи

Для решения поставленной задачи построения и оптимизации таблиц ис­тинности логических схем будем использовать следующий алгоритм.

1. Инициализация заданной логической схемы и установление необходимых соединений между ее элементами.

2. Получение результата работы логической схемы, в случае если на все ее источники подаются значения, равные 0.

3. Далее, последовательно перебираются всевозможные комбинации входных сигналов для всех источников логической схемы и вычисляются результаты ее работы. Перебор всевозможных комбинаций входных сигналов осуществляется с помощью циклического (рефлексного) кода Грея (binary cyclic Gray code). Этот код является особым методом представления двоичных чисел, в котором каждое последующее число отличается от предыдущего только на один символ. Например, коды Грея для чисел от 0 до 7 будут: 0 = 000, 1 = 001, 2 = 011, 3 = 010, 4 = 110, 5 = 111, 6 = 101, 7 = 100. Использование кода Грея позволяет значительно оптимизировать работу экспертной системы по времени исполнения, т. к. для получения результата обработки каждого следующего варианта входных сигналов необходимо изменить значение только одного источника.

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

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