4λ³μ μμ λμΉν¨μμ μκ° ν¨ν΄ λΆλ₯μ Hamming Weight μΈ΅ ꡬ쑰λ₯Ό μ΄μ©ν ν΄μ
μΉ΄λ₯΄λ Έλ§΅(Karnaugh Map)μ μΌλ°μ μΌλ‘ λ Όλ¦¬ν¨μμ μ΅μνλ₯Ό μν λκ΅¬λ‘ μ¬μ©λλ©°, κ΅μ‘ νμ₯μμλ SOP λ° POS ννμ κ°μν κ³Όμ μ μ΄μ μ λ§μΆμ΄ μ€λͺ λλ κ²½μ°κ° λ§λ€. κ·Έλ¬λ μ€μ μΉ΄λ₯΄λ Έλ§΅μλ 체컀보λ ν¨ν΄, μ΄μ€λκ° ν¨ν΄, κ³ λ¦¬ ν¨ν΄ λ± λ€μν μκ°μ κ΅¬μ‘°κ° λνλλ©°, μ΄λ¬ν ꡬ쑰λ λ¨μν λ°°μ΄ κ²°κ³Όκ° μλλΌ Boolean ν¨μμ ꡬ쑰μ νΉμ±μ λ°μν κ°λ₯μ±μ΄ μλ€.
λ³Έ μ°κ΅¬μμλ 4λ³μ μΉ΄λ₯΄λ Έλ§΅μ λνλλ μμ λμΉν¨μ(Symmetric Boolean Function)μ μκ° ν¨ν΄μ λΆμνκ³ , μ΄λ₯Ό Hamming Weight κΈ°λ° Layer ꡬ쑰μ κ΄μ μμ ν΄μνμλ€. νΉν Exactly-k ν¨μμ XOR/XNOR ν¨μλ₯Ό λμμΌλ‘ Gray Code λ°°μ΄(0132)κ³Ό μΌλ° μ΄μ§ λ°°μ΄(0123)μ λΉκ΅νμ¬ μκ° ν¨ν΄κ³Ό ꡬ쑰μ νΉμ±μ κ΄κ³λ₯Ό λΆμνμλ€.
λΆμ κ²°κ³Ό, Exactly-0 λ° Exactly-4 ν¨μλ μ ν¨ν΄(Point Pattern), Exactly-1 λ° Exactly-3 ν¨μλ λͺ¨μ리 ν¨ν΄(Corner Pattern), Exactly-2 ν¨μλ κ³ λ¦¬ ν¨ν΄(Ring Pattern)μ νμ±νμλ€. λν XOR λ° XNOR ν¨μλ λ°°μ΄ λ°©μμ λ°λΌ 체컀보λ ν¨ν΄(Checkerboard Pattern) λλ μ΄μ€λκ° ν¨ν΄(Double-Diagonal Pattern)μΌλ‘ ννλμλ€. νΉν XOR 체컀보λλ νμ Layer μ ν ꡬ쑰μ Gray Code λ°°μ΄μ μΈμ μ± λ³΄μ‘΄ μ±μ§μ΄ κ²°ν©λμ΄ νμ±λλ νμμΌλ‘ ν΄μν μ μμμ νμΈνμλ€.
λ³Έ μ°κ΅¬λ μμ λμΉν¨μλ₯Ό νΉμ Layer λλ Layer μ§ν©μ μ ννλ ν¨μλ‘ ν΄μν μ μμμ 보μ΄λ©°, μΉ΄λ₯΄λ Έλ§΅μ μκ° ν¨ν΄μ΄ Layer ꡬ쑰μ λ°°μ΄ λ°©μμ μνΈμμ© κ²°κ³Όλ‘ μ΄ν΄λ μ μμμ μ μνλ€. μ΄λ₯Ό ν΅ν΄ μΉ΄λ₯΄λ Έλ§΅μ λ¨μν λ Όλ¦¬ μ΅μν λκ΅¬κ° μλλΌ Boolean 곡κ°μ ꡬ쑰λ₯Ό μκ°μ μΌλ‘ νννλ λκ΅¬λ‘ ν΄μνλ μλ‘μ΄ κ΄μ μ μ μνλ€.
μΉ΄λ₯΄λ Έλ§΅μ λμ§νΈ λ Όλ¦¬νλ‘ μ€κ³μμ λ Όλ¦¬μμ μ΅μννκΈ° μν λνμ μΈ λκ΅¬λ‘ μ¬μ©λλ€. μΌλ°μ μΈ κ΅μ‘ κ³Όμ μμλ μΉ΄λ₯΄λ Έλ§΅μ μΈμ μ μ κ·Έλ£Ήννμ¬ SOP(Sum of Products) λλ POS(Product of Sums) ννμ μ΅μ λ Όλ¦¬μμ λμΆνλ λ°©λ²μ μ€μ¬μΌλ‘ μ€λͺ νλ€.
κ·Έλ¬λ μ€μ μΉ΄λ₯΄λ Έλ§΅μ κ΄μ°°νλ©΄ λ¨μν κ·Έλ£Ήν μ΄μμ λ€μν μκ°μ κ΅¬μ‘°κ° μ‘΄μ¬νλ€. νΉν XOR λ° XNOR ν¨μμ κ²½μ° μΌλ°μ μΈ μ§μ¬κ°ν κ·Έλ£Ήκ³Όλ λ€λ₯Έ 체컀보λ ννμ ν¨ν΄μ΄ λνλλ€. λν λ°°μ΄ λ°©μμ λ°λΌ λμΌν λ Όλ¦¬ν¨μκ° μ²΄μ»€λ³΄λ, λκ°μ , μ΄μ€λκ°μ λ± μλ‘ λ€λ₯Έ μκ°μ κ΅¬μ‘°λ‘ ννλ μ μλ€.
κΈ°μ‘΄μ μΉ΄λ₯΄λ Έλ§΅ κ΅μ‘μ μ΄λ¬ν μκ°μ ꡬ쑰μ λν μ€λͺ 보λ€λ μ΅μν μ μ°¨μ μ§μ€νλ κ²½ν₯μ΄ μμΌλ©°, XOR/XNOR ν¨ν΄ μμ μμΈμ μΈ μ¬λ‘λ‘ κ°λ¨ν μκ°λκ±°λ λ³λμ μ€λͺ μμ΄ λμ΄κ°λ κ²½μ°κ° λ§λ€. κ·Έ κ²°κ³Ό νμ΅μλ μΉ΄λ₯΄λ Έλ§΅μ λ¨μ κ³μ° λκ΅¬λ‘ μΈμνκ² λλ©°, μΉ΄λ₯΄λ Έλ§΅μ΄ λ΄ν¬νκ³ μλ ꡬ쑰μ μλ―Έλ₯Ό μΆ©λΆν μ΄ν΄νκΈ° μ΄λ ΅λ€.
λ³Έ μ°κ΅¬μ λͺ©μ μ μΉ΄λ₯΄λ Έλ§΅μ λνλλ μκ°μ ν¨ν΄μ 체κ³μ μΌλ‘ λΆλ₯νκ³ , μ΄λ¬ν ν¨ν΄μ΄ Boolean ν¨μμ ꡬ쑰μ μ΄λ ν κ΄κ³λ₯Ό κ°μ§λμ§ νꡬνλ λ° μλ€.
νΉν XOR/XNOR ν¨μμ λνλλ 체컀보λ ν¨ν΄κ³Ό μμ λμΉν¨μμ λνλλ λ€μν ν¨ν΄μ λΉκ΅ λΆμνμ¬, μκ° ν¨ν΄μ΄ λ¨μν λ°°μ΄ κ²°κ³Όκ° μλλΌ ν¨μμ ꡬ쑰μ νΉμ±μ λ°μνλ νμμμ νμΈνκ³ μ νλ€.
λν Hamming Weight κ΄μ μ λμ νμ¬ κ° ν¨μλ₯Ό Boolean 곡κ°μ Layer κ΅¬μ‘°λ‘ ν΄μνκ³ , μΉ΄λ₯΄λ Έλ§΅μ μκ° ν¨ν΄μ΄ μ΄λ¬ν ꡬ쑰μ 2μ°¨μ ννμΌλ‘ μ΄ν΄λ μ μμμ 보μ΄κ³ μ νλ€.
λ³Έ μ°κ΅¬λ 4λ³μ μΉ΄λ₯΄λ Έλ§΅μ λμμΌλ‘ μννμλ€. 4λ³μ μΉ΄λ₯΄λ Έλ§΅μ μ΄ 16κ°μ μ λ ₯ μνλ₯Ό ν¬ν¨νλ©°, XOR/XNOR ν¨ν΄κ³Ό λ€μν λμΉ κ΅¬μ‘°λ₯Ό κ°μ₯ μ§κ΄μ μΌλ‘ κ΄μ°°ν μ μλ κ·λͺ¨μ΄λ€.
μ°κ΅¬ λ°©λ²μ λ€μκ³Ό κ°λ€.
첫째, μμ λμΉν¨μ μ€ Exactly-k ν¨μμ XOR/XNOR ν¨μλ₯Ό μ μ νμ¬ μΉ΄λ₯΄λ Έλ§΅ ν¨ν΄μ λΆμνμλ€.
λμ§Έ, Gray Code λ°°μ΄(0132)κ³Ό μΌλ° μ΄μ§ λ°°μ΄(0123)μ κ°κ° μ μ©νμ¬ νν λ°©μμ λ°λ₯Έ ν¨ν΄ λ³νλ₯Ό λΉκ΅νμλ€.
μ μ§Έ, Hamming Weightλ₯Ό κΈ°μ€μΌλ‘ Boolean 곡κ°μ Layer κ΅¬μ‘°λ‘ λΆλ₯νκ³ , κ° ν¨μκ° μ ννλ Layerμ μΉ΄λ₯΄λ Έλ§΅ ν¨ν΄ μ¬μ΄μ κ΄κ³λ₯Ό λΆμνμλ€.
λ·μ§Έ, μκ°μ λμΉ, μκ°μ λμΌ, 체컀보λ ν¨ν΄, μ΄μ€λκ° ν¨ν΄ λ±μ κ°λ μ μ μνκ³ μ΄λ₯Ό μ΄μ©νμ¬ ν¨ν΄μ λΆλ₯νμλ€.
μΉ΄λ₯΄λ
Έλ§΅μ Boolean ν¨μλ₯Ό μκ°μ μΌλ‘ νννμ¬ λ
Όλ¦¬μμ μ΅μνλ₯Ό μννκΈ° μν λꡬμ΄λ€. 4λ³μ μΉ΄λ₯΄λ
Έλ§΅μ μ΄ 16κ°μ μ
λ‘ κ΅¬μ±λλ©°, κ° μ
μ μ
λ ₯ λ³μ
μΌλ°μ μΈ μ§λ¦¬νλ μ΄μ§μ μμμ λ°λΌ μνλ₯Ό λ°°μ΄νμ§λ§, μΉ΄λ₯΄λ Έλ§΅μ μΈμ ν μνκ° νλμ λ³μλ§ λ€λ₯΄λλ‘ λ°°μΉλλ€. μ΄λ₯Ό ν΅ν΄ μΈμ μ μ κ·Έλ£Ήννμ¬ λ Όλ¦¬μμ κ°λ¨νκ² ννν μ μλ€.
κΈ°μ‘΄ μ°κ΅¬μ κ΅μ‘μμλ μ΄λ¬ν μ΅μν κΈ°λ₯μ μ£Όλͺ©νλ κ²½μ°κ° λ§λ€. κ·Έλ¬λ μΉ΄λ₯΄λ Έλ§΅μ λ¨μν κ³μ° λꡬλ₯Ό λμ΄ Boolean 곡κ°μ ꡬ쑰λ₯Ό μκ°μ μΌλ‘ νννλ λꡬλ‘λ ν΄μν μ μλ€. λ³Έ μ°κ΅¬μμλ μΉ΄λ₯΄λ Έλ§΅μ Boolean 곡κ°μ 2μ°¨μ ννμΌλ‘ κ°μ£Όνκ³ , κ·Έ μμ λνλλ μκ° ν¨ν΄μ λΆμ λμμΌλ‘ μΌλλ€.
κ·Έλ¦Ό 1. 4λ³μ μΉ΄λ₯΄λ Έλ§΅μμ μ¬μ©λλ Gray Code λ°°μ΄(0132)μ ꡬ쑰. μΈμ ν μ μ΄ νμ νλμ λ³μλ§ λ€λ₯΄λλ‘ λ°°μΉλμ΄ μμΌλ©°, Boolean 곡κ°μ μΈμ μ± κ΅¬μ‘°λ₯Ό 보쑴νλ€.
4λ³μ μΉ΄λ₯΄λ
Έλ§΅μ νκ³Ό μ΄μ μΌλ°μ μΌλ‘ Gray Code μμμΈ 00, 01, 11, 10μΌλ‘ λ°°μ΄λλ€. μ΄ λ°°μ΄ λ°©μμ μΈμ ν λ μνκ° μ νν νλμ λΉνΈλ§ λ€λ₯΄λλ‘ μ€κ³λμ΄ μμΌλ©°, μΈμ μν μ¬μ΄μ Hamming Distanceκ° νμ 1μ΄ λλ€λ μ±μ§μ κ°μ§λ€. λ³Έ μ°κ΅¬μμλ μ΄λ₯Ό 0132 λ°°μ΄μ΄λΌ λΆλ₯Έλ€.
λ°λ©΄ μΌλ°μ μΈ μ΄μ§μ μμμΈ 00, 01, 10, 11μ 0123 λ°°μ΄μ΄λΌ λΆλ₯Έλ€.
λμΌν Boolean ν¨μλΌλ λ°°μ΄ λ°©μμ λ°λΌ μλ‘ λ€λ₯Έ μκ° ν¨ν΄μ΄ λνλ μ μλ€. μλ₯Ό λ€μ΄ XOR ν¨μλ 0132 λ°°μ΄μμλ 체컀보λ ν¨ν΄μΌλ‘, 0123 λ°°μ΄μμλ μ΄μ€λκ° ν¨ν΄μΌλ‘ ννλλ€. λ°λΌμ μΉ΄λ₯΄λ Έλ§΅μ μκ° ν¨ν΄μ μ΄ν΄νκΈ° μν΄μλ ν¨μλΏ μλλΌ λ°°μ΄ λ°©μλ ν¨κ» κ³ λ €ν νμκ° μλ€.
Boolean ν¨μκ° λ³μμ μμμ 무κ΄νκ² λμΌν μΆλ ₯μ μ μ§νλ κ²½μ° μ΄λ₯Ό **μμ λμΉν¨μ(Symmetric Boolean Function)**λΌ νλ€. μλ₯Ό λ€μ΄
μμ λμΉν¨μλ κ° λ³μμ μμΉλ³΄λ€ μ λ ₯μ ν¬ν¨λ 1μ κ°μμ μν΄ μΆλ ₯μ΄ κ²°μ λλ κ²½μ°κ° λ§λ€. λ³Έ μ°κ΅¬μμλ μ λ ₯ μνμ Hamming Weightλ₯Ό λ€μκ³Ό κ°μ΄ μ μνλ€.
μ¬κΈ°μ
4λ³μ Boolean 곡κ°μ μ΄ 16κ°μ μνλ‘ κ΅¬μ±λλ€. λ³Έ μ°κ΅¬μμλ μ΄ κ³΅κ°μ Hamming Weightλ₯Ό κΈ°μ€μΌλ‘ λ€μ― κ°μ Layerλ‘ λΆλ₯νλ€.
| Layer | Weight ( |
μν μ |
|---|---|---|
| 0 | 1 | |
| 1 | 4 | |
| 2 | 6 | |
| 3 | 4 | |
| 4 | 1 |
ν 1. 4λ³μ Boolean 곡κ°μ Layer ꡬ쑰. κ° μΈ΅μ μν μλ
μ΄ κ΅¬μ‘°λ νμ€μΉΌ μΌκ°νμ κ³μ
κ·Έλ¦Ό 2. 4λ³μ Boolean 곡κ°μ Hamming Weightμ λ°λΌ Layerλ‘ λΆλ₯ν κ²°κ³Ό. κ° Layerμ μν μλ
μμ λμΉν¨μλ νΉμ Layer λλ Layer μ§ν©μ μ ννλ ν¨μλ‘ μ΄ν΄ν μ μλ€.
| ν¨μ | μ ν Layer |
|---|---|
| Exactly-$k$ | |
| XOR | |
| XNOR |
μ΄λ¬ν κ΄μ μμ μΉ΄λ₯΄λ Έλ§΅μ μκ° ν¨ν΄μ Layer μ ν κ²°κ³Όμ 2μ°¨μ ννμΌλ‘ ν΄μν μ μλ€. λ³Έ μ°κ΅¬λ λ€μ ν΄μ νμ μ¬μ©νλ€.
μ¦ Layer ꡬ쑰λ ν¨μμ λ³Έμ§μ νΉμ±μ λνλ΄λ©°, μκ° ν¨ν΄μ κ·Έ κ΅¬μ‘°κ° νΉμ λ°°μ΄ λ°©μ μμ ννλ κ²°κ³Όλ‘ ν΄μνλ€.
λ³Έ μ°κ΅¬μμλ μΉ΄λ₯΄λ Έλ§΅μ ꡬ쑰λ₯Ό λΆμνκΈ° μνμ¬ **μκ°μ λμΉ(Visual Symmetry)**μ κ°λ μ μ μνλ€. μκ°μ λμΉμ΄λ νΉμ μΆμ λνμ¬ μΉ΄λ₯΄λ Έλ§΅μ λ°μ¬νμμ λ λμλλ μμΉμ κ°μ΄ λμΌνκ² μ μ§λλ μ±μ§μ μλ―Ένλ€.
-
μΈλ‘μΆ λμΉ:
$F(a, b) = F(a, 5-b)$ -
κ°λ‘μΆ λμΉ:
$F(a, b) = F(5-a, b)$ -
μ£Όλκ°μ λμΉ:
$F(a, b) = F(b, a)$
**μκ°μ λμΌ(Visual Repetition)**μ μκ°μ λμΉκ³Ό ꡬλ³λλ κ°λ μ΄λ€. μκ°μ λμΌμ΄λ νΉμ λΆλΆ ν¨ν΄μ΄ λ°λ³΅μ μΌλ‘ λνλλ νμμ μλ―Ένλ€. μκ°μ λμΉμ΄ λ°μ¬ κ΄κ³λ₯Ό μλ―Ένλ€λ©΄, μκ°μ λμΌμ λ°λ³΅ κ΄κ³λ₯Ό μλ―Ένλ€. λ°λΌμ λ κ°λ μ λ 립μ μΌλ‘ μ‘΄μ¬ν μ μλ€.
**체컀보λ ν¨ν΄(Checkerboard Pattern)**μ μΈμ ν μ μ κ°μ΄ νμ μλ‘ λ°λκ° λλ ν¨ν΄μ μλ―Ένλ€.
0 1 0 1
1 0 1 0
0 1 0 1
1 0 1 0
Gray Code λ°°μ΄μμλ μΈμ μ μ΄ μ νν νλμ λ³μλ§ λ€λ₯΄λ―λ‘, XOR ν¨μμ κ²½μ° μΈμ μ μ΄λ μ μΆλ ₯μ΄ λ°λμ λ°μ λλ€. λ³Έ μ°κ΅¬μμλ 체컀보λ ν¨ν΄μ **μΈμ μ± κΈ°λ° ν¨ν΄(adjacency-based pattern)**μΌλ‘ λΆλ₯νλ€.
μΌλ° μ΄μ§ λ°°μ΄(0123)μμ XOR ν¨μλ₯Ό νννλ©΄ λ€μκ³Ό κ°μ ν¨ν΄μ΄ λνλλ€.
0 1 1 0
1 0 0 1
1 0 0 1
0 1 1 0
μ΄ ν¨ν΄μ μ£Όλκ°μ κ³Ό λΆλκ°μ λͺ¨λμ λν λμΉμ±μ λμμ κ°μ§λ€. λ³Έ μ°κ΅¬μμλ μ΄λ₯Ό **μ΄μ€λκ° ν¨ν΄(Double-Diagonal Pattern)**μ΄λΌ μ μνλ€.
Exactly-2 ν¨μλ Weightκ° μ νν 2μΈ μνλ§ μ ννλ€. μ΄λ₯Ό Gray Code κΈ°λ° 0132 λ°°μ΄μ λ°°μΉνλ©΄ μ νλ μνλ€μ΄ μ€μ¬ μμμ λλ¬μΈλ λ (band) ννμ μ°κ²° ꡬ쑰λ₯Ό νμ±νλ€. μΈκ°μ μ΄λ¬ν ꡬ쑰λ₯Ό νλμ ν곑μ λλ κ³ λ¦¬μ μ μ¬ν ννλ‘ μΈμν μ μλ€. λ³Έ μ°κ΅¬μμλ μ΄λ₯Ό **κ³ λ¦¬ ν¨ν΄(Ring Pattern)**μ΄λΌ μ μνλ€.
λ³Έ μ°κ΅¬μμ κ΄μ°°λ μ£Όμ μκ° ν¨ν΄μ λ€μκ³Ό κ°μ΄ λΆλ₯ν μ μλ€.
| ν¨ν΄ | λν ν¨μ | μ ν Layer |
|---|---|---|
| μ ν¨ν΄ (Point Pattern) | Exactly-0, Exactly-4 |
|
| λͺ¨μ리 ν¨ν΄ (Corner Pattern) | Exactly-1, Exactly-3 |
|
| κ³ λ¦¬ ν¨ν΄ (Ring Pattern) | Exactly-2 | |
| 체컀보λ ν¨ν΄ (0132 λ°°μ΄) | XOR, XNOR |
|
| μ΄μ€λκ° ν¨ν΄ (0123 λ°°μ΄) | XOR, XNOR |
|
ν 2. μΉ΄λ₯΄λ Έλ§΅μ λνλλ μκ° ν¨ν΄ λΆλ₯ 체κ³. λΆλ₯ κΈ°μ€μ λ Όλ¦¬μμ΄ μλ μΉ΄λ₯΄λ Έλ§΅ μμ λνλλ μκ°μ ꡬ쑰μ΄λ€.
λ³Έ μ°κ΅¬μμλ Hamming Weightλ§μΌλ‘ μΆλ ₯μ΄ κ²°μ λλ λ€μ μμ λμΉν¨μλ€μ λΆμ λμμΌλ‘ μ μ νμλ€: Exactly-0, Exactly-1, Exactly-2, Exactly-3, Exactly-4, XOR, XNOR. μ΄ ν¨μλ€μ λͺ¨λ Weight μΈ΅ ꡬ쑰μ μ§μ μ μΌλ‘ μ°κ²°λλ©°, Layer κΈ°λ° ν΄μμ΄ κ°λ₯νλ€.
Exactly-0 ν¨μλ λͺ¨λ μ
λ ₯μ΄ 0μΈ κ²½μ°μλ§ μΆλ ₯μ΄ 1μ΄ λλ€. μ¦
κ·Έλ¦Ό 3. Exactly-0 ν¨μμ μΉ΄λ₯΄λ Έλ§΅ νν. Weight = 0 μνλ§ μ νλλ―λ‘ νλμ μ (Point Pattern)μΌλ‘ λνλλ€.
Exactly-1 ν¨μλ μ
λ ₯ μ€ μ νν νλλ§ 1μΈ κ²½μ° μΆλ ₯μ΄ 1μ΄ λλ€. μ¦
κ·Έλ¦Ό 4. Exactly-1 ν¨μμ μΉ΄λ₯΄λ Έλ§΅ νν. Weight = 1 μν λ€ κ°κ° μ νλλ©° λͺ¨μ리 λ°©ν₯μΌλ‘ λΆμ°λ ꡬ쑰λ₯Ό νμ±νλ€.
Exactly-2 ν¨μλ Weightκ° μ νν 2μΈ μνλ§ μ ννλ€. μ¦
μ΄λ₯Ό 0132 λ°°μ΄μ λ°°μΉνλ©΄ μ νλ μ
λ€μ΄ μ°κ²°λ λ ννλ₯Ό νμ±νλ©°, μΈκ°μ μ΄λ₯Ό νλμ ν곑μ λλ κ³ λ¦¬μ μ μ¬ν ννλ‘ μΈμνλ€. λ°λΌμ Exactly-2μ κ³ λ¦¬ ν¨ν΄μ
κ·Έλ¦Ό 5. Exactly-2 ν¨μμ μΉ΄λ₯΄λ Έλ§΅ νν. Weight = 2 μν μ¬μ― κ°κ° Gray Code λ°°μ΄ μμμ μ°κ²°λ λ ννλ₯Ό νμ±νλ©°, μκ°μ μΌλ‘ κ³ λ¦¬(Ring Pattern)μ κ°κΉμ΄ κ΅¬μ‘°λ‘ μΈμλλ€.
Exactly-3 ν¨μλ
κ·Έλ¦Ό 6. Exactly-3 ν¨μμ μΉ΄λ₯΄λ Έλ§΅ νν. Weight = 3 μνκ° μ νλλ©° Exactly-1κ³Ό λμλλ λͺ¨μ리 ν¨ν΄μ νμ±νλ€.
Exactly-4 ν¨μλ λͺ¨λ μ
λ ₯μ΄ 1μΈ κ²½μ°μλ§ μΆλ ₯μ΄ 1μ΄ λλ€. μ¦
κ·Έλ¦Ό 7. Exactly-4 ν¨μμ μΉ΄λ₯΄λ Έλ§΅ νν. Weight = 4 μνλ§ μ νλλ©° Exactly-0κ³Ό λμλλ μ ν¨ν΄μ νμ±νλ€.
XOR ν¨μλ Weightκ° νμμΈ μνμμ μΆλ ₯μ΄ 1μ΄ λλ€. μ¦
- 0132 λ°°μ΄: 체컀보λ ν¨ν΄μ΄ λνλλ€.
- 0123 λ°°μ΄: μ΄μ€λκ° ν¨ν΄μ΄ λνλλ€.
μ΄λ λμΌν Layer κ΅¬μ‘°κ° λ°°μ΄ λ°©μμ λ°λΌ μλ‘ λ€λ₯Έ μκ° ν¨ν΄μΌλ‘ ννλ μ μμμ 보μ¬μ€λ€. κ·Έλ¬λ λ κ²½μ° λͺ¨λ λμΌν νμ Layer μ ν ꡬ쑰λ₯Ό κΈ°λ°μΌλ‘ νλ―λ‘, ν¨ν΄μ κ·Όλ³Έ μμΈμ Layer ꡬ쑰μ μλ€κ³ ν΄μν μ μλ€.
κ·Έλ¦Ό 8. Gray Code λ°°μ΄μμ ννν XOR ν¨μ. μΈμ ν μ μ κ°μ΄ νμ λ°λκ° λλ―λ‘ μ²΄μ»€λ³΄λ ν¨ν΄μ΄ νμ±λλ€.
κ·Έλ¦Ό 9. μΌλ° μ΄μ§ λ°°μ΄(0123)μμ ννν XOR ν¨μ. 체컀보λ ꡬ쑰λ μ¬λΌμ§λ©° μ£Όλκ°μ κ³Ό λΆλκ°μ λμΉμ λμμ κ°μ§λ μ΄μ€λκ° ν¨ν΄μ΄ λνλλ€.
XNOR ν¨μλ Weightκ° μ§μμΈ μνμμ μΆλ ₯μ΄ 1μ΄ λλ€. μ¦
- 0132 λ°°μ΄: XOR 체컀보λμ λ°μ ννλ‘ λνλλ€.
- 0123 λ°°μ΄: XORκ³Ό λμλλ μ΄μ€λκ° ν¨ν΄μ΄ λνλλ€.
κ·Έλ¦Ό 10. Gray Code λ°°μ΄μμ ννν XNOR ν¨μ. XOR 체컀보λμ 보μ ꡬ쑰μ ν΄λΉνλ€.
κ·Έλ¦Ό 11. μΌλ° μ΄μ§ λ°°μ΄μμ ννν XNOR ν¨μ. XORμ 보μ κ΅¬μ‘°λ‘ λνλλ μ΄μ€λκ° ν¨ν΄μ΄λ€.
λΆμ κ²°κ³Ό μμ λμΉν¨μμ μκ° ν¨ν΄μ λ€μκ³Ό κ°μ΄ μ 리ν μ μλ€.
| ν¨μ | μ ν Layer | μν μ | μκ° ν¨ν΄ |
|---|---|---|---|
| Exactly-0 | 1 | μ ν¨ν΄ | |
| Exactly-1 | 4 | λͺ¨μ리 ν¨ν΄ | |
| Exactly-2 | 6 | κ³ λ¦¬ ν¨ν΄ | |
| Exactly-3 | 4 | λͺ¨μ리 ν¨ν΄ | |
| Exactly-4 | 1 | μ ν¨ν΄ | |
| XOR | 8 | 체컀보λ / μ΄μ€λκ° | |
| XNOR | 8 | 체컀보λ / μ΄μ€λκ° |
ν 3. 4λ³μ μμ λμΉν¨μμ μκ° ν¨ν΄ λΆλ₯ κ²°κ³Ό. XORκ³Ό XNORμ ν¨ν΄μ λ°°μ΄ λ°©μμ λ°λΌ λ¬λΌμ§λ€.
μ΄ κ²°κ³Όλ μΉ΄λ₯΄λ Έλ§΅μ μκ° ν¨ν΄μ΄ λ¨μν λ°°μ΄ κ²°κ³Όκ° μλλΌ Layer ꡬ쑰μ νν λ°©μμ μνΈμμ©μ λ°μνλ€λ μ¬μ€μ μμ¬νλ€.
4λ³μ XOR ν¨μλ λ€μκ³Ό κ°μ΄ μ μλλ€.
λ°λΌμ XOR ν¨μλ
4λ³μ μΉ΄λ₯΄λ
Έλ§΅μ νκ³Ό μ΄μ 00, 01, 11, 10μ μμλ‘ λ°°μ΄λλ€. μ΄ λ°°μ΄μ ν΅μ¬ μ±μ§μ μΈμ ν λ μνκ° μ νν νλμ λΉνΈλ§ λ€λ₯΄λ€λ μ μ΄λ€. μ¦ μΈμ μν μ¬μ΄μ Hamming Distanceλ νμ 1μ΄λ€. λ³Έ μ°κ΅¬μμλ μ΄λ₯Ό Gray Code λ°°μ΄μ μΈμ μ± λ³΄μ‘΄ μ±μ§μ΄λΌ λΆλ₯Έλ€.
Boolean 곡κ°μμ νλμ λΉνΈκ° λ³κ²½λλ©΄ Hamming Weightλ λ°λμ 1λ§νΌ μ¦κ°νκ±°λ κ°μνλ€.
λ°λΌμ μΉ΄λ₯΄λ Έλ§΅μμ μΈμ ν λ μ μ νμ Weightμ νμ§μ±μ΄ λ°λμ΄λ€.
μ μ±μ§λ€μ κ²°ν©νλ©΄ XOR 체컀보λ ν¨ν΄μ νμ± κ³Όμ μ λ€μκ³Ό κ°μ΄ μ€λͺ ν μ μλ€.
λ°λΌμ 체컀보λ ν¨ν΄μ λ¨μν μκ°μ μ°μ°μ΄ μλλΌ Boolean 곡κ°μ κ΅¬μ‘°κ° 2μ°¨μ μΉ΄λ₯΄λ Έλ§΅ μμ ννλ ꡬ쑰μ κ²°κ³Όμ΄λ€.
κ·Έλ¦Ό 12. XOR ν¨μμ 체컀보λ ν¨ν΄ μμ± κ³Όμ . νμ Layer μ ν ꡬ쑰μ Gray Code λ°°μ΄μ μΈμ μ± λ³΄μ‘΄ μ±μ§μ΄ κ²°ν©λμ΄ μΈμ μ μΆλ ₯ λ°μ μ΄ λ°μνκ³ , κ·Έ κ²°κ³Ό 체컀보λ ν¨ν΄μ΄ νμ±λλ€.
XNOR ν¨μλ XOR ν¨μμ 보μλ‘μ
체컀보λ ν¨ν΄μ μμ λμΉν¨μμ μΌλ°μ νΉμ§μ΄ μλλ€. Exactly-k ν¨μλ€μ 체컀보λλ₯Ό νμ±νμ§ μλλ€. 체컀보λλ νμ Layer μ 체 λλ μ§μ Layer μ 체λ₯Ό μ ννλ ν¨λ¦¬ν°(parity) ꡬ쑰μμλ§ λνλλ νΉμν νμμ΄λ€.
λ°λΌμ 체컀보λ ν¨ν΄μ Boolean 곡κ°μ ν¨λ¦¬ν° κ΅¬μ‘°κ° Gray Code λ°°μ΄μ ν΅ν΄ μκ°μ μΌλ‘ ννλ κ²°κ³Όλ‘ ν΄μν μ μλ€.
μΉ΄λ₯΄λ Έλ§΅μ μκ° ν¨ν΄μ ν¨μ μ체μ μν΄μλ§ κ²°μ λμ§ μλλ€. λμΌν Boolean ν¨μλΌλ λ°°μ΄ λ°©μμ λ°λΌ μλ‘ λ€λ₯Έ μκ° κ΅¬μ‘°κ° λνλ μ μλ€. λ³Έ μ°κ΅¬μμλ XOR ν¨μμ Exactly-2 ν¨μλ₯Ό λ λ°°μ΄ λ°©μμΌλ‘ κ°κ° νννμ¬ λΉκ΅νμλ€.
XOR ν¨μλ νμ
0132 λ°°μ΄: Gray Codeμ μΈμ μ± λ³΄μ‘΄ μ±μ§μ μν΄ μ²΄μ»€λ³΄λ ν¨ν΄μ΄ νμ±λλ€. μΈμ μ λ‘ μ΄λ μ Weight νμ§μ±μ΄ λ°λμ λ°μ λλ―λ‘ XOR ν¨μμ μΆλ ₯μ΄ νμ λ°λκ° λλ€.
0123 λ°°μ΄: μΈμ μ±μ΄ Boolean 곡κ°μ μΈμ μ±κ³Ό μΌμΉνμ§ μμ 체컀보λ κ΅¬μ‘°κ° μ¬λΌμ§λ€. λμ XOR ν¨μμ λμΉ κ΅¬μ‘°κ° λλλ¬μ§λ©° μ΄μ€λκ° ν¨ν΄μ΄ λνλλ€.
μ¦ λμΌν XOR ν¨μκ° λ°°μ΄ λ°©μμ λ°λΌ μλ‘ λ€λ₯Έ μκ° κ΅¬μ‘°λ₯Ό νμ±νλ€.
Exactly-2 ν¨μλ νμ
0132 λ°°μ΄: Weight = 2 μνλ€μ΄ μ°κ²°λ λ ννλ₯Ό νμ±νλ©° κ³ λ¦¬ ν¨ν΄μΌλ‘ μΈμλλ€.
0123 λ°°μ΄: λμΌν μ¬μ― μνκ° λ€λ₯Έ μμΉμ λ°°μΉλλ©°, 0132μμ 보μ΄λ κ³ λ¦¬ ννλ μ½ν΄μ Έ λ³΄λ€ λΆμ°λ κ΅¬μ‘°λ‘ λνλλ€.
μ΄ κ²°κ³Όλ κ³ λ¦¬ ν¨ν΄μ΄
μκ° ν¨ν΄μ νλμ μμΈλ§μΌλ‘ κ²°μ λμ§ μλλ€.
| μμ | κ²°μ λ΄μ© |
|---|---|
| Layer ꡬ쑰 (ν¨μμ μ±μ§) | μ΄λ€ μνκ° μ νλλκ° |
| λ°°μ΄ λ°©μ (ννμ μ±μ§) | μ νλ μνλ€μ΄ νλ©΄μμ μ΄λ€ ννλ‘ λνλλκ° |
λ°λΌμ ν¨ν΄μ κ·Όλ³Έ μμΈμ Layer ꡬ쑰μ μμ§λ§, μΈκ°μ΄ κ΄μ°°νλ ꡬ체μ ννλ λ°°μ΄ λ°©μμ μν΄ κ²°μ λλ€.
Gray Code λ°°μ΄μ λ Όλ¦¬μ μ΅μνλ₯Ό μν΄ μ€κ³λ λ°°μ΄μ΄μ§λ§, λ³Έ μ°κ΅¬ κ²°κ³Όλ κ·Έ μ΄μμ μν μ μνν κ°λ₯μ±μ μμ¬νλ€. Gray Code λ°°μ΄μ Boolean 곡κ°μ μΈμ μ± κ΅¬μ‘°λ₯Ό 보쑴ν¨μΌλ‘μ¨ Layer ꡬ쑰μ ν¬ν¨λ μνλ€μ κ΄κ³λ₯Ό μκ°μ μΌλ‘ λλ¬λ΄κΈ° μ½κ² λ§λ λ€. μλ₯Ό λ€μ΄ XORμ 체컀보λ ν¨ν΄κ³Ό Exactly-2μ κ³ λ¦¬ ν¨ν΄μ λͺ¨λ Gray Code λ°°μ΄μμ λ λͺ ννκ² λνλλ€.
λ°λΌμ Gray Code λ°°μ΄μ Boolean κ³΅κ° κ΅¬μ‘°λ₯Ό μκ°μ μΌλ‘ νννλ μν λ μνν κ°λ₯μ±μ΄ μλ€.
λ³Έ μ°κ΅¬μμλ 4λ³μ μΉ΄λ₯΄λ Έλ§΅μ λνλλ μμ λμΉν¨μμ μκ° ν¨ν΄μ λΆμνκ³ , μ΄λ¬ν ν¨ν΄μ΄ Boolean 곡κ°μ Layer ꡬ쑰μ μ΄λ ν κ΄κ³λ₯Ό κ°μ§λμ§ νꡬνμλ€.
λΆμ κ²°κ³Ό μμ λμΉν¨μμ μκ° ν¨ν΄μ ν΄λΉ ν¨μκ° μ ννλ Layer ꡬ쑰μ μ§μ μ μΌλ‘ λμλ¨μ νμΈνμλ€. Exactly-0/4λ μ ν¨ν΄, Exactly-1/3μ λͺ¨μ리 ν¨ν΄, Exactly-2λ κ³ λ¦¬ ν¨ν΄μ νμ±νλ©°, XOR/XNORμ λ°°μ΄ λ°©μμ λ°λΌ 체컀보λ λλ μ΄μ€λκ° ν¨ν΄μΌλ‘ ννλλ€.
νΉν XOR 체컀보λ ν¨ν΄μ λ¨μν μκ°μ μ°μ°μ΄ μλλΌ νμ Layer μ ν ꡬ쑰μ Gray Code λ°°μ΄μ μΈμ μ± λ³΄μ‘΄ μ±μ§μ΄ κ²°ν©λμ΄ νμ±λλ ꡬ쑰μ κ²°κ³Όμμ νμΈνμλ€.
λν λμΌν Layer ꡬ쑰λ λ°°μ΄ λ°©μμ λ°λΌ μλ‘ λ€λ₯Έ μκ° ν¨ν΄μΌλ‘ ννλ μ μμμ 보μλ€. μ΄λ μκ° ν¨ν΄μ΄ ν¨μμ μ±μ§κ³Ό νν λ°©μμ μ±μ§μ΄ κ²°ν©λ κ²°κ³Όμμ μλ―Ένλ€.
λ³Έ μ°κ΅¬λ λ€μκ³Ό κ°μ νμμ κ°μ€μ μ μνλ€.
μΉ΄λ₯΄λ Έλ§΅μ μ£Όμ μκ° ν¨ν΄μ Boolean 곡κ°μ Layer κ΅¬μ‘°κ° νΉμ λ°°μ΄ λ°©μ μμ ν¬μλ κ²°κ³ΌμΌ μ μλ€.
λ§μ½ μ΄ κ°μ€μ΄ νλΉνλ€λ©΄, μ ν¨ν΄, λͺ¨μ리 ν¨ν΄, κ³ λ¦¬ ν¨ν΄, 체컀보λ ν¨ν΄ λ±μ μλ‘ λ 립μ μΈ νμμ΄ μλλΌ νλμ κ³΅ν΅ μλ¦¬λ‘ μ€λͺ λ μ μλ€. μ¦ μΉ΄λ₯΄λ Έλ§΅μ λ¨μν λ Όλ¦¬ μ΅μν λꡬλ₯Ό λμ΄ Boolean 곡κ°μ ꡬ쑰λ₯Ό μκ°μ μΌλ‘ νννλ λκ΅¬λ‘ μ¬ν΄μλ μ μλ€.
κ·Έλ¦Ό 13. λ³Έ μ°κ΅¬μμ μ μνλ ν΄μ λͺ¨ν. Boolean ν¨μλ νΉμ Layer ꡬ쑰λ₯Ό κ²°μ νλ©°, λ°°μ΄ λ°©μμ μ΄λ₯Ό μκ°μ μΌλ‘ νννλ€. μΈκ°μ΄ κ΄μ°°νλ μκ° ν¨ν΄μ λ μμμ μνΈμμ© κ²°κ³Όλ‘ ν΄μν μ μλ€.
ν₯ν μ°κ΅¬μμλ λ³μ μ¬λ°°μ΄μ λ°λ₯Έ ꡬ쑰 λΆλ³μ±, 5λ³μ μ΄μμ Boolean 곡κ°μ λν Layer λΆμ, κ·Έλ¦¬κ³ μΈκ°μ μκ°μ ꡬ쑰 μΈμ κ³Όμ κ³Όμ κ΄κ³ λ±μ νꡬν νμκ° μλ€.
[1] Karnaugh, M. (1953). "The Map Method for Synthesis of Combinational Logic Circuits." Transactions of the American Institute of Electrical Engineers, Part I: Communication and Electronics, 72(9), 593β599.
[2] Veitch, E. W. (1952). "A Chart Method for Simplifying Truth Functions." Proceedings of the ACM, 127β133.
[3] Gray, F. (1953). "Pulse Code Communication." U.S. Patent 2,632,058.
[4] Roth, C. H. Fundamentals of Logic Design. Cengage Learning.
[5] Mano, M. M. & Ciletti, M. D. Digital Design. Pearson.
[6] Hamming, R. W. (1950). "Error Detecting and Error Correcting Codes." Bell System Technical Journal, 29, 147β160.
[7] Wegener, I. (1987). The Complexity of Boolean Functions. John Wiley & Sons.
[8] Crama, Y. & Hammer, P. L. (2011). Boolean Functions: Theory, Algorithms, and Applications. Cambridge University Press.
[9] Stanley, R. P. Enumerative Combinatorics, Volume 1. Cambridge University Press.
[10] Knuth, D. E. The Art of Computer Programming, Volume 4A: Combinatorial Algorithms. Addison-Wesley.
λ³Έ μ°κ΅¬μμ μ μν μ ν¨ν΄(Point Pattern), λͺ¨μ리 ν¨ν΄(Corner Pattern), κ³ λ¦¬ ν¨ν΄(Ring Pattern), 체컀보λ ν¨ν΄(Checkerboard Pattern), μ΄μ€λκ° ν¨ν΄(Double-Diagonal Pattern)μ λΆλ₯ 체κ³μ Layer κΈ°λ° μκ° ν¨ν΄ ν΄μμ μ μμ λΆμ κ²°κ³Όμ κΈ°λ°ν νμμ ν΄μμ΄λ€. Layer ꡬ쑰 β λ°°μ΄ λ°©μ β μκ° ν¨ν΄μ΄λΌλ ν΄μ νκ³Ό XOR 체컀보λ ν¨ν΄μ Layer κΈ°λ° μ€λͺ μ κΈ°μ‘΄ μΉ΄λ₯΄λ Έλ§΅ μ΅μν μ€μ¬ κ΄μ μ λν 보μμ ν΄μμΌλ‘ μ μλλ€.












