대수 정규형
Algebraic normal form부울 대수학에서 대수 정규 형식(ANF), 링섬 정규 형식(RSNF 또는 RNF), 절갈킨 정규 형식 또는 리드-뮬러 확장(Reed-Muller expansion)은 세 가지 보조 형식 중 하나로 논리적 공식을 작성하는 방법이다.
- 전체 공식은 순전히 참이거나 거짓이다.
- 1
- 0
- 하나 이상의 변수가 항으로 AND로 결합되고, 그 다음 하나 이상의 항이 ANF로 XOR로 결합된다. NOT는 허용되지 않는다.
- ⊕ b ab ab abc.
- 또는 표준 명제 논리 기호:
- 순전히 참된 용어를 사용한 이전 보조양식:
- 1 ⊕ a ⊕ b abc abc
Formulas written in ANF are also known as Zhegalkin polynomials (Russian: полиномы Жегалкина) and Positive Polarity (or Parity) Reed–Muller expressions (PPRM).[1]
공통 용법
ANF는 정상형식으로, 등가공식 두 개가 동일한 ANF로 변환된다는 뜻으로, 두 공식이 자동화된 정리증명을 위해 등가공식이 맞는지 쉽게 알 수 있다. 다른 정상 형태와 달리 변수 이름의 단순한 목록으로 나타낼 수 있다. 결막 및 이절 정규 형태도 각 변수의 부정 여부를 기록해야 한다. 부정 정상 형태는 평등을 등가관계로 사용하지 않기 때문에 그러한 목적에 적합하지 않다: ∨ ¬a는 동등하더라도 1과 같은 것으로 축소되지 않는다.
공식을 ANF에 넣으면 선형 함수(예: 선형 피드백 시프트 레지스터에서 사용됨)를 쉽게 식별할 수 있다. 선형 함수는 단일 리터럴의 합이다. 비선형 피드백 시프트 레지스터의 특성은 ANF의 피드백 기능의 특정 특성에서도 추론할 수 있다.
대수 정규 형식 내에서 연산 수행
ANF 결과를 얻기 위해 ANF 입력에 대해 표준 부울 연산을 수행하는 간단한 방법이 있다.
XOR(논리적 배타적 분리)은 다음과 같이 직접 수행된다.
- (1 ⊕ x) ⊕ (1 ⊕ x ⊕ y)
- 1 ⊕ x ⊕ 1 ⊕ x ⊕ y
- 1 ⊕ 1 ⊕ x ⊕ x ⊕ y
- y
NOT(논리적 부정)은 XORing 1:[2]
- ¬(1 ⊕ x ⊕ y)
- 1 ⊕(1 ⊕ x ⊕ y)
- 1 ⊕ 1 ⊕ x ⊕ y
- x ⊕ y
- (1 ⊕ x)(1 ⊕ x ⊕ y)
- 1(1 ⊕ x ⊕ y) ⊕ x(1 ⊕ x ⊕ y)
- (1 ⊕ x ⊕ y) ⊕ (x ⊕ x x x xy)
- 1 ⊕ x x x y x y y ⊕ xy
- 1 ⊕ x ⊕ y ⊕ xy
OR (논리적 구분)은 1 ⊕ (1 ⊕ a)(1 ⊕ a)(1 ⊕ b)[4] 또는 ⊕ b ab ab[5] (그렇지 않으면 더 쉽다) 중 하나를 사용한다.
- (1 ⊕ x) + (1 ⊕ x ⊕ y)
- 1⊕(1⊕ 1⊕ x)(1⊕ 1 1 x ⊕ y)
- 1 ⊕ x(x ⊕ y)
- 1⊕ x x x x xy
대수 정규 형식으로 변환
공식의 각 변수는 이미 순수 ANF에 있으므로 전체 공식을 ANF로 가져오려면 위에 표시된 공식의 부울 연산만 수행하면 된다. 예를 들면 다음과 같다.
- x + (y ⋅ ¬z)
- x + (y(1 ⊕ z)
- x + (y ⊕ yz)
- x ⊕ (y ⊕ yz) x (y ⊕ yz)
- x ⊕ y ⊕ xy ⊕ yz ⊕ xyz
형식적 표현
ANF는 때때로 동등한 방식으로 설명된다.
- 여기서 1,1,1, , { 0 ∗ ∗ {, 1 {0},1,2는 f f를 완전히 설명한다
다중 인수 부울 함수를 반복적으로 도출
하나의 인수를 갖는 함수는 네 가지뿐입니다.
여러 인수로 함수를 나타내기 위해 다음과 같은 동등성을 사용할 수 있다.
- , where
정말,
- = 0 이면 1 = 0 및 f (…)= ((0
- if then and so
및 은 (는 f {\보다 인수가 적기 때문에 이 프로세스를 반복적으로 사용하면 하나의 변수로 함수를 마칠 수 있다. 예를 들어, , y)= {\ y논리적 또는):
- ( , y)= y= y f y= f (,y) = y = y y = 1 y = 1
- 다음에 f( x, )= ( )
- 분포별로 최종 ANF:( , )= = x x x x { x { x { x { x { x {{ { { { { { { { { { { { { = = = = = = = { = = = { = = { { { { { { { {(
참고 항목
참조
- ^ Steinbach, Bernd; Posthoff, Christian (2009). "Preface". Logic Functions and Equations - Examples and Exercises (1st ed.). Springer Science + Business Media B. V. p. xv. ISBN 978-1-4020-9594-8. LCCN 2008941076.
- ^ WolframAlpha NOT 등가 시연: ¬a = 1⊕ a
- ^ WolframAlpha AND-equivalance 데모: (a c b)(c ac d) = ac ⊕ 광고 ⊕ bc ⊕ bd
- ^ 드 모건의 법칙으로부터
- ^ WolframAlpha OR 등가 시연: a + b = a ⊕ b ab ab
추가 읽기
- Wegener, Ingo (1987). The complexity of Boolean functions. Wiley-Teubner. p. 6. ISBN 3-519-02107-2.
- "Presentation" (PDF) (in German). University of Duisburg-Essen. Archived (PDF) from the original on 2017-04-20. Retrieved 2017-04-19.
- Maxfield, Clive "Max" (2006-11-29). "Reed-Muller Logic". Logic 101. EETimes. Part 3. Archived from the original on 2017-04-19. Retrieved 2017-04-19.