본문 바로가기
심리학 개론

알고리즘 (Algorithm)

by 심려자 2023. 2. 22.

알고리즘은 문제 해결을 위한 일련의 절차라고 흔히들 정의한다. 이 일련의 절차는 하나씩 떼어보면 (거의) 모든 사람 (또는 기계) 이 수행할 수 있는 간단한 절차들이다.  그러나 이런 절차를 시행하면 문제 해결이 보장된다 (제대로 만든 알고리즘이라면).  알고리즘이라는 말은 9 세기 페르시아의 수학자 이름 (Al-Khwarizmi,대수학 (algebra) 의 아버지라고 불리우기도 한다.) 에서 유래된 말이고 요샌 컴퓨터 프로그래밍과 관련되어 가장 많이 쓰인다. 컴퓨터 프로그램은 알고리즘을 구현한 것이다. 같은 알고리즘은 여러가지 다른 프로그래밍 언어로 구현할 수 있고 풀로 차트 (Flow chart) 로도 표현할 수 있다. 

알고리즘의 개념은 물론 컴퓨터 프로그램에 한정된 것은 아니다. 인터넷에서 쉽게 찾아볼 수 있는 루빅스 큐브 (Rubik’s cube) 공식도 알고리즘이고 특정 음식을 만들기 위한 조리법도 알고리즘이라고 볼 수 있다.  심리학에서 알고리즘은 휴리스틱스 라는 개념을 설명할 때 그에 대비되는 개념으로 종종 소개된다. 휴리스틱스는 직관적이고 습관적으로 사람들이 사용하는 문제 해결 접근법이다 (앞에 글 휴리스틱스 참조). 예를 들어 비번 (password) 을 모를 때 사용자의 생년 월일이나 외우기 쉬운 간단한 숫자 조합 (1111 1234 0000) 등을 시도해 보는 것이 휴리스틱스이다. 이런 시도들은 운 좋으면 빠른 사건에 최소한의 노력으로 문제를 해결해 주지만 해결되지 않는 경우가 많다. 그에 비해  모든 숫자 (와 글자) 의 조합을 시도해 보는 것이 알고리즘이다. 알고리즘은 (만일 존재 한다면) 문제 해결을 보장해 준다. 물론 알고리즘은 만드는 것도 실행하는 것도 훨씬 많은 시간과 노력을 필요로 할 것이고 일반 사람들이 흔히 쓰는 문제 해결법은 아니다.