Минимизация логических функций методом Куайна

Форум для обсуждения вопросов математики

Модератор: Admin

Wyfinger
Сообщения: 42
Зарегистрирован: Вс ноя 05, 2006 8:07 am

Минимизация логических функций методом Куайна

Сообщение Wyfinger » Ср апр 22, 2015 4:27 pm

Вот здесь: http://www.exponenta.ru/educat/systemat/sdvizhkov/index9.asp есть пример реализации метода Квайна в VBA Excel.

Разве простые импликанты не должны копироваться в набор для следующего цикла? Речь про этап получения сокращенной формы.

Вот пример из Википедии ([url]https://ru.wikipedia.org/wiki/Минимизация_логических_функций_методом_Куайна[/url]):
Исходная ДНФ:
0 1 0
1 0 0
1 0 1
1 1 0
1 1 1

Результат работы VBA кода:
1 - -

(очевидно результат неверен)

Правильный результат:
- 1 0
1 - -

Этот простой импликант (второй) остается незалитым желтым после первого цикла, но не копируется в следующий цикл.

Или может я чего не понимаю.


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

Wyfinger
Сообщения: 42
Зарегистрирован: Вс ноя 05, 2006 8:07 am

Сообщение Wyfinger » Сб апр 25, 2015 3:11 am

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

Чуть позже выложу свои исходники (Lazarus/Delphi+EXE), возможно кому пригодится.

Wyfinger
Сообщения: 42
Зарегистрирован: Вс ноя 05, 2006 8:07 am

Сообщение Wyfinger » Пн апр 27, 2015 8:58 am

Моя простая прожка: https://github.com/wyfinger/Quine

Я свою задачу решил, но комментарии и предложения приветствуются, там многое неоптимально написано. Еще думаю сделать группировку в скобках, если время будет.