Как упрощать логические выражения?

evgenija050179

Хочу написать программку для упрощения логических выражений. (Или лучше даже цифровых логических схем, то есть, схем, составленных из "и", "или", "не".) Подскажите, как мне это сделать! Может есть стандартные алгоритмы?
То есть: на входе - логическая схема, на выходе - эквивалентная, но более простая (с меньшим числом элементов, например...).
Спасибо!

zuzaka

карты Карно?

evgenija050179

Карты Карно, насколько я знаю, окажутся слишком большими при большом числе аргументов функции...

Evgewkin

Quine-McCluskey алгоритм --- пригодный к использованию вариант карт Карно.
Есть реализация на питоне,
http://sourceforge.net/projects/qmls/
думаю, еще всяких полно

Alexx13

Посмотри книгу "Дискретная математика и математические вопросы кибернетики", раздел 2.
Там даны алгоритмы построения сокращённой д.н.ф., тупиковой д.н.ф. и локальные алгоритмы упрощения д.н.ф., как-то: алгоритм Квайна, А-алгоритм, кольцевой алгоритм, в разделе 3 рассмотрена результативность некоторых локальных алгоритмов.
В такой общей постановке задача весьма нетривиальная: доктором будешь, если решишь %)
Оставить комментарий
Имя или ник:
Комментарий: