NAND 게이트와 튜링 완성도 사이의 연결


14

나는 NAND 게이트를 사용하여 모든 진리표를 구현하는 회로를 만들 수 있으며 최신 컴퓨터는 NAND 게이트로 구성됩니다. NAND 게이트와 튜링 완성도 사이의 이론적 연결은 무엇입니까? NAND 게이트 회로는 튜링 머신보다 유한 오토마타에 더 가깝습니다. 내 직감은 플립 플롭을 만들 수 있으므로 NAND 게이트에서 레지스터와 메모리를 만들 수 있으며 무한 메모리는 Turing complete 시스템의 중요한 속성입니다. 더 이론적이거나 수학적인 설명이나 읽을 내용에 대한 포인터를 찾고 있습니다.


1
"현대 컴퓨터는 NAND 게이트로 구성되어 있습니다"나는 그것이 틀렸다고 확신합니다. 디지털 설계를위한 일반적인 셀 라이브러리는 수백 개의 게이트가 아닌 수십 개의 게이트를 포함하며 팬인 및 팬 아웃뿐만 아니라 기능 (AOI 게이트를 찾습니다)이 다릅니다.
AProgrammer

당신은 올바른, 나는 모든 디지털 로직을 기능적으로 완료된 것으로 간주되어 서 NAND들로 구축 할 수있는 이론적 인 의미에서 의미있는
BSM

답변:


9

실제로 연결이 거의 없습니다. 철저한 이해를 위해 프로그램회로 간의 연결을 설명하겠습니다 .

프로그램 (또는 알고리즘 또는 기계 ) 함수를 계산하기위한 메커니즘이다. 명확성을 위해 입력 이 이진 문자열 이고 출력 이 부울 출력 b 라고 가정합니다 . 입력의 크기는 제한이 없습니다. 한 가지 예는 입력이 소수의 이진 인코딩인지 여부를 결정하는 프로그램입니다.엑스

(부울) 회로유한 함수 를 계산하기위한 명령어 모음입니다 . 우리는 회로를 전기 회로로 묘사하거나 일련의 명령으로 생각할 수 있습니다 (이보기는 혼란스럽게 일직선 프로그램 이라고 합니다 ). 것을 구체적으로 우리가 가정 할 입력 이진 스트링이고 길이의 n은 , 상기 출력 부울. 한 가지 예는 입력이 소수를 인코딩하는지 여부를 결정하는 회로입니다 (이전과 마찬가지로 입력의 길이는 n 이어야 함 ).엑스

프로그램 를 길이 n의 입력에서 P 를 시뮬레이트 하는 회로 P n 으로 변환 할 수 있습니다 . 대응하는 회로 시퀀스 P 0 , P 1 , P 2 , 는 임의적이지 않으며 , 모두 n 개의 출력 P n 을 제공하는 프로그램에 의해 구성 될 수 있습니다 . 우리는 그러한 회로 시퀀스를 균일 한 회로 라고 부릅니다 (혼란스럽게도, 시퀀스를 부정확 한 n에 대한 "단일"회로 P n 으로 생각합니다 ).0,1,2,

모든 회로 시퀀스가 ​​균일하지는 않습니다. 실제로 일련의 회로는 문자열에서 부울, 계산 가능 또는 계산 불가능에 이르기까지 모든 기능을 계산할 수 있습니다 ! 그럼에도 불구하고 복잡성 이론에서 우리는 회로가 제한되는 비 균일 모델에 관심 이 있습니다. 예를 들어, 질문 P = NP는 다항식 시간 알고리즘으로는 NP- 완전 문제를 해결할 수 없다고 말합니다. 이것은 다항식 크기의 균일 회로로 NP- 완전 문제를 해결할 수 없음을 의미합니다. 더욱이 NP- 완전 문제는 균일 성의 요구없이 다항식 회로에 의해 해결 될 수 없다고 추측된다 .

튜링-완전 계산 모델은 모든 계산 가능한 기능을 실현하는 모델입니다. 반대로 AND, OR, NOT 또는 NAND와 같은 완전한 게이트 시스템 은 이러한 게이트로 구성된 회로를 사용하여 임의의 유한 함수를 계산할 수 있습니다. 이러한 완전한 시스템은 (제한되지 않은) 회로 시퀀스를 사용하여 완전히 임의의 기능을 계산할 수 있습니다.


"순차적 회로가 문자열에서 부울, 계산 가능 또는 계산 불가능한 모든 기능을 계산할 수 있음"을 설명 할 수 있습니까? (튜링-완전성의 관점에서) 계산할 수없는 기능을 계산하는 능력은 입력 크기의 제한에서 비롯됩니까?
bsm

2

@YuvalFilmus에 대해 설명해 주시겠습니까? Kolmogorov의 복잡성과 같은 계산할 수없는 기능이 회로를 사용하여 갑자기 "계산 가능"하는 것은 이상해 보입니다.
Cort Ammon

2
에프

3

당신은 사실 맞습니다. 조합 논리 회로는 유한 오토 마톤에 해당합니다. NAND 게이트는 더 강력하지 않습니다. 게이트는 모든 다른 게이트로 구축하는 것보다 한 종류의 게이트만으로 디지털 로직 회로를 구축하는 것이 더 저렴하기 때문에 사용됩니다. 실제로, NAND 게이트는 AND 게이트와 NOT 게이트로만 구성 할 수 있습니다. 플립 플롭은 회로 튜링을 완성시킵니다. 다음은 편리한 키입니다.

조합 회로 ~ 유한 오토마타 ~ 정규 언어 ~ 정규 표현식 ~ 명제 미적분학 ~ 직선 프로그램

순차 회로 ~ 튜링 머신 ~ 재귀 적으로 열거 가능한 언어 ~ 조건식 미적분학 ~ μ재귀 함수

더 배우고 싶다면 PDF 형식으로 무료로 다운로드 할 수있는 아주 좋은 책이 있습니다.

https://cs.brown.edu/people/jes/book/pdfs/ModelsOfComputation.pdf

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.