[이산수학] 이산수학의 개요
이산수학이란?
이산적인 수학구조에 대해 연구하는 학문. 이산적 데이터를 처리하기 위해 필요함
이산수학을 배워야 하는 이유
- 컴퓨터 과학의 기초를 이해하기 위해
- 문제해결 방법을 모델링하는 과정을 이해하고 훈련하기 위해
- 수학적 논리전개 방법을 익히기 위해
- 새로운 개념을 체계화시키고 표현할 수 있는 역량을 함양하기 위해
이산수학의 개요
- 도구 : 정의, 정리
- 기법 : 가우스 소거법, 근의 공식 등
-
방법 : 상황에 따라 가장 효과적이고 효율적인 도구와 기법을 선택하는 것
-
문제해결 과정 : 문제 > 추상모델 > 변형모델 > 문제 해결책
추상화란?
문제와 관련된 핵심내용만 남기고, 관련없는 내용을 제거하여 문제를 단순화 시키는 과정
알고리즘과 표현
알고리즘 : 어떠한 문제를 해결하기 위한 여러 동작들의 유한한 모임
- 알고리즘의 표현 방법
- 컴퓨터 프로그래밍 언어
- 컴퓨터 작동을 위한 동작을 세밀하게 지시해야함
- 핵심요소가 잘 드러나지 않고, 중요하지 않은 부차적 표현에 신경써야 함
- 통일된 언어가 존재하지 않음
- 플로우 차트
- 알고리즘의 작동 방식을 도식화하는 장점
- 내용이 복잡하거나 프로그램의 크기가 클 경우 표현이 어려움
- 의사 코드
- 모호한 부분은 프로그래밍 언어의 문법을 채용하여 명확하게 기술
- 구체적으로 표현할 필요가 없는 부분은 자연어를 통해 설명식으로 기술
- 알고리즘의 작동방식을 설명 용도로만 사용
- C언어를 기반으로 하는 의사코드 사용
- 할당문(변수 선언 등) / 제어문(3가지 제어구조 : 순차문,조건문,반복문)
- 컴퓨터 프로그래밍 언어
이산수학의 응용분야
이산수학 주제와 연관된 컴퓨터 응용 분야
- 논리 : 전문가 시스템
- 증명 : 컴퓨터 프로그램의 효과성 및 효율성 입증
- 집합론 : 계산 이론, 데이터베이스 등
- 행렬 : 2차원 그래픽, 3차원 그래픽, 기계학습
- 관계 : 관계형 데이터 베이스
- 함수 : 컴퓨터 언어
- 부울대수 : 계산 이론, 디지털 논리회로
- 그래프 : 자연어 처리, 컴퓨터 네트워크
- 트리 : 자료 탐색, 컴퓨터 네트워크, 데이터베이스, 회로망 설계
- 조합이론 : 계산 이론
- 정수론 : 정보 보안
- 오토마타 및 형식언어 : 계산 이론, 문제 해결 가능성