Комментарии 24
Вот когда оказывается, что по такой карте каждая из единиц может быть "покрыта" несколькими способами — и из них всех надо выбрать оптимальное покрытие — тогда-то NP-полная задача и вылезает.
PS
Эх, доделать бы свою версию espresso, оптимизированную под совсем большие задачи...
Doing Two-Level Logic Minimization 100 Times Faster
citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.17.9246&rep=rep1&type=pdf
Имеется нетлист схемы (реализация функции в виде базисных элементов логики). Из этого нетлиста хотелось бы восстановить функцию. Можно написать скрипт, который выпишет в виде отдельных формул функции всех элементов, составляющих нетлист. В результате, искомая функция окажется суперпозицией функций элементов.
Вопрос: умеет ли Espresso работать с функцией, заданной в виде суперпозиции частичных функций? Т.е. если я загружу список из функций элементов, сможет ли Espresso эти частичные функции склеить в единую функцию, и затем минимизировать? Или же, Espresso работает по принципу — одна формула — одна функция?
Но данный метод мне показался весьма удобным.
(not X1)*X3*(not X4), X3*(not X4)*(not X5)
во втором часу ночи выше моих сил. Статья на редкость интересная, но честно, пока не осиливаю. Завтра попробую на свежую голову еще раз перечитать.причем строки 0 и 10 — это толстая линия, соответствующая инверсному значению
Это просто такое правило?
ищем оставшиеся единицы, не входящие в уже сформированные группы
Клетка 0-2 не берется потому что это не однозначно единица или потому что она находиться внутри уже обработанной фигуры (не склеенных единицы, а в прямоугольнике)?
Для этого берут восемь значений из таблицы истинности и заносят их в соответствующую строку (индексы столбцов соответстуют номеру в восьмерке входного набора).
Почему именно 8, а не 16? Шестнадцатеричная система наиболее распространённая, кажется в ней удобнее будет работать. Не пробовали адаптировать к шестнадцатеричной системе исчисления?
Из нее можно получить две равновеликие группы, первая из которых содержит клетки в строках 0 и 10, индексы столбцов 5 и 4, а вторая — все клетки в последнем столбце.
Т.е. первая группа: сначала симметрию берём по вертикали, а потом по горизонтали.
Вторая группа: сначала симметрию берём по горизонтали, а потом по вертикали?
Почему нумерация иксов на рисунке 2 (рассматривается в качестве примера) отличается от других таблиц: к2, к3, к4...?
Симметричные карты как средство минимизации булевых функций