본문 바로가기
지식/이산수학

[이산수학] 1.1 명제 논리

by 천무지 2019. 3. 20.
반응형

 

 

이산수학입니다.

 

이 포스팅은 명제논리 입니다.

 

명제를 다루는 분야를 명제 논리라고 합니다.

 

 


 

일단 먼저 명제가 뭔지 알아야 겠죠.

 

명제란, 또는 거짓을 가릴 수 있는 문장 입니다.

명제의 진리값이 참이면 T, 거짓이면 F로 표현합니다.

 

예를 들어보겠습니다.

1. 2 + 3 = 1

2. 1 + 3 = 4

3. 대한민국의 수도는 서울이다.

 

여기서 2 와 3 은 참인 명제, 1 은 거짓인 명제 입니다.

 

 

또한 명제가 아닌 문장들을 보겠습니다.

 

1. 지금 몇 시야?

2. 슈퍼가서 콜라 좀 사와

3. x + 3 = 5

 

명령문과 의문문은 명제가 될 수 없기 때문에 1과 2는 명제가 될 수 없습니다.

 

또한 3 도 명제가 아닙니다. 하지만 만약 x = 2 라는 값이 주어진다면 명제가 될 수 있습니다.

 

 

여기서 x는 명제를 표현 하는 변수로 명제 변수 라고 합니다.

 


 

이번엔 명제의 부정 입니다.

 

p 라는 명제가 있으면 그의 부정은 p 라고 표현 합니다. 읽기는 'not p' 라고 읽습니다.

 

 p p 
 T
 F

 


 

 

논리곱논리합도 알아보겠습니다.

 

p와 q라는 명제가 있으면 p와 q의 논리곱은 p  q 로 표현하고 논리합은 p ∨ q로 표현합니다.

 

p q  q p ∨ q
T
T T T
T F F T
F T F T
F F F F

 


논리곱은 명제 p와 q가 있을때 둘 다 참일 때만 참이고 그 외의 경우에는 모두 거짓이 됩니다.

 

논리합은 명제 p와 q가 있을때 둘 다 거짓일 때만 거짓이고 그 외의 경우에는 모두 참이 됩니다.

 

또한 논리곱은 p and q 라고도 표현하며, 논리합은 p or q라고도 표현합니다.

 

or 은 '포괄적 or' 와 '배타적 or' 가 있는 '포괄적 or' 위에서 살펴 본 논리합을 뜻합니다.

 

'배타적 or' 은 명제 p 와 q 가 있을때, 두 값이 같으면 거짓이 되고, 두값이 다르면 참이 됩니다.

 

'베타적 or'을 기호로 표현하면 p  q  로 표현 합니다.

 

p q p  q
T T F
T F T
F T T
F F F

 

 


 

조건문 입니다.

 

조건문은 명제 p 와 q 가 있으면 p → q 로 나타냅니다. 영어로는 'if p then q' 라고 합니다.

 

p 를 가정 이라 하고 q를 결론 이라고 합니다.

 

만약 p 했을 때 q 라는 뜻을 가집니다.

 

그래서 p 가 참이고 q 가 참이면 참, q 가 거짓이면 거짓입니다.

 

하지만 p 가 거짓일 때는 q 의 값에 상관없이 참인 값을 가집니다.

 

애초에 p 가 거짓일 전제가 없기 때문에 q 가 무슨 짓을 해도 결과는 참이라고 약속을 한 겁니다.

 

 


 

역, 대우, 이 입니다.

 

역과 대우는 고등학교 때 배우는데 이는 처음 들을 겁니다.

 

이 부분은 설명 보단 그림으로 설명하는게 쉬울거 같아서 그림으로 설명하고 넘어가겠습니다.

 

 

 

직접 쓴 겁니다. 이해 해주세요.

 


 

블로그 처음하는거 참 힘드네요...

 

상호 조건문 입니다.

 

상호 조건문은 명제 p 와 q가 있으면 p  q 로 표현하고, 영어로 하면 'if p and only if q' 입니다.

 

그리고 p 와 q 가 동일한 값을 가지면 참이고 두 값이 다르면 거짓입니다.

 

 p q  q
T T T
T F F
F T F
F F T

 


 

논리연산자 우선순위 입니다.

 

이건 뭐 딱히 없어요. 

 

우리가 초등학교 때 배운 (   ) , + , * 있으면 (   ) , * , + 순으로 하는 것처럼 그냥 순서입니다.

 

연산자 우선순위
( ) 1
2
3
4
5
6

 


 

오늘의 마지막 입니다.

 

후...

 

비트연산 입니다.

 

비트(bit)는 이진수(binary digit)에서 따온 말 입니다.

 

이진수에서 따왔기 때문에 0 과 1로 나타냅니다.

 

관례적으로 1은 참 0은 거짓입니다.

 

비트 문자열은 0개 이상의 비트를 가지고 있는 비트열을 말합니다.

 

비트 문자열의 길이라 하면 문자열을 구성하는 비트의 수를 말하면 됩니다.

 

그리고 비트연산을 할수 있는데 같은 길이의 두 문자열 끼리만 됩니다.

 

연산은 같은 자리끼리 하면 됩니다.

 

∧,  를 비트별 AND, 비트별 OR, 비트별 XOR 연산기호로 사용합니다.

 

01 1101 0110

10 1110 1011

---------------

00 1100 0010   비트별 AND

11 1111 1111   비트별 OR

11 0011 1101   비트별 XOR

 

 

이런 식으로 계산 합니다. 같은 자리끼리

 

 

 

 

참.. 힘드네요.

 

띵가띵가 하면서 하긴 했는디

 

다음 시간에 계ㅔㅔㅔㅔ속

 

 

 

 

 

 

 

 

반응형