추상 기계 란?
automata라고도하는 추상 기계는 이론적 인 컴퓨터 과학의 요소입니다. 추상 기계는 수학 함수와 유사합니다. 지정된 규칙에 따라 입력을 수신하고 출력을 생성합니다. 추상 기계는 하드웨어와 완벽하고 독립적으로 작동한다고 가정하기 때문에 실제 기계와 다릅니다. 이들은 작업 수행 방법 및 수신 할 수있는 입력 유형과 같은 특성에 따라 유형으로 세분화됩니다.
추상 시스템을 분류 할 때 가장 간단한 차이점 중 하나는 특정 시점에서 수행 할 수있는 작업 수와 관련이 있습니다. 항상 진행할 수있는 유일한 방법이 있다면 추상 기계를 결정 론적이라고합니다. 기계의 가능한 상태 중 하나 이상에 여러 가능성이 존재하는지 여부는 비 결정적입니다. "푸시 다운 (pushdown)"자동 장치는 입력 순서대로 순서대로 응답하지 않고 입력 스택을 조작 할 수있는 기능을 가지고 있습니다.
Wolfram MathWorld 는 추상 기계의 두 가지 유명한 예를 제공합니다. 이러한 예 중 하나는 Conway의 삶의 게임이며, 이는 하나의 구성 만 다른 구성에서 나올 수 있기 때문에 결정적인 추상 기계입니다. 이 게임은 각 상자 또는 셀이 "생존"또는 "죽음"상태를 가질 수있는 그리드를 사용합니다. 전체 그리드의 상태는 이전 상태를 기준으로 결정됩니다. 살아있는 세포가 정확히 두세 개의 다른 살아있는 세포에 닿아도 계속 살아 있습니다. 하나, 둘 또는 세 개 이상의 이웃 (최대 8 개)이 있으면 죽습니다. 정확히 3 명의 이웃이있는 죽은 세포가 생겨날 것입니다. 그렇지 않으면 죽은 채로 남아 있습니다.
또 다른 예인 Turing 기계는 컴퓨터 과학에서 가장 기본적이고 기본적인 추상 기계 중 하나입니다. 튜링 머신은 무제한 크기의 테이프 (기호 문자열)에서 작업을 수행합니다. 여기에는 기호를 변경하고 작동중인 기호를 변경하기위한 지침이 포함되어 있습니다. 간단한 튜링 기계에는 "기호를 1로 변환 한 다음 오른쪽으로 이동"명령 만있을 수 있습니다. 이 기계는 1의 문자열 만 출력합니다. 이 간단한 튜링 기계는 결정 론적이지만 동일한 입력으로 여러 가지 다른 작업을 수행 할 수있는 비결정론 적 튜링 기계를 구성 할 수도 있습니다.
이 추상 기계는 많은 목적을 수행 할 수 있습니다. 그것들은 재미있는 이론적 장난감이 될 수 있지만 실제 컴퓨터 시스템의 모델 역할을 할 수도 있습니다. 추상 기계는 컴퓨터 과학의 핵심 분야입니다.