728x90
반응형

전자공학/이산수학 7

논리적 추론과 증명

우선 증명이란 가정에서 논리적 법칙을 이용하여 결론을 이끌어내는 것을 말한다. 이 때 추론이 참이면 진위(valid) 추론이라 하고, 추론이 거짓이면 허위(fallacious) 추론이라 한다. 근데 증명을 대부분 어떻게 하느냐?? 논리 함축 P → Q 를 증명하는 것이 대부분이다. 그래서 어떻게 해야하느냐?? 우선 2가지 방법이다. 1. 직접 증명 방법 : 진리를 근거로 논리 함축 P→Q를 직접 증명하는 것 2. 간접 증명 방법 : 논리적 동치를 이용하거나 다른 특수한 방법으로증명하는 것 직접 증명이 3가지 정도가 있다. 접근하기는 쉽다. 접근하기 쉽다고는 했지만 실제로 증명이 될지는 나도 모르겠다 ㅋㅋ (1) P→Q의 vacuous 증명 방법 P가 거짓이라 하면 P→Q는 항상 참이다. 그래서 P→Q가 ..

논리적 추론 ++

이 글을 바탕으로 확장해보자 새로운 용어도 살짝 배워보고 그러자 역, 이, 대우에 대해서 설명하지 않았는데 P → Q에 대해서 1. Q → P를 역(converse)이라 한다. 2. ¬Q → ¬P를 대우(contrapositive)라 한다. 3. ¬P → ¬Q를 이(inverse)라고 한다. 논리 함축에서 역, 이, 대우가 나왔다. 단어들이 약간 어렵지만 알아둬야하는 사항이다. ++상식인듯 또한 명제에도 종류가 있다. 1. 항진 명제 2. 모순 명제 3. 사건 명제 1. 항진 명제(tautology) 항상 참의 진리값을 가지는 명제 2. 모순 명제(contradiction) 항상 거짓의 진리값을 가지는 명제 3. 사건 명제(contingency) 항진 명제나 모순 명제가 아닌 나머지 명제들 이것 또한 알..

연산자 우선순위표, 논리 연산자 우선순위, 합성 명제 진리표[이산수학]

오늘은 논리 연산자 우선순위를 알아볼 것인데요. 또 코딩을 하나 할 것입니다. 합성논리연산 식을 넣었을 때 연산 결과가 바로 나오는 식 ++ 3가지 변수만 해놨고 더 하고싶으면 더 수정해서 하면 된다. 을 근데 이거 만드는데 1시간 넘게걸림... 오타를 못찾아서.. ㅠㅠㅠㅠㅠ C언어 가장 힘들 때가 오타 너무 라인이 길어져서 오타가 어딨는지 모르겠는거... 이거 만들면서 객체지향 너무 하고싶었어 ㅠㅠ 연산자 우선순위표를 쓰는 이유를? 알아보려고 합니다. 1. 합성 명제에 대해서 진리표 작성하려면 우선 순위 결정 2. 괄호는 가독성 떨어짐 3. 연산자 우선순위표 사용하면 가독성 올라감 다 각설하고 바로 본론으로 들어갑시다. 논리 연산자들의 순위는 전에도 봤지만 연산자 우선순위표를 미리 만들어봤습니다. 왼쪽..

논리적 추론, 논리연산자,진리표 [이산수학]

논리적 추론이란 것을 알기 위해서는 용어부터 알아야 하지 않겠어? 정의(definition) 용어의 뜻을 명확히 하기 위해서 사용되는 것 *무정의 정의: 정의하지 않고 사용할 수 있는 일반적인 용어 문장(statement) 무정의 용어와 정의된 용어를 사용하여 만듦 명제(proposition) = prop 참이나 거짓 중 단 하나만 갖는 문장을 말한다. ** 대문자 P,Q,R로 많이 표현되고는 한다. 명제를 배우면 파생되는 용어들이 있지 진리값(truth value) 참과 거짓을 명제의 진리값이라 한다. **각각 T(또는 1), F(또는 0) 으로 표시한다 명제 변수(propositional variable) 진리값이 아직 밝혀지지 않은 임의의 명제 위에 것은 수학이랑 좀 달라보이는 감이 없잖아 있다. ..

배수판별, 소수판별, 에라토스테네스의 체 C언어로 구현

1. 배수판별 프로그래밍 +++ q의 범위를 고치고 싶다면?? 어떠한 수라도 몫을 알고싶다면? 사실 q가 int로 되어있는 이상 q = m/n을 넣는다면 q는 몫이 됩니다. ㅎㅎ 저렇게 굳이 만들필요는 없지만, 정수의 성질을 알아보기 위한 프로그래밍입니다. 2. 소수 판별 프로그래밍 ++ 잘 돌아가네요. 저기 4.58 seconds가 얼마나 올라가는지 측정해보고 더 좋은 알고리즘을 만들 수도 있겠죠. 3. 에라토스테네스의 체 프로그래밍 소수를 걸러내는 방식입니다. 2가지를 생각해볼 수 있는데 첫 번째 방법은 2번의 소수판별을 메서드로 바꿔서 소수만 출력하게 하는 것. 두 번째 방법은 특정한 범위가 있다면 ex)50 까지의 소수 배열을 이용해서 확인하는 것. 첫 번째 방법도 범위를 입력받아서 작동하게해도 ..

자연수와 정수의 정의 그리고 활용

자연수라는 것은 무엇일까? 수건 5장을 보면 무엇이 생각날까? 아마도 숫자 5가 생각 날것이다. 5는 수건 5개에 추상화된 개념을 생각해낸 것이다. 그렇다면 5는 무엇일까? 4 보다 하나 더 큰 수, 그렇다면 4는? 그렇게 내려가서 1은? 이러한 접근을 공리적인 접근 방식이라고 하고 공리적인 방법은 기본 항과 공리들을 가지고 정의한다. *공리(axiom): 증명없이 참이라고 받아들이는 명제 자연수에 대한 공리 1. 1은 자연수 2. 각각 자연수는 오직 하나의 successor를 가진다 3. 1은 어떠한 자연수의 successor가 아니다 4. 만약 succ(x) = succ(y) 이면 x=y이다. 5. 만약 M이 다음을 만족하는 자연수들의 부분집합이면, M은 모든 자연수들의 집합이다. 1) 1는 M의 원..

이산수학, 왜 배워야 하는가?

대학교에 들어오면 공대라면 대부분 들을 법한 수업 수학, 수학에는 선형대수, 미적분학, 이산수학, 공학수학, 등 무지 많다. 그 중에 프로그래밍을 한다면 이산수학을 배워야 한다고 한다. 왜 그럴까? 우선 흔히 하는 말이 컴퓨터는 수학의 확장이기에 수학을 배워야 한다고 한다. 그렇다면 수학 중 왜 이산수학일까? 프로그래밍은 논리의 연속이라고 한다. 즉 이산수학을 배우는 이유는 컴퓨터에 필요한 논리적사고, 이산수학적인 사고와 내용을 익히기 위함이다. 그렇다면 이산수학을 배울 때 어떻게 배워야 프로그래밍과 함께 배울 수 있을까? 내가 아는 논리를, 알고리즘을 프로그래밍하면서 배울 수 있겠다. 이산수학의 응용 분야로는 프로그래밍 언어, 알고리즘, 자료구조, 컴파일러 디자인, 오토마타 이론, 데이터베이스 설계 및..

728x90
반응형