명제 논리의 한계
- 주어와 술어를 구분하지 않고, 문장 전체를 하나의 명제로 다룸.
-> 한계점: 긴 문장에 대해서 간결성이 떨어짐
명제 논리문장 1. "학교 네트워크에 연결되어있는 A라는 컴퓨터가 정상적으로 동작한다."
명제 논리문장 2. "우리 학교네트워크에 연결된 컴퓨터중 외부침입자로부터 공격을 받는 컴퓨터가 존재한다. "
명제 함수
- 변수를 포함하는 문장
- 주어와 술어를 이용한 표현
주어는 "변수"로 표현하고,
술어에 속하는 문장은 "P, Q 등"으로 표현한다.
한정기호
- 한정화는 명제함수를 참으로 만드는 원소의 영역을 표현하는 것
- "모든, 어떤, 많은, 없는, 적은"등의 단어들이 한정화에 사용됨.
-> 한정기호는 명제 논리의 모든 논리 연산자보다 상위의 우선순의를 가짐.
전칭 한정기호
- 어떤 변수가 취할 수 있는 값 중, 특정 영역에 속하는 모든 (진리)값에 대하여 참
- 이때 특정 영역을 정의역 또는 논의 영역이라 함.
- 명제함수의 전칭 한정이란, "정의역에 속하는 모든 x값에 대하여 P(x)가 참"이라고 말하는 것
P(x) : 컴퓨터 x가 네트워크에 연결되어 있다. (정의역은 캠퍼스 내의 모든 컴퓨터라고 함.)
∀xP(x) : 캠퍼스내의 모든 컴퓨터 x에 대하여, 컴퓨터 x는 네트워크에 연결되어 있다.
존재 한정기호
- 어떤 특정한 영역에서의 원소의 진리 값이 하나 이상 참
- 명제함수의 존재 한정이란, "정의역에 속하는 원소 x 중에, 하나 이상의 x에 대하여 참일 경우 P(x)가 참"인 명제
P(x) : 소프트웨어학부 x 학생은 키가 170 이상이다. (정의역은 에리카 소프트웨어학부 22학번 학생이라고 가정한다.)
∃xP(x) : 소프트웨어학부 김동욱 학생은 키가 170이상이다.
유일 한정기호
- 전칭, 존재 한정기호를 이용하여 정의되어진 한정기호이다.
- 특정한 영역에 속하는 진리 값이 유일한 값에 대하여 참
∃! x (x - 1 = 0)의 진리값은?
x-1 = 0을 만족하는 유일한 실수 x=1이 존재하므로 참
유한 정의역을 가진 한정기호
- 한정기호의 정의역이 유한하면, 모든 원소들을 나열 할 수 있다.
한정된 문장을 명제 논리로 표현할 수 있다.
아래는 유한 정의역이므로, 명제 논리로 표현하는 모습이다.
제한된 정의역을 가진 한정기호
- 영역을 제한하여 특정한 영역에 대한 진리값을 찾을 수 있다.
- 한정기호의 정의역을 제한하기 위한 약식표현을 한정기호 다음에 표기한다.
구속 변수
- 변수 x에 한정기호가 적용되면, 이 변수를 구속변수라고 함.
- 한정기호가 적용되지 않거나, 값이 할당되어 있지 않으면 자유변수라 함.
명제가 되기 위해서는 명제 함수에 나타나는 모든 변수가 구속되거나 값이 할당되어야 함.
- ∃𝑥 (𝑥 + 𝑦 = 1) 에서 𝑥는 구속변수, 𝑦는 자유변수
- 동일한 변수라 할지라도 한정기호의 적용범위가 중첩되지 않으면 서로 다른 한정기호의 구속을 받음.
∃𝑥(𝑃(𝑥) ∧ 𝑄(𝑥)) ∨ ∀𝑥R(𝑥) 는 ∃𝑥( 𝑃(𝑥) ∧ 𝑄(𝑥) ) ∨ ∀y(y) 와 동일함
한정기호를 포함한 논리적 동치
- 주어진 논리표현에 대하여 술어가 대체되거나 명제함수에 포함된
변수의 정의역이 바뀌되더라도 동일한 진리값을 가질 때 술어와 한정기호가 포함된 논리표현이 논리적으로 동치라고한다.
- 논리적 동치 문장은 동일한 문장이라고 봐도되겠다.
진리 값이 같기 때문이다.
한정기호의 부정 -> 드모르간의 법칙
교실에 있는 모든 학생이 C언어 강의를 듣는 것은 아니다. ¬∀x P(x)
교실에는 C언어를 듣는 학생이 존재하지 않는다. ¬∃x Q(x)
교실에 있는 모든 학생은 C언어를 듣지 않는다. ∀x ¬Q(x)
문장을 논리표현으로 변환하기
- 자연어를 논리표현으로 바꾸기 (수학, 논리, 프로그래밍, 인공지능, 소프트웨어 공학 등 여러 분야에 쉽게 활용가능)
마무리하며,
자연어를 논리 표현으로 변환하기 위해선,
일일히 하나씩 판단해줘야함.
- 예외되는 상황을 일일히 판단해줘야 함.
그래서, 고려할 사항들이 많아서 어렵다고 교수님께서 말씀하심.
(예외처리의 일부임을 명심.)
"모든"에 대한 영역을 감안해야 되기에, "모든" 영역을 고려하는 논리 표현으로 변환해야 됨
결국, 논리 표현은 간결하게 만들기 위해 고안된 규칙이다.
그러니, 이 규칙을 이해하고, 받아드려 활용할 자세를 지니면 된다.
체계적으로 정리된 규칙이니, 잘 활용만 하는 것이 나의 임무다.
'CS 대학강의' 카테고리의 다른 글
[CS 1-2 | 대학생을 위한 실용금융] 금융의 주축, 금리 1주차 (0) | 2022.09.14 |
---|---|
[CS 1-2 | 시스템 프로그래밍 기초] 상수, 변수 2주차 (0) | 2022.09.13 |
프로그램 설계 방법론 -#01 [class 기초실행] (0) | 2022.09.08 |
프로그램 설계 방법론 -#02 [기초 클래스 구성] (0) | 2022.09.08 |
[CS 1-2 | 오픈소스 SW 기초] 오픈소스의 종류와 역사 1주차 (0) | 2022.09.08 |