Я пишу консольную программу для представления логических выражений (что-то вроде AB'C + A'C
), чтобы я мог упростить (оптимизировать) выражения и оценить их значения.Я пытался использовать string
для представления выражения, но таким образом я могу оценивать только его значения на основе входных значений, но оптимизировать выражение, представленное в виде строки, очень сложно (со мной), Пример, ABC + AB
можетбыть AB
, потому что ABC+AB
= AB(C+1)
= AB
.Я также думаю, что другой способ использования vector of vector of literal
.Например, AB'C + AB + BC
будет представлен в виде рисунка ниже:
Объяснение: каждый столбец представлен для каждого термина в приведенном выше примере.Первый столбец соответствует AB'C
, второй - AB
, а третий - BC'
.Я думаю, что это хороший способ представить логическое выражение, но я все еще не могу найти способ оптимизировать выражение, подавляющее этим способом.Я также погуглил, но я не нашел пример проекта для проблемы.
Короче говоря, я надеюсь, что кто-то предложит мне способ более простого представления, оценки и оптимизации логического выражения.Заранее благодарен!