Programing

||

lottogame 2020. 3. 17. 08:32
반응형

|| 그리고! 가능한 모든 논리적 표현을하기에 충분한 연산자?


논리식은 ( a && b ) (모두 ab부울 값을 갖는다) 과 같이 기록 될 수있다 !(!a || !b), 예를 들면. 이것이 &&"비평 장"을 의미하지 않습니까? 이것은 모든 논리식 ||and 만 사용하여 만들 수 있음을 의미합니까 !?


다른 답변이 지적한대로 예, 사업자의 집합의 포함 ||하고 !있다 기능적으로 완전한 . 다음은 부울 변수 A사이에 16 개의 가능한 논리적 연결을 표현하는 데 사용하는 방법을 보여주는 건설적인 증거입니다 B.

NAND와 NOR 모두 자체적으로 기능적으로 완전하므로 (위와 동일한 방법을 사용하여 증명할 수 있음) 일련의 연산자가 기능적으로 완전한지 확인하려면 NAND 또는 NOR을 표현할 수 있음을 표시하는 것으로 충분합니다 그것으로.

다음 은 위에 나열된 각 연결에 대한 벤 다이어그램보여주는 그래프입니다 .

여기에 이미지 설명을 입력하십시오

[ 출처 ]


당신이 설명하는 것은 기능적 완전성 입니다.

여기에는 "가능한 모든 진리표를 표현"하기에 충분한 논리 연산자 세트가 설명되어 있습니다. 자바 연산자 세트는, { ||, !}는 충분하다; "최소 기능적으로 완전한 오퍼레이터 세트"섹션에 나열된 {∨, ¬} 세트에 해당합니다.

모든 진리표 세트는 2 개의 부울 값 사이의 연산의 결과 일 수있는 4 개의 부울 값의 모든 가능한 세트를 의미합니다. 부울에는 2 개의 가능한 값이 있으므로 2 4 또는 16 개의 가능한 진리표가 있습니다.

A B | 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
----+------------------------------------------------
T T | T  T  T  T  T  T  T  T  F  F  F  F  F  F  F  F
T F | T  T  T  T  F  F  F  F  T  T  T  T  F  F  F  F
F T | T  T  F  F  T  T  F  F  T  T  F  F  T  T  F  F 
F F | T  F  T  F  T  F  T  F  T  F  T  F  T  F  T  F

다음은 진리표 번호 (0-15)의 표 ||!이를 생성하는 조합 및 설명입니다.

Table  |  Operation(s)                    | Description
-------+----------------------------------+-------------
  0    | A || !A                          | TRUE
  1    | A || B                           | OR
  2    | A || !B                          | B IMPLIES A
  3    | A                                | A
  4    | !A || B                          | A IMPLIES B
  5    | B                                | B
  6    | !(!A || !B) || !(A || B)         | XNOR (equals)
  7    | !(!A || !B)                      | AND
  8    | !A || !B                         | NAND
  9    | !(A || !B) || !(!A || B)         | XOR
 10    | !B                               | NOT B
 11    | !(!A || B)                       | NOT A IMPLIES B
 12    | !A                               | NOT A
 13    | !(A || !B)                       | NOT B IMPLIES A
 14    | !(A || B)                        | NOR
 15    | !(A || !A)                       | FALSE

Java에는 해당 단일 연산자가없는 하나의 요소 세트 {NAND} 및 {NOR}을 포함하여 기능적으로 완전한 다른 세트가 많이 있습니다.


예.

모든 논리 게이트는 NOR 게이트로 만들 수 있습니다.

NOR 게이트는 NOT 및 OR로 만들 수 있으므로 결과는 다음과 같습니다.


가능하면 DeMorgan 's Laws 를 읽으십시오 .

논리적 증거에 대한 참조뿐만 아니라 거기에서 읽을 수 있습니다.

그러나 본질적으로 대답은 그렇습니다.

편집 : 명시 적으로, 내 요점은 논리적으로 AND 식에서 OR 식을 유추 할 수 있으며 그 반대도 마찬가지입니다. 논리적 동등성과 추론에 대한 법칙이 더 있지만, 이것이 가장 큰 제안이라고 생각합니다.


편집 2 : 다음 표의 논리적 동등성을 보여주는 진리표를 통한 증거가 있습니다.

데모 간의 법칙 : !(!A || !B) -> A && B

 _____________________________________________________
| A | B | ! A | ! B | ! A || ! B | ! (! A ||! B) | & B 조 |
-------------------------------------------------- -----
| 0 | 0 | 1 | 1 | 1 | 0 | 0 |
-------------------------------------------------- -----
| 0 | 1 | 1 | 0 | 1 | 0 | 0 |
-------------------------------------------------- -----
| 1 | 0 | 0 | 1 | 1 | 0 | 0 |
-------------------------------------------------- -----
| 1 | 1 | 0 | 0 | 0 | 1 | 1 |
_______________________________________________________

NANDNOR 는 보편적이며 어디에서나 원하는 논리 연산을 구축하는 데 사용할 수 있습니다. 다른 연산자는 프로그래밍 언어로 제공되어 쉽게 읽고 쓸 수있는 코드를 만들 수 있습니다.

또한 회로에서 하드 와이어가 필요한 모든 논리 연산도 NAND 또는 NOR 전용 IC를 사용하여 개발됩니다.


예, 부울 대수에 따르면 모든 부울 함수는 최소 항의 합 또는 최대 항의 곱으로 표현 될 수 있으며 표준 정규형 이라고 합니다 . 이러한 논리가 컴퓨터 과학에 사용 된 동일한 연산자에 적용될 수없는 이유는 없습니다.

https://en.wikipedia.org/wiki/Canonical_normal_form

참고 URL : https://stackoverflow.com/questions/33155331/are-and-operators-sufficient-to-make-every-possible-logical-expression

반응형