engine – 엔진
컴퓨터 프로그래밍에서, 엔진이란 다른 프로그램들을 위해 핵심적이고 본질적인 기능을 수행해주는 프로그램을 지칭하는 전문 용어이다.
엔진은 한 가지 목적을 위해 공동작용을 하는 일련의 프로그램들에 대해, 전반적인 운영을 조정하는 운영체계나 서브시스템, 또는 응용프로그램 내의 중심적인 프로그램이 될 수 있다.
이것은 또한 때때로 변화할 수 있는 알고리즘을 갖는 특수목적 프로그램을 묘사하는데 사용된다.
엔진이라는 용어가 쓰인 것 중 가장 잘 알려진 용례는 “검색엔진”인데, 이는 주어진 검색어에 맞는 주제색인을 찾는 알고리즘을 사용한다.
검색엔진은 색인을 찾는 접근방법에 있어, 색인 내에서 조건에 부합되는 내용을 찾고 우선 순위에 따라 배열하는 새로운 규칙을 반영하여 변화할 수 있도록 설계되었다.
엔진이라는 용어는 인공지능 분야에서 사용되는데, 지식베이스로부터 결과를 도출하기 위해 논리 규칙을 사용하는 프로그램을 “추론엔진”이라고 부른다.
이 용어는 기계적인 엔진에 필적한다는 뜻을 내포하고 있다.
1844년에 찰스 바베지가 자신이 개발한 프로그램 내장형 컴퓨터의 이름을 “해석 엔진”이라고 붙였다.
Certicom Corporation의 Elliptical Curve Engine라는 이름의 엔진은 암호화 작업을 수행합니다.
What are Logic Programming and Prolog?라는 글에 추론엔진을 이해하기 위한 배경을 설명하고 있습니다.