CWN(CHANGE WITH NEWS) - 알고리즘과 프로그램, 같은 뜻 아니다?

  • 맑음김해시
  • 구름많음세종
  • 구름많음고흥
  • 구름조금군산
  • 흐림울릉도
  • 맑음강화
  • 맑음안동
  • 흐림고창
  • 맑음전주
  • 맑음광양시
  • 맑음강릉
  • 맑음밀양
  • 맑음파주
  • 흐림제주
  • 맑음청송군
  • 구름많음강진군
  • 흐림영광군
  • 맑음인천
  • 맑음부산
  • 맑음원주
  • 맑음수원
  • 맑음장수
  • 맑음문경
  • 맑음대구
  • 맑음부여
  • 맑음포항
  • 맑음함양군
  • 맑음영천
  • 맑음속초
  • 맑음철원
  • 맑음제천
  • 맑음진주
  • 구름많음서산
  • 구름많음홍성
  • 맑음여수
  • 구름조금추풍령
  • 맑음거제
  • 구름많음정읍
  • 흐림해남
  • 맑음금산
  • 흐림부안
  • 맑음거창
  • 맑음북강릉-3.2℃
  • 맑음천안
  • 맑음이천
  • 흐림장흥
  • 맑음양평
  • 맑음충주
  • 맑음임실
  • 맑음청주
  • 맑음대관령
  • 구름많음흑산도
  • 구름많음보령
  • 맑음경주시
  • 맑음봉화
  • 맑음북창원
  • 맑음영주
  • 구름많음광주
  • 맑음정선군
  • 맑음동두천
  • 맑음의령군
  • 맑음양산시
  • 구름많음목포
  • 맑음서울
  • 맑음남해
  • 맑음영덕
  • 구름많음순창군
  • 맑음구미
  • 맑음동해
  • 구름조금대전
  • 맑음태백
  • 맑음인제
  • 맑음춘천
  • 구름많음고창군
  • 흐림백령도
  • 구름많음순천
  • 구름많음남원
  • 맑음홍천
  • 흐림진도군
  • 구름조금보은
  • 맑음북춘천
  • 흐림성산
  • 맑음울진
  • 맑음상주
  • 구름많음보성군
  • 맑음의성
  • 맑음북부산-1.7℃
  • 맑음영월
  • 맑음울산
  • 흐림고산
  • 구름많음서귀포4.2℃
  • 구름많음완도
  • 맑음창원
  • 구름조금서청주
  • 맑음산청
  • 맑음통영
  • 맑음합천
  • 2026.01.21 (수)

알고리즘과 프로그램, 같은 뜻 아니다?

김영휘 / 기사승인 : 2021-03-28 23:28:09
  • -
  • +
  • 인쇄

알고리즘의 사전적인 의미는 문제 해결 방법이다. 이를 컴퓨터 시스템에 적용하자면 대략 '컴퓨터를 이용한 문제 해결 방법'이라고 말할 수 있다. 하지만, 이렇게 포괄적인 의미로 전공 분야의 개념을 사용하면 혼란스러울 수 있다. 따라서 알고리즘의 의미를 엄격하게 명시하자면, '특정 문제를 풀기 위한 단계적인 절차', '문제 해결 방법을 추상화하여 단계적 절차를 논리적으로 기술해 놓은 명세서'라고 할 수 있다.

알고리즘은 특정한 일을 수행하는 명령의 유한 순서 집합으로서 여러 특성을 만족시켜야 한다. 첫 번째로 0개 이상의 입력(input)을 가질 수 있어야 한다. 알고리즘 수행에 필요한 자료가 외부에서 입력되면서 제공되어야 한다.

두 번째로 반드시 한 개 이상의 출력(output)을 생성해야 한다. 알고리즘 수행 후, 하나 이상의 결과를 출력해야 한다. 세 번째로 각 명령은 그 의미가 명확해야 한다. 수행할 작업의 내용과 순서를 나타내는 알고리즘의 명령어들은 명확하게 명시돼야 한다.

네 번째로 유한한 횟수의 명령을 수행하고 나면 반드시 종료되어야 한다. 마지막으로 각 명령은 효과적이어야 한다. 알고리즘의 모든 명령어는 기본적이며, 실행이 가능해야 한다.

많은 사람이 잘못 이해하는 것과 달리 알고리즘과 프로그램은 다른 개념이다. 일상에서 두 개념을 혼용하여 사용하기도 하지만, 알고리즘은 특정 문제의 해결 방법 자체를 나타낸 것이다. 그리고, 그 알고리즘을 구현한 것을 프로그램이라고 한다.

한편, 미국의 철학자이자 과학자인 대니얼 데닛은 자신의 저서 『직관 펌프, 생각을 열다』를 통해 알고리즘의 세 가지 핵심 특징에 대해서 이야기 했다.

첫 번째로 알고리즘은 그 절차적 논리에 의해 결과를 도출하며, 재료가 갖는 인과적 힘은 알고리즘의 작동에 어떤 영향을 갖지 않는다는 재료 중립성(substrate neutrality)을 이야기했다.

두 번째로는 알고리즘 절차의 세분화된 일련의 단계는 별다른 의미 해석이 요구되지 않을 만큼 지극히 단순하다고 말하는 마음 없는 토대(underlying mindlessness)를 언급했다.

마지막으로 알고리즘이 각 단계에서 실수나 오류없이 진행된다면, 최종단계에서는 반드시 성공적인 결과를 산출한다는 결과보장(guaranteed result)에 대해서도 이야기 하였다.

[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

최신기사

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0

Today

Hot Issue