일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬 이중for문
- 파이썬 str
- 거듭제곱 계산
- 파이썬 while False
- 파이썬 for문
- 파이썬 나누기
- Python
- 파이썬 define
- python define
- 파이썬 뺄셈
- 파이썬 function
- 파이썬 나머지
- 파이썬 float
- 파이썬주식
- 추상화
- 파이썬 if else
- 파이썬 //
- python print
- 파이썬 int
- 파이썬
- 파이썬 산술연산
- 파이썬 if and
- 파이썬 bool
- 패턴인식
- 파이썬 else
- 파이썬 if or
- python 함수
- 파이썬 제어문
- 파이썬 while문
- 파이썬 덧셈
- Today
- Total
AI 지배자 람콩
[2] 패턴 인식의 개념 본문
[SW예비학교] 인공지능과 컴퓨팅사고
2023-01-15
컴퓨팅 사고의 문제 해결 기법 중 하나인 패턴 인식의 개념에 대해서 학습한다.
패턴이란?
- 동일한 것이 반복되는 것
패턴의 예
-1. 아침에는 해가 뜬다.
-2. 저녁에는 해가 진다.
-3. 바닷가에서는 밀물과 썰물이 반복된다.
-4. 밤에는 달이 뜬다.
-5. 계절의 변화 (봄 -> 여름 -> 가을 -> 겨울)
패턴을 발견하는 것은 왜 중요한가?
- 문제를 쉽게 해결할 수 있음
- 추후에 동일한 문제가 발생했을 경우 동일한 해결책 사용 가능
패턴 인식이란?
- 여러 문제 또는 데이터 안에서 특정한 패턴 (유사성)을 찾는 것
- 컴퓨팅 사고의 4가지 기본 기법 중 하나
컴퓨터를 사용하여 문제 해결 시의 패턴의 중요성
- 동일한 코드가 반복적으로 필요한 경우
-1. 반복 구조를 사용하여 동일한 코드를 반복할 수 있음. ex) for, while
-2. 함수 (코드의 묶음)를 이용하여 이미 작성된 코드를 재사용 가능 ex) define
- 패턴을 발견하면 동일한 결과를 간단한 코드로 작성 가능
현실에서의 패턴 사용
1. 과거의 패턴을 이용하여 미래 예측
- 일기예보
-1. 과거의 누적된 패턴을 사용하여 예보
2. 천문학자들
- 수세기 동안 100% 정확한 달력을 만들려고 시도하였음
3. 유전 공학자
- 특정 질병에 대한 원인을 찾기 위해 유전자에서 패턴을 찾고 있음.
4. 통계학자
- 스포츠 경기, 날씨, 주식 시장 등의 결과를 예측하기 위해 방대한 양의 데이터를 조사하여 패턴을 분석
패턴 인식을 사용한 문제 해결 (목걸이 제작비 계산)
* 패턴 인식 사용하여 문제 해결을 쉽게 할 수 있음.
-1. 전체 목걸이 구성을 3개의 작은 문제로 분해
-2. 3개의 작은 문제의 유사점을 발견 쉽게 문제 해결 (패턴 인식)
빨간색 구슬 총비용
= 개당 가격 * 개수
파란색 구슬 총비용
= 개당 가격 * 개수
끈 총비용
= 인치당 가격 * 길이
즉, 동일한 계산 식을 사용해서 각각의 Subporblem의 Solution을 찾을 수 있다.
패턴의 사용이 중요한 이유
-1. 패턴에 근거하여 추측을 할 수 있다.
-2. 패턴에 근거하여 규칙을 만들 수 있다.
-3. 패턴을 이용하여 일반적인 문제를 해결할 수 있다.
-4. 패턴을 이용하면 작업이 간단해 짐.
-5. 패턴을 발견하고 공유하면, 동일한 패턴이 나타날 때마다 동일한 해결책의 사용이 가능
-6. 많은 패턴을 찾아서 저장하고 있다면, 문제 해결의 속도는 빠르게 될 것임.
패턴을 이용해서 세일 보트(sailboat) 그리기
*세일 보트의 그림으로 인정받기 위해서는 세일 보트의 예시의 공통적인 패턴을 파악해야 함
1. 돛을 가지고 있다.
2. 마스트를 가지고 있다.
3. 선체가 있다.
이러한 3가지 일반적인 특징을 이용하여 세일 보트를 그릴 수 있음.
세일 보트(sailboat)를 그릴 때 패턴을 이용하지 않을 때의 문제점
- 세일 보트를 그릴 때마다, 어떻게 그릴 지 고민해야 함. *작업이 상당히 느리게 진행될 것임.
- 세일보트를 그리는 시간은 훨씬 오래 걸릴 것임. * 매우 비효율적
패턴 인식을 사용하면,
일상생활뿐만 아니라 프로그래밍을 할 때, 더 효율적이며 빠르고 간단하게 문제를 해결할 수 있음.
'학교 강의 기록용' 카테고리의 다른 글
[6] 알고리즘 (0) | 2023.01.24 |
---|---|
[5] 추상화 하는 방법 (0) | 2023.01.24 |
[4] 추상화의 개념 (0) | 2023.01.17 |
[3] 패턴 인식 예제 (2) | 2023.01.16 |
[1] 분할 정복 (Divide and conquer) 알고리즘 (0) | 2023.01.14 |