Алгоритм решения задачи
Для решения поставленной задачи построения и оптимизации таблиц истинности логических схем будем использовать следующий алгоритм.
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. После получения результатов работы логической схемы для всех комбинаций входных сигналов и их оптимизации экспертная система выводит на экран найденную таблицу истинности.