알고리즘 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''알고리즘'''(algorithm)이란 어떤 문제를 해결하기 위해 정해진 규칙이나 절차를 말한다. '''알고리듬'''(algorithm) 또는 '''산법'''(算法)이라고도 한다. [[컴퓨터]] 알고리즘은 입력된 자료를 바탕으로 원하는 출력을 유도하는 규칙들의 집합이다. 알고리즘은 [[프로그램]] 개발의 기초가 된다.
+
'''알고리즘'''(algorism)이란 어떤 문제를 해결하기 위해 정해진 규칙이나 절차를 말한다. '''알고리듬'''(algorithm) 또는 '''산법'''(算法)이라고도 한다. [[컴퓨터]] 알고리즘은 입력된 자료를 바탕으로 원하는 출력을 유도하는 규칙들의 집합이다. 알고리즘은 [[프로그램]] 개발의 기초가 된다.
  
 
== 명칭 ==
 
== 명칭 ==
 
알고리즘은 9세기 페르시아의 수학자인 [[무하마드 알콰리즈미]](Muhammad al-Kwarizmi)의 이름을 라틴어화한 알고리즈무스(algorismus)에서 따온 말이다.
 
알고리즘은 9세기 페르시아의 수학자인 [[무하마드 알콰리즈미]](Muhammad al-Kwarizmi)의 이름을 라틴어화한 알고리즈무스(algorismus)에서 따온 말이다.
  
'알고리즘''알고리듬'으로 표기하기도 하는데, 둘 다 허용되는 표기법이다. 양자의 사용빈도를 조사해 보면, 알고리즘이라는 표기가 알고리듬이라는 표기에 비해 압도적으로 많이 사용되고 있다. 예를 들어 구글 검색 결과를 보면, 2018년 기준으로 알고리즘이 약 590만개이고, 알고리듬이 약 21만개로서 약 30배 정도 차이가 난다.<ref>[https://www.google.com/search?source=hp&ei=y1ksW9W3GcGC8wXj8aaYAw&q=%22%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%22&oq=%22%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%22&gs_l=psy-ab.3..0l10.1580.4304.0.4558.15.14.0.0.0.0.144.1560.3j11.14.0....0...1.1j4.64.psy-ab..4.11.1282.0..35i39k1j0i131k1j0i3k1.0.FNz0SVauo54 구글에서 "알고리즘" 검색 결과] 및 [https://www.google.com/search?ei=0FksW7HcH5eA-QbEnZuwBg&q=%22%EC%95%8C%EA%B3%A0%EB%A6%AC%EB%93%AC%22&oq=%22%EC%95%8C%EA%B3%A0%EB%A6%AC%EB%93%AC%22&gs_l=psy-ab.3..0j0i10i30k1l9.4763.5877.0.6155.4.4.0.0.0.0.127.456.1j3.4.0....0...1.1j4.64.psy-ab..0.2.229...0i13k1.0.SeBb2k6bm3c "알고리듬" 검색 결과]</ref>
+
알고리즘의 정확한 표기는 '알고리듬'이 되어야 한다는 주장이 있다. 영어로 algorithm의 발음 기호는 [ӕlgərɪðəm]이며 ð는 this [ðɪs]의 ð 발음이다. 따라서 이 단어는 영어식으로 '앨거리듬'으로 표기하거나 좀 더 한국식 발음으로 표기하더라도 '알고리듬'으로 표기해야 한다. algorithm을 알고리즘으로 읽는 건 this를 "지스"로 읽는 것과 마찬가지의 잘못이다. rhythm [rɪðəm]을 '리즘'이 아닌 '리듬'으로 표기하는 것과 마찬가지로 algorithm은 알고리듬으로 표기해야 한다는 주장이다. 한편 algorism이라는 "아라비아 숫자식 기수법"이라는 뜻을 가진 유사한 단어가 있는데, 이 단어의 발음기호는 [ǽlɡərìzm]이므로 오히려 이 단어를 앨거리즘이나 알고리즘이라고 읽어야 한다는 의견이다.<ref>[https://ko.wikipedia.org/wiki/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 알고리즘]〉, 《위키백과》</ref>
  
알고리듬으로 표기하는 것은 영어식 표기이다. 영어로 algorithm의 발음 기호는 [ӕlgərɪðəm]이며 ð는 this [ðɪs]의 ð 발음이다. 따라서 이 단어는 영어식으로 '앨거리듬'으로 표기하거나 좀 더 한국식 발음으로 표기하면 '알고리듬'으로 표기할 수 있다. 영어에서 algorithm을 알고리즘으로 읽는 건 this를 "지스"로 읽는 것과 마찬가지의 잘못이다. rhythm [rɪðəm]을 '리즘'이 아닌 '리듬'으로 표기하는 것과 마찬가지로 algorithm은 알고리듬으로 표기해야 한다는 주장이다. 한편 algorism이라는 "아라비아 숫자식 기수법"이라는 뜻을 가진 유사한 단어가 있는데, 이 단어의 발음기호는 [ǽlɡərìzm]이므로 오히려 이 단어를 앨거리즘이나 알고리즘이라고 읽어야 한다는 의견이다.<ref>[https://ko.wikipedia.org/wiki/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 알고리즘]〉, 《위키백과》</ref>
+
하지만 실제 생활에서는 알고리즘이라는 표기가 알고리듬이라는 표기에 비해 압도적으로 많이 사용되고 있다. 예를 들어 구글 검색 결과를 보면, 2018년 기준으로 알고리즘이 약 590만개이고, 알고리듬이 약 21만개로서 약 30배 정도 차이가 난다.<ref>[https://www.google.com/search?source=hp&ei=y1ksW9W3GcGC8wXj8aaYAw&q=%22%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%22&oq=%22%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%22&gs_l=psy-ab.3..0l10.1580.4304.0.4558.15.14.0.0.0.0.144.1560.3j11.14.0....0...1.1j4.64.psy-ab..4.11.1282.0..35i39k1j0i131k1j0i3k1.0.FNz0SVauo54 구글에서 "알고리즘" 검색 결과] 및 [https://www.google.com/search?ei=0FksW7HcH5eA-QbEnZuwBg&q=%22%EC%95%8C%EA%B3%A0%EB%A6%AC%EB%93%AC%22&oq=%22%EC%95%8C%EA%B3%A0%EB%A6%AC%EB%93%AC%22&gs_l=psy-ab.3..0j0i10i30k1l9.4763.5877.0.6155.4.4.0.0.0.0.127.456.1j3.4.0....0...1.1j4.64.psy-ab..0.2.229...0i13k1.0.SeBb2k6bm3c "알고리듬" 검색 결과]</ref>
 
 
위 주장에 대해 반론도 존재한다. 알고리즘이라는 말은 영어가 아니라 원래 페르시아어인데, "알콰리즘 + 이 = 알콰리즈미"(al-Kwarizmi)이므로, '리듬'이 아니라 '리즘'이 맞다는 의견이다. 이 말이 서양으로 건너온 라틴어에서도 "알고리즘 + 우스 = 알고리즈무스"(algorismus)로 표기되므로, '리듬'이 아니라 '리즘'에 가깝다. 따라서 한국어로는 최대한 원어에 가깝게 '알고리즘'으로 표시하는 것이 맞다는 의견이다. 어쨌든 실제 생활에서는 알고리즘이라는 표기가 알고리듬이라는 표기에 비해 약 30배 정도 압도적으로 많이 사용되고 있다.
 
  
 
== 종류 ==
 
== 종류 ==
 +
* '''[[암호 알고리즘]]''' : 문서나 데이터의 내용을 다른 사람이 알지 못하게 하거나 혹은 본인 인증을 위해 사용하는 알고리즘을 말한다. [[DES]], [[AES]], [[ARIA]], [[SEED]] 등의 [[대칭키 암호]] 알고리즘과 [[RSA]], [[타원곡선암호]] 등 [[공개키 암호]] 알고리즘이 있다.
 +
* '''[[합의 알고리즘]]''' : 다수의 참여자들이 통일된 의사결정을 하기 위해 사용하는 알고리즘을 말한다. [[작업증명]](PoW), [[지분증명]](PoS), [[위임지분증명]](DPoS), [[활동증명]](PoA), [[중요도증명]](PoI), [[신뢰성증명]](PoB), [[권위증명]](PoA) 등 다양한 합의 알고리즘이 있다.
 +
* '''[[체인 알고리즘]]''' : 다수의 거래기록을 암호화하여 위변조를 방지하고 탈중앙 분산 저장 방식으로 데이터를 관리하는 알고리즘이다. [[블록체인]] 알고리즘과 그 대안으로 나온 [[라이트닝 네트워크]], [[플라즈마]], [[플라즈마캐시]], [[사이드체인]], [[더블체인]], [[인터체인]], [[탱글]], [[해시그래프]] 등이 있다.
  
=== 암호 알고리즘 ===
 
[[암호 알고리즘]]이란 문서나 데이터의 내용을 다른 사람이 알지 못하게 하거나 혹은 본인 인증을 위해 사용하는 알고리즘을 말한다. [[DES]], [[AES]], [[ARIA]], [[SEED]] 등의 [[대칭키 암호]] 알고리즘과 [[RSA]], [[타원곡선암호]] 등 [[공개키 암호]] 알고리즘이 있다.
 
 
* '''대칭키 암호 알고리즘'''
 
:* '''[[DES]]''' :
 
:* '''[[AES]]''' :
 
:* '''[[ARIA]]''' :
 
:* '''[[SEED]]''' :
 
 
* '''비대칭키 암호 알고리즘'''
 
:* '''[[RSA]]''' :
 
:* '''[[타원곡선암호]]''' :
 
 
=== 합의 알고리즘 ===
 
{{:합의 알고리즘 종류}}
 
=== 체인 알고리즘 ===
 
[[체인 알고리즘]]이란 다수의 거래기록을 암호화하여 위변조를 방지하고 탈중앙 분산 저장 방식으로 데이터를 관리하는 알고리즘이다. [[블록체인]] 알고리즘과 그 대안으로 나온 [[라이트닝 네트워크]], [[플라즈마]], [[플라즈마캐시]], [[사이드체인]], [[더블체인]], [[인터체인]], [[탱글]], [[해시그래프]] 등이 있다.
 
 
{{:체인 알고리즘 종류}}
 
 
{{각주}}
 
{{각주}}
  
45번째 줄: 27번째 줄:
 
* [[암호화폐]]
 
* [[암호화폐]]
  
{{알고리즘}}
+
[[분류:알고리즘]]
 
 
 
[[분류:블록체인]]
 
[[분류:블록체인]]
 
[[분류:프로그램]]
 
[[분류:프로그램]]

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)