SlideShare una empresa de Scribd logo
1 de 34
10. 논리와 스위치
                       CODE
The Hidden Language of Computer Hardware and Software




                                                             김지훈
                                                             아꿈사
                                                        2013. 01. 26.
논리의 탐구
CODE




         2
아리스토텔레스

       모든 인간은 죽는다.

      소크라테스는 인간이다.

     따라서 소크라테스도 죽는다.




                       3
찰스 도즈슨

         모든 철학자는 논리적이다.

   논리적이지 않은 사람은 항상 옹고집이다.

         철학자는 옹고집이 아니다?



                            4
조지 부울 (1815-1864)
 부울대수
 논리를 수학으로 표현하려는 시도
 발상의 전환




                      5
부울 대수
CODE




        6
기존의 대수학
에냐는 1킬로그램의 두부를 가지고 있습니다.             A=1
베티는 에냐보다 2배 많은 두부를 가지고 있습니다.         B=2xA
카르멘은 베티보다 2킬로그램 많은 두부를 가지고 있습니다.     C=B+2
디어드라는 카르멘보다 3배 많은 두부를 가지고 있다고 할 때,   D=3xC
디어드라가 가지고 있는 두부의 양은 얼마일까요.           D=?




                                             7
기존의 대수학
에냐는 1킬로그램의 두부를 가지고 있습니다.             A=1
베티는 에냐보다 2배 많은 두부를 가지고 있습니다.         B=2xA
카르멘은 베티보다 2킬로그램 많은 두부를 가지고 있습니다.     C=B+2
디어드라는 카르멘보다 3배 많은 두부를 가지고 있다고 할 때,   D=3xC
디어드라가 가지고 있는 두부의 양은 얼마일까요.           D=?     D = 3 x (B + 2)
                                             D = 3 x ((2 x A) + 2)
                                             D = 3 x ((2 x 1) + 2)
                                             D = 12            8
대수학의 법칙

          A + B = B + A

          A x B = B x A

     A + (B + C) = (A + B) + C

     A x (B x C) = (A x B) x C

     A x (B + C) = (A x B) + (A x C)
                                       9
부울 대수


대수학은 숫자에 대해 연산을 수행

부울대수는 집합에 대해 연산을 수행




                      10
고양이의 종류

 수컷       암컷


 검정색      갈색       흰색


 중성화 함    중성화 안함



                        11
부울 대수의 연산




            12
부울 대수의 연산




            13
부울 대수의 연산




    W + (B x F) = (W + B) x (W + F)

    W x (B + F) = (W x B) + (W x F )

                                       14
부울 대수의 연산

           A + B = B + A

           A x B = B x A

     A + (B + C) = (A + B) + C

      A x (B x C) = (A x B) x C

        일반적인 대수와 동일
                                  15
부울 대수의 연산

       1은 전체 집합을 의미

          M + F = 1

       T + B + W + O = 1

            N + U = 1

            1 – M = F

                           16
부울 대수의 연산

     0은 아무 것도 포함하지 않는 집합

            M x F = 0

            1 x F = F

            0 x F = 0

            0 + F = F

                           17
부울 대수의 연산

            1 + F = 1
        F + (1 – F) = 1
        F x (1 – F) = 0
            F x F = F
             X2 = X
            F + F = F
                          18
M
모든 인간은 죽는다.            PxM=P
                   P



               P
소크라테스는 인간이다.           SxP=S
                   S




                               19
M
모든 인간은 죽는다.                  PxM=P
                   P



               P
소크라테스는 인간이다.                  SxP=S
                   S

                           S x (P x M) = S
               M
                           (S x P) x M = S
소크라테스는 죽는다.                   SxM=S
                       S



                                             20
부울 대수의 연산
“중성화된 수컷 고양인데, 하얀색이나 갈색이었으면 좋겠어요.
 아니면 중성화된 암컷 고양이에 하얀색만 아니면 괜찮을 것 같아요.
음… 검정 고양이면 아무거나 괜찮을 것 같기도 하네요.”


           (M x N x (W + T)) + (F x N x (1 – W)) + B

             중성화 되지 않은 수컷 갈색 고양이?


            (1 x 0 x (0 + 1)) + (0 x 0 x (1 – 0)) + 0


                                                        21
부울 대수의 연산
     중성화 되지 않은 수컷 갈색 고양이?
         U      M T

     (M x N x (W + T)) + (F x N x (1 – W)) + B

      (1 x 0 x (0 + 1)) + (0 x 0 x (1 – 0)) + 0




                                                  22
부울 대수의 연산

      0x0=0   X   0   1
      0x1=0
              0   0   0
      1x0=0
      1x1=1   1   0   1



      0+0=0   +   0   1
      0+1=1
              0   0   1
      1+0=1
      1+1=1   1   1   1



                          23
부울 대수의 연산

                                            X   0   1
(1 x 0 x (0 + 1)) + (0 x 0 x (1 – 0)) + 0
                                            0   0   0
= (1 x 0 x 1) + (0 x 0 x 1) + 0             1   0   1

=0+0+0
=0                                          +   0   1

                                            0   0   1

                                            1   1   1



                                                        24
부울 대수의 연산
중성화된 회색 암컷 고양이?                             X   0   1

     N       O      F                       0   0   0

(M x N x (W + T)) + (F x N x (1 – W)) + B   1   0   1


(0 x 1 x (0 + 0)) + (1 x 1 x (1 – 0)) + 0
                                            +   0   1
= (0 x 1 x 0) + (1 x 1 x 1) + 0
                                            0   0   1
=0+1+0                                      1   1   1

=1
                                                        25
다시 회로를 만들어 봅시다.
CODE




                  26
AND




      AND   0   1

       0    0   0

       1    0   1


                    27
OR




     OR   0   1

     0    0   1

     1    1   1

                  28
(M x N x (W + T)) + (F x N x (1 – W)) + B




                                            29
중성화 안된 수컷 갈색 고양이
  U     M  T




                   30
중성화된 암컷 흰색 고양이
  N   F  W




                 31
중성화된 회색 암컷 고양이
  N   W  F




                 32
중성화된 회색 암컷 고양이
  N   W  F




                 33
결론




     부울 대수는 전기 회로로 표현 할 수 있다.




                                34

Más contenido relacionado

Destacado

Doing data science Chapter 9
Doing data science Chapter 9Doing data science Chapter 9
Doing data science Chapter 9Ji Hun Kim
 
Python packaging
Python packagingPython packaging
Python packagingJi Hun Kim
 
Foods to Eat in White Discharge in Hindi Iवाइट डिस्चार्ज में क्या खाएI
Foods to Eat in White Discharge in Hindi Iवाइट डिस्चार्ज में क्या खाएIFoods to Eat in White Discharge in Hindi Iवाइट डिस्चार्ज में क्या खाएI
Foods to Eat in White Discharge in Hindi Iवाइट डिस्चार्ज में क्या खाएIHerbal Daily
 
김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법성훈 김
 
Windbg랑 친해지기
Windbg랑 친해지기Windbg랑 친해지기
Windbg랑 친해지기Ji Hun Kim
 
Arduino 소개, RC카 만들기
Arduino 소개, RC카 만들기Arduino 소개, RC카 만들기
Arduino 소개, RC카 만들기Ji Hun Kim
 

Destacado (6)

Doing data science Chapter 9
Doing data science Chapter 9Doing data science Chapter 9
Doing data science Chapter 9
 
Python packaging
Python packagingPython packaging
Python packaging
 
Foods to Eat in White Discharge in Hindi Iवाइट डिस्चार्ज में क्या खाएI
Foods to Eat in White Discharge in Hindi Iवाइट डिस्चार्ज में क्या खाएIFoods to Eat in White Discharge in Hindi Iवाइट डिस्चार्ज में क्या खाएI
Foods to Eat in White Discharge in Hindi Iवाइट डिस्चार्ज में क्या खाएI
 
김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법
 
Windbg랑 친해지기
Windbg랑 친해지기Windbg랑 친해지기
Windbg랑 친해지기
 
Arduino 소개, RC카 만들기
Arduino 소개, RC카 만들기Arduino 소개, RC카 만들기
Arduino 소개, RC카 만들기
 

Más de Ji Hun Kim

Learning Node Book, Chapter 5
Learning Node Book, Chapter 5Learning Node Book, Chapter 5
Learning Node Book, Chapter 5Ji Hun Kim
 
High performance networking in chrome
High performance networking in chromeHigh performance networking in chrome
High performance networking in chromeJi Hun Kim
 
Api design for c++ 6장
Api design for c++ 6장Api design for c++ 6장
Api design for c++ 6장Ji Hun Kim
 
읽기 좋은 코드가 좋은 코드다 Part one
읽기 좋은 코드가 좋은 코드다   Part one읽기 좋은 코드가 좋은 코드다   Part one
읽기 좋은 코드가 좋은 코드다 Part oneJi Hun Kim
 

Más de Ji Hun Kim (7)

Ninja
NinjaNinja
Ninja
 
Learning Node Book, Chapter 5
Learning Node Book, Chapter 5Learning Node Book, Chapter 5
Learning Node Book, Chapter 5
 
High performance networking in chrome
High performance networking in chromeHigh performance networking in chrome
High performance networking in chrome
 
Api design for c++ 6장
Api design for c++ 6장Api design for c++ 6장
Api design for c++ 6장
 
Code 25장
Code 25장Code 25장
Code 25장
 
Code 17장
Code 17장Code 17장
Code 17장
 
읽기 좋은 코드가 좋은 코드다 Part one
읽기 좋은 코드가 좋은 코드다   Part one읽기 좋은 코드가 좋은 코드다   Part one
읽기 좋은 코드가 좋은 코드다 Part one
 

Code 10장

  • 1. 10. 논리와 스위치 CODE The Hidden Language of Computer Hardware and Software 김지훈 아꿈사 2013. 01. 26.
  • 3. 아리스토텔레스 모든 인간은 죽는다. 소크라테스는 인간이다. 따라서 소크라테스도 죽는다. 3
  • 4. 찰스 도즈슨 모든 철학자는 논리적이다. 논리적이지 않은 사람은 항상 옹고집이다. 철학자는 옹고집이 아니다? 4
  • 5. 조지 부울 (1815-1864)  부울대수  논리를 수학으로 표현하려는 시도  발상의 전환 5
  • 7. 기존의 대수학 에냐는 1킬로그램의 두부를 가지고 있습니다. A=1 베티는 에냐보다 2배 많은 두부를 가지고 있습니다. B=2xA 카르멘은 베티보다 2킬로그램 많은 두부를 가지고 있습니다. C=B+2 디어드라는 카르멘보다 3배 많은 두부를 가지고 있다고 할 때, D=3xC 디어드라가 가지고 있는 두부의 양은 얼마일까요. D=? 7
  • 8. 기존의 대수학 에냐는 1킬로그램의 두부를 가지고 있습니다. A=1 베티는 에냐보다 2배 많은 두부를 가지고 있습니다. B=2xA 카르멘은 베티보다 2킬로그램 많은 두부를 가지고 있습니다. C=B+2 디어드라는 카르멘보다 3배 많은 두부를 가지고 있다고 할 때, D=3xC 디어드라가 가지고 있는 두부의 양은 얼마일까요. D=? D = 3 x (B + 2) D = 3 x ((2 x A) + 2) D = 3 x ((2 x 1) + 2) D = 12 8
  • 9. 대수학의 법칙 A + B = B + A A x B = B x A A + (B + C) = (A + B) + C A x (B x C) = (A x B) x C A x (B + C) = (A x B) + (A x C) 9
  • 10. 부울 대수 대수학은 숫자에 대해 연산을 수행 부울대수는 집합에 대해 연산을 수행 10
  • 11. 고양이의 종류 수컷 암컷 검정색 갈색 흰색 중성화 함 중성화 안함 11
  • 14. 부울 대수의 연산 W + (B x F) = (W + B) x (W + F) W x (B + F) = (W x B) + (W x F ) 14
  • 15. 부울 대수의 연산 A + B = B + A A x B = B x A A + (B + C) = (A + B) + C A x (B x C) = (A x B) x C 일반적인 대수와 동일 15
  • 16. 부울 대수의 연산 1은 전체 집합을 의미 M + F = 1 T + B + W + O = 1 N + U = 1 1 – M = F 16
  • 17. 부울 대수의 연산 0은 아무 것도 포함하지 않는 집합 M x F = 0 1 x F = F 0 x F = 0 0 + F = F 17
  • 18. 부울 대수의 연산 1 + F = 1 F + (1 – F) = 1 F x (1 – F) = 0 F x F = F X2 = X F + F = F 18
  • 19. M 모든 인간은 죽는다. PxM=P P P 소크라테스는 인간이다. SxP=S S 19
  • 20. M 모든 인간은 죽는다. PxM=P P P 소크라테스는 인간이다. SxP=S S S x (P x M) = S M (S x P) x M = S 소크라테스는 죽는다. SxM=S S 20
  • 21. 부울 대수의 연산 “중성화된 수컷 고양인데, 하얀색이나 갈색이었으면 좋겠어요. 아니면 중성화된 암컷 고양이에 하얀색만 아니면 괜찮을 것 같아요. 음… 검정 고양이면 아무거나 괜찮을 것 같기도 하네요.” (M x N x (W + T)) + (F x N x (1 – W)) + B 중성화 되지 않은 수컷 갈색 고양이? (1 x 0 x (0 + 1)) + (0 x 0 x (1 – 0)) + 0 21
  • 22. 부울 대수의 연산 중성화 되지 않은 수컷 갈색 고양이? U M T (M x N x (W + T)) + (F x N x (1 – W)) + B (1 x 0 x (0 + 1)) + (0 x 0 x (1 – 0)) + 0 22
  • 23. 부울 대수의 연산 0x0=0 X 0 1 0x1=0 0 0 0 1x0=0 1x1=1 1 0 1 0+0=0 + 0 1 0+1=1 0 0 1 1+0=1 1+1=1 1 1 1 23
  • 24. 부울 대수의 연산 X 0 1 (1 x 0 x (0 + 1)) + (0 x 0 x (1 – 0)) + 0 0 0 0 = (1 x 0 x 1) + (0 x 0 x 1) + 0 1 0 1 =0+0+0 =0 + 0 1 0 0 1 1 1 1 24
  • 25. 부울 대수의 연산 중성화된 회색 암컷 고양이? X 0 1 N O F 0 0 0 (M x N x (W + T)) + (F x N x (1 – W)) + B 1 0 1 (0 x 1 x (0 + 0)) + (1 x 1 x (1 – 0)) + 0 + 0 1 = (0 x 1 x 0) + (1 x 1 x 1) + 0 0 0 1 =0+1+0 1 1 1 =1 25
  • 26. 다시 회로를 만들어 봅시다. CODE 26
  • 27. AND AND 0 1 0 0 0 1 0 1 27
  • 28. OR OR 0 1 0 0 1 1 1 1 28
  • 29. (M x N x (W + T)) + (F x N x (1 – W)) + B 29
  • 30. 중성화 안된 수컷 갈색 고양이 U M T 30
  • 31. 중성화된 암컷 흰색 고양이 N F W 31
  • 32. 중성화된 회색 암컷 고양이 N W F 32
  • 33. 중성화된 회색 암컷 고양이 N W F 33
  • 34. 결론 부울 대수는 전기 회로로 표현 할 수 있다. 34

Notas del editor

  1. 그럼 우선 논리가 어떻게 발전해갔는지 볼텐데요
  2. 우선 아리스토텔레스의 삼단 논법이예요아리스토텔레스는 논리란 진리를 다루는 것. 이라 생각해서이렇게 진리를 탐구하는데 논리적인 접근을 했다고 해요.
  3. 후에 또다른 철학자는 이런 삼단 논법을 제시했어요
  4. 그러 다가 조지 부울 이라는 사람이 나타납니다.생각의 법칙 : 논리를 수학으로 나타낼수 있다면 인간의 뇌의 활동도 수학적으로 해석할 수 있을 것.
  5. 대수학 : 뭐가 많고 뭐가 적음을 나타냄부울 : 어떠한 종류들이 있는가에 관심
  6. 그래서 부울대수의 연산에 대해 알아 볼텐데요문제는 부울대수의 연산을 우리가 이미 다 알아요.그래서 좀 재밌게 해 볼라고 그림을 만들어 봤습니다.
  7. 여기서 볼 수 있는 건더하기 연산자를 더 추상화 시켰음
  8. O = other
  9. F x (1 – F) = 0: 모순의 법칙. 자신과 자기자신과 반대되는것에 모두 속할 수 없음
  10. 사람에 죽음이 포함되어 있다는 말이니깐,사람은 죽는단 뜻이 되겠죠소크라테스 집합과 죽는 모든것의 집합간의 교집합은 S이고, 이건 S가 M에 속한다는 말이니깐 소크라테스는 죽는다는 것을 의미
  11. 사람에 죽음이 포함되어 있다는 말이니깐,사람은 죽는단 뜻이 되겠죠소크라테스 집합과 죽는 모든것의 집합간의 교집합은 S이고, 이건 S가 M에 속한다는 말이니깐 소크라테스는 죽는다는 것을 의미
  12. 책에 보면 애완동물 가게 얘기가 나오는데요.이걸 들은 판매원은 아마 수학을 전공했나봐요.
  13. 책에 보면 애완동물 가게 얘기가 나오는데요.이걸 들은 판매원은 아마 수학을 전공했나봐요.
  14. 부울 대수는 전기 회로로 표현 할 수 있다. 라는게 이장에서 설명하고자 하는 핵심이에요.