부울 표현식을 단순화하는 알고리즘을 아는 사람은 누구입니까?부울 표현 알고리즘 단순화
나는 부울 대수와 Karnaught지도를 기억하지만, 이것은 EVERITHING이 부울 인 디지털 하드웨어를위한 것입니다. 일부 하위 표현식이 부울이 아니라는 점을 고려한 무언가를 원합니다. 이것은 순수한 부울 표현식으로 변환 할 수
a == 1 && a == 3
:
예를 들어a1 && a3
하지만이를 arithmetics의 지식의 조금으로 everibody 결정할 수 있지만 표현, 기약입니다 표현식은 단지 :
false
일부 신체는 오메 링크? 물론
http://hopper.unco.edu/KARNAUGH/Algorithm.html
, 비 부울 표현식을 처리하지 않습니다 구글을 사용
'a'가 허용되는 언어/런타임의 휘발성 변수/필드로 선언되고 다른 스레드에서 값이 1에서 3까지 변동하면 어떻게됩니까? 나는 이것이 좋은 디자인이라고 말하지는 않지만, 소프트웨어에서 "항상"과 "결코"는 보통 상대적인 용어입니다. –
이것은 문제가되지 않으며 실제 사용은 LINQ Provider를위한 것이며 실제 값은 쿼리가 변환 될 때의 값입니다. 조회가 다시 실행되면 단순화가 갱신 된 값으로 다시 실행됩니다. – Olmo
일반적으로 불가능합니다. 예를 들어'a> 0 and b> 0 and n> 2 그리고 a^n + b^n = c^n'은 항상 false이지만 증명하기는 쉽지 않습니다. 즉, 당신은 ad-hoc 단순화에 빠져 있고 질문에 깨끗한 답은 없습니다 (당신이 보게 될 표현의 본성에 달려 있기 때문에). –