분해, 패턴 인식, 추상화, 알고리즘… 학습·일상생활에 언제든 적용 가능

지난 호에서 컴퓨팅 사고력을 소개해드린 데 이어 이번 호에서는 컴퓨팅 사고력의 중요 요소에 대해 설명 드리겠습니다. 컴퓨팅 사고력은 컴퓨팅의 단어로 인해 컴퓨터를 활용하는 데에만 사용되는 것으로 생각하기 쉽지만 어떠한 문제를 풀어나가는데 있어 논리적인 사고를 통해 해결하는 것으로 학습 또는 일상생활에 언제든 적용 가능한 사고력입니다. 구글이 정의한 컴퓨팅 사고력에 따르면 컴퓨팅 사고력의 요소는 크게 네 가지로 구분할 수 있습니다.

 

01_분해 (Decomposition)

복잡한 문제를 잘게 나누어 간단한 여러 개의 작은 문제로 분해하는 것을 의미합니다. 일상 생활에서도 분해를 통해 많은 문제를 해결합니다.

분해 과정의 대표적인 예로 요리를 들 수 있습니다. 요리를 할 때 순차적으로 이뤄지는 여러 단계를 통해 음식을 완성합니다.

 

02_패턴 인식 (Pattern Recognition)

패턴은 문제를 해결하는데 있어 반복되는 현상을 찾아내는 것을 의미합니다. 패턴 인식은 다음 단계인 추상화를 통해 알고리즘을 만드는데 필수적인 단계입니다.

주로 패턴 인식은 문제를 작은 문제로 잘게 나눈 뒤 패턴을 파악하는 경우가 많습니다. ‘짜장면을 만들자’라는 하나의 큰 문제에서는 패턴을 찾기 힘들지만 짜장면을 만들기 위해 면, 소스로 나누고 이에 따라 필요한 재료들을 준비하는 등 잘게 분해된 상황이 훨씬 패턴을 인식하기 쉽습니다.

패턴 인식은 수학 문제를 해결해나가는 데도 많이 활용되는 요소입니다. 수학자 가우스가 어릴 때 수업하기 귀찮던 학교 선생님이 낸 1부터 100까지 더하라는 문제를 패턴 인식을 통하여 순식간에 풀어낸 일화도 가우스가 이 문제 안에 있는 패턴을 찾았기 때문입니다.

 

03_추상화 (Abstraction)

추상화는 발견되는 패턴에서 불필요한 부분들을 제거하고 핵심적인 요소들만을 남김으로써 문제를 단순화 하는 단계입니다. 위의 가우스의 예를 보겠습니다.

 

1 + 100 = 101

2 + 99 = 101

3 + 98 = 101

위의 작업은 가우스가 1부터 100까지 단순히 순차적으로 더하지 않고 가장 작은 수와 가장 큰 수, 두 번째로 큰 수와 두 번째로 작은 수를 더해가면서 패턴을 찾아낸 상황입니다. 이후에는 두 개의 숫자를 묶어 101을 만들었으므로 총 50개의 묶음이 만들어지게 됩니다.

이에 따라 1부터 100까지의 모든 숫자는 답을 찾아내는데 더 이상 필요하지 않고 101 (두 수의 합) 과 50 (101의 묶음 개수)이라는 숫자만 남습니다. 두 수를 곱하면 1부터 100까지의 합이 순식간에 해결됩니다. 이것이 추상화의 한 예입니다.

 

04_알고리즘 (Algorithm)

알고리즘이란 문제를 해결을 위한 공식 또는 절차를 의미합니다. 쉬운 예로 수학 수업 또는 컴퓨터 수업에서 배우게 되는 순서도가 알고리즘입니다.

또한 이세돌과의 바둑대전에서 승리했던 알파고도 알고리즘이 사용된 좋은 예입니다. 바둑의 경우의 수는 너무 많고 상대방이 대응한 수에 따라 컴퓨터라도 모든 경우의 수를 짧은 시간에 계산해볼 수 없으므로 가능한 많은 경우의 수를 예측한 뒤 그 중 최적의 수를 찾아 결정합니다.

알파고는 이 프로세서를 상대방이 둔 수마다 반복을 하여 대국을 두는 것입니다. 매우 복잡한 수준의 알고리즘이 적용된 예라 할 수 있습니다.

다음 호에서는 자동화로 인한 미래 일자리의 변화에 대해 설명 드리도록 하겠습니다.

 

기사제공: SeedTree (0490 420 489)

 

Previous article닉 부이치치를 아시나요?
Next article노년층의 효율적인 삶 유지방법?!