알고리즘
알고리즘(algorism)이란 어떤 문제를 해결하기 위해 정해진 규칙이나 절차를 말한다. 알고리듬(algorithm) 또는 산법(算法)이라고도 한다. 컴퓨터 알고리즘은 입력된 자료를 바탕으로 원하는 출력을 유도하는 규칙들의 집합이다. 알고리즘은 프로그램 개발의 기초가 된다.
명칭
알고리즘은 9세기 페르시아의 수학자인 무하마드 알콰리즈미(Muhammad al-Kwarizmi)의 이름에서 따온 말이다.
알고리즘의 정확한 표기는 '알고리듬'이 되어야 한다는 주장이 있다. 영어로 algorithm의 발음 기호는 [ӕlgərɪðəm]이며 ð는 this [ðɪs]의 ð 발음이다. 따라서 이 단어는 영어식으로 '앨거리듬'으로 표기하거나 좀 더 한국식 발음으로 표기하더라도 '알고리듬'으로 표기해야 한다. algorithm을 알고리즘으로 읽는 건 this를 "지스"로 읽는 것과 마찬가지의 잘못이다. rhythm [rɪðəm]을 '리즘'이 아닌 '리듬'으로 표기하는 것과 마찬가지로 algorithm은 알고리듬으로 표기해야 한다는 주장이다. 한편 algorism이라는 "아라비아 숫자식 기수법"이라는 뜻을 가진 유사한 단어가 있는데, 이 단어의 발음기호는 [ǽlɡərìzm]이므로 오히려 이 단어를 앨거리즘이나 알고리즘이라고 읽어야 한다는 의견이다.[1]
하지만 실제 생활에서는 알고리즘이라는 표기가 알고리듬이라는 표기에 비해 압도적으로 많이 사용되고 있다. 예를 들어 구글 검색 결과를 보면, 2018년 기준으로 알고리즘이 약 590만개이고, 알고리듬이 약 21만개로서 약 30배 정도 차이가 난다.[2]
종류
- 암호 알고리즘 : 문서나 데이터의 내용을 다른 사람이 알지 못하게 하거나 혹은 본인 인증을 위해 사용하는 알고리즘을 말한다. DES, AES, ARIA, SEED 등의 대칭키 암호 알고리즘과 RSA, 타원곡선암호 등 공개키 암호 알고리즘이 있다.
- 합의 알고리즘 : 다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘을 말한다. 작업증명(PoW), 지분증명(PoS), 위임지분증명(DPos) 등 다양한 합의 알고리즘이 있다.
- 체인 알고리즘 : 다수의 거래기록을 암호화하여 위변조를 방지하고 탈중앙 분산 저장 방식으로 데이터를 관리하는 알고리즘이다. 블록체인 알고리즘과 그 대안으로 나온 라이트닝 네트워크, 플라즈마 캐시, 사이드체인, 더블체인, 탱글, 해시그래프 등이 있다.
각주
- ↑ 〈알고리즘〉, 《위키백과》
- ↑ 구글에서 "알고리즘" 검색 결과 및 "알고리듬" 검색 결과
참고자료
- 〈알고리즘〉, 《위키백과》