티스토리 뷰
//이 자료는 Discrete mathmatics and its application 7th edition에서 나오는 예제를 간추린 것입니다. 저는 코딩에 관심 있는 학생이며, 타인의 지적재산을 단지 학습을 위해 사용할 뿐 개인의 금리적 이윤을 위한 상업적인 용도로 쓰지 않습니다. 만약 저작권 관련 문제가 될 시 즉시 문서를 삭제하겠습니다.//
1.1 명제 Proposition
예제 2. 아래의 문장들에 대해 생각해보세요
정답
문장 1과 2는 참 거짓을 가릴 수 없으므로 명제가 아닙니다. 문장 3과 4는 참 거짓 모두 아니기 때문에 명제가 아닙니다. 이런 경우 변수에 값을 할당하면 명제가 될 수 있습니다.
명제변수 proposition variable 명제논리 propositional calculus (propositional logic)
복합명제 compound propositions
수학에서 변수를 쓰는 것 처럼 명제를 표현하기위해 명제변수라는 것을 사용합니다. 명제변수로 자주 쓰이는 문자들은 p, q, r, s... 등입니다. 명제변수의 값이 참일 때는 true의 T를 거짓일 때는 false의 F를 통해 표현합니다.
명제를 다루는 논리영역을 명제논리라고 합니다. 이미 2300년보다 전, 그리스인 철학자 아리스토 텔레스에 의해 시스템적으로 개발되었습니다. 지금부터는 기존에 가지고 있는 명제들을 이용하여 새로운 명제들을 만들어 내는 방법에 대해 배울 것입니다. 이 방법은 영국 수학자 George Boole의 저서 The Laws of Thought에서 논의되었습니다. 많은 수학 명제들은 하나 이상의 명제들로 구성되어있습니다. 논리 연산자와 기존의 명제들을 이용하여 생성된 새로운 명제들을 복합명제라고 부릅니다.
예제 4. 아래 명제의 부정형을 답하시오.
정답
정의 2
정의 3
접속사 "또는"(영어로 or)은 논리곱에서 두 가지의 의미가 있는데 그 중 하나는 포괄적 또는(inclusive or)입니다. 논리곱은 두 명제중 하나만 참이여도 참입니다. 예를 들어, 포괄적 또는은 아래의 문장처럼 사용가능합니다.
"대학수학 또는 컴퓨터 과학을 수강하였던 학생들이 이 수업을 신청할 수 있습니다."
반면에 배타적 또는(exclusive or)는 아래와 같이 사용할 수 있습니다.
"대학수학 또는 컴퓨터 과학을 수강하였던 학생들이 이 수업을 신청할 수 있습니다. 단, 두 강의 모두 수강한 학생은 신청할 수 있습니다."
여기서는, 대학수학과 컴퓨터과학을 모두 수강한 학생들은 본 강의를 수강할 수 없다고 뜻합니다. 정확하게 두 강의 중 단 하나의 강의만을 수강한 학생들이 본 수업을 수강할 수 있습니다. 비슷하게는, 음식점의 메뉴판에 적혀있는 문장을 볼 때 "수프 또는 샐러드가 앙트레로 제공됩니다." 가 있습니다. 손님은 주 코스요리 사이에 나오는 앙트레를 수프 또는 샐러드로 선택할 수 있지만, 두 개 다는 선택할 수 없습니다. 이런 뜻이기에, 배타적인 또는입니다.
정의 5
선언문 p ->q는 p의 조건에 의해 q가 참임을 주장하기 때문에 조건문이라고 부릅니다. 조건문은 함의(implication)이라고도 불립니다. p -> q 조건문은 p와 q 모두 참일 때와 p가 거짓일 때 참입니다.
예로, 선거를 위해 많은 정치인들이 출마를 위해 내놓는 공약입니다.
"저가 당선이 되면, 저는 세금을 낮추겠습니다."
예제 7
정답
예제 8
if 2+2 = 4 then x := x+1
정답
2+2 = 4가 참이므로, 할당문은 수행됩니다. 그러므로 x의 값은 0에서 1 증가한 1이 됩니다.
CONVERSE, CONTRAPOSITIVE, AND INVERSE
p->q 조건문을 이용하여 새로운 조건문을 생성할 수 있습니다. q -> p는 p ->q의 converse라고 합니다. ~q -> ~p 는 p->q의 contrapositive라고 합니다. ~p->~q는 p->q의 inverse입니다.
p->q의 contrapositive인 ~q->~p는 항상 같은 진리값을 가집니다. 확인을 위해서, ~p가 거짓이고 ~q가 참일 때 contrapositive는 거짓입니다. 즉, p가 참이고 q가 거짓일 때입니다. 이제 converse인 q->p와 inverse인 ~p->~q 모두 p->q의 진리값과 다르다는 것을 볼 것입니다. p가 참이고 q가 거짓일 때, 기존 조건문은 거짓이지만 converse문과 inverse문은 둘 다 참입니다.
두 복합명제가 항상 같은 진리값을 가질 때, 조건문과 조건문의 contrapositive관계처럼, 그 둘을 같다라고 표현합니다.
예제 9
정답
상호조건
정의 6
p와 q를 명제라고 하자. 상호조건문 p<->q는 "q인 경우 p이고 p인 경우에 p이다"를 뜻하는 명제입니다. 상호조건문 p<->q는 p와 q가 같은 진리값을 가지고 있을 때 참이며 그 외에는 거짓입니다.
아래는 p<->q의 진리표입니다. p<->q는 p->q와 q->p가 모두 참인 경우에 참이며 반대의 경우 거짓입니다. 그래서 "if and only if" 를 쓰는 것과 ->, <-의 기호가 동시에 쓰입니다.
* q if p : p인 경우 q이다. * p only if q : p인 경우에 q이다. 그러므로 if and only if 입니다.
예제 10
p를 "당신은 비행기를 탈 수 있다", q를 "당신은 표를 구매한다"라고 하자. 그런경우 p<->q 문은 "당신이 표를 구매했을 때 비행기를 탈 수 있다 또는 비행기를 탈 수 있는 경우에 표를 구매한다 이다.
p와 q 모두 참이거나 거짓일 때 명제는 참입니다. 즉, 당신이 표를 구매한다면 비행기를 탈 수 있다 또는 티켓을 사지 않으면 비행기를 탈 수 없다 입니다. 반대로 복합명제는 p와 q가 반대의 진리값을 가질 때 거짓입니다. 즉, 티켓을 사지 않지만 당신은 비행기를 탈 수 있습니다 와 티켓을 샀지만 비행기를 탈 수 없습니다 인 경우입니다.
암묵적인 상호조건문의 사용
복합명제의 진리표
다음 복합 명제의 진리표를 그려라. (p v~q) -> (p ^ q)
정답
EXERCISE
퍼지논리는 인공지능에서 사용됩니다. 퍼지논리에서, 명제는 0과 1을 포함한 그 사이의 수가 진리값을 가집니다. 진리값 0을 가진 명제는 거짓이고 1을 가진 명제는 참입니다. 0과 1사이의 값은 다양한 수준의 진리값을 가집니다. 예로, 진리값 0.8은 다음 명제에 적용될 수 있습니다. "철수는 행복합니다." 프레드는 대부분 시간에 행복하기 때문입니다. 그리고 0.4의 진리값이 다음 명제에 적용될 수 있습니다. "존은 행복합니다." 존은 평소에 덜 행복하니까요. 45, 47 문제를 퍼지 논리 진리값을 이용해 풀어봅시다.
문제 45
퍼지논리에서 명제의 부정 진리값은 명제의 진리값에서 1을 뺀 것 입니다. "프레드는 행복하지 않습니다" 와 "존은 행복하지 않습니다" 의 진리값은 무엇인가요?
정답: "프레드는 행복하지 않습니다" 0.2, "존은 행복하지 않습니다" 0.6
문제 47
정답: "프레드는 행복하거나 존은 행복합니다." 0.8, "프레드는 행복하지 않거나 존은 행복하지 않습니다." 0.6
문제 49
정답: a) 99번째 명제가 참이며, 나머지는 거짓입니다. b)1부터 50개의 명제가 참이며 51부터 100번째가 거짓입니다. c)이 것은 패러독스이며 발생할 수 없습니다.
명제1: 1개의 명제가 거짓이다.
명제2: 2개의 명제가 거짓이다.
명제3: 3개의 명제가 거짓이다. ....생략....
명제99: 99개의 명제가 거짓이다.
명제100: 100개의 명제가 거짓이다.
그렇다면 (a) 명제 99만이 참이 될 수 있습니다. 명제 100이 참이 될 수는 없습니다. 패러독스입니다.
'Discrete mathmatics and Problem Solving > 1 논리' 카테고리의 다른 글
0 Introduction (0) | 2016.12.26 |
---|---|
1 기초: 논리와 증명 5 (0) | 2016.09.26 |
1 기초: 논리와 증명 4 (0) | 2016.09.17 |
1 기초: 논리와 증명 3 (0) | 2016.09.17 |
1 기초: 논리와 증명 2 (0) | 2016.09.12 |
- Total
- Today
- Yesterday
- 이산 수학
- 아레나시뮬레이션
- 자바스크립트 예제
- Discrete Mathematics
- rosen
- 엄청난 인내심과 시뮬레이션을 위한 아레나 툴
- Grafana
- Simulation
- 최단경로 알고리즘
- 아레나
- 자바스크립트
- 대규모 시스템 설계 기초
- 그라파나
- 데이터 중심 애플리케이션 설계
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 백준
- flutter
- paul wilton
- 로젠
- arena simulation
- Arena
- 항해99
- beginning javascript
- 명제논리
- 시뮬레이션
- 아레나 시뮬레이션
- grafana cloud
- javascript
- Propositional and Predicate Logic
- 이산수학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |