Hãy làm mới các định nghĩa.
PSPACE là loại vấn đề có thể được giải quyết trên máy Turing xác định với giới hạn không gian đa thức: nghĩa là, đối với mỗi vấn đề như vậy, có một máy quyết định vấn đề sử dụng tối đa các ô băng khi đầu vào của nó có độ dài , cho một số đa thức .n pp(n)np
EXP là loại vấn đề có thể được giải quyết trên máy Turing xác định với giới hạn thời gian theo cấp số nhân: đối với mỗi vấn đề như vậy, có một máy quyết định sự cố bằng cách sử dụng tối đa khi đầu vào của nó có độ dài , cho một số đa thức . n p2p(n)np
Đầu tiên, chúng ta nên nói rằng hai lớp này có thể bằng nhau. Chúng có vẻ giống nhau hơn nhưng đôi khi các lớp hóa ra giống nhau: ví dụ, năm 2004, Reingold đã chứng minh rằng không gian log đối xứng giống như không gian log thông thường; vào năm 1987, Immerman và Szelepcsényi đã độc lập chứng minh rằng NLco-NL= (và trên thực tế, NSPACE [ ] co-NSPACE [ ]f(n)=f(n) cho mọi ).f(n)≥logn
Nhưng, tại thời điểm này, hầu hết mọi người tin rằng PSPACE và EXP là khác nhau. Tại sao? Hãy xem những gì chúng ta có thể làm trong hai lớp phức tạp. Hãy xem xét một vấn đề trong PSPACE . Chúng tôi được phép sử dụng các ô băng để giải quyết đầu vào có độ dài nhưng thật khó để so sánh với EXP , được chỉ định bởi thời gian giới hạn.np(n)n
Chúng ta có thể sử dụng bao nhiêu thời gian cho một vấn đề PSPACE ? Nếu chúng ta chỉ ghi vào các ô băng , có các chuỗi khác nhau có thể xuất hiện trên băng, giả sử một bảng chữ cái nhị phân. Đầu băng có thể ở bất kỳ vị trí nào trong và máy Turing có thể ở một trong trạng thái khác nhau. Vậy tổng số cấu hình là T ( n ) = k2 p ( n ) p ( n ) kp(n)2p(n)p(n)kT(n)=kp(n)2p(n). Theo nguyên tắc pigeonhole, nếu chúng ta chạy cho T(n)+1các bước, chúng ta phải truy cập một cấu hình hai lần, nhưng vì máy có tính xác định, điều đó có nghĩa là nó sẽ lặp đi lặp lại và truy cập cùng một cấu hình đó vô cùng thường xuyên, tức là nó sẽ không dừng lại. Do một phần của định nghĩa về PSPACE là bạn phải quyết định vấn đề, nên bất kỳ máy nào không chấm dứt đều không giải quyết được vấn đề PSPACE . Nói cách khác, PSPACE là lớp các vấn đề có thể quyết định bằng cách sử dụng tối đa không gian và tối đa kp(n) thời gian, nhiều nhất là 2 q ( n ) cho một số đa thức q. Vì vậy, chúng tôi đã chỉ ra rằngPSPACEkp(n)2p(n)2q(n)q⊆EXP .
Và chúng ta có thể sử dụng bao nhiêu dung lượng cho một vấn đề EXP ? Vâng, chúng tôi được phép bước và người đứng đầu của một máy Turing chỉ có thể di chuyển một vị trí ở mỗi bước. Vì đầu không thể di chuyển nhiều hơn 2 vị trí p ( n ) , chúng tôi chỉ có thể sử dụng nhiều ô băng đó.2p(n)2p(n)
Đó là điểm khác biệt: mặc dù cả PSPACE và EXP đều là những vấn đề có thể giải quyết theo thời gian theo cấp số nhân, PSPACE bị hạn chế sử dụng không gian đa thức, trong khi EXP có thể sử dụng không gian theo cấp số nhân. Điều đó đã gợi ý rằng EXP phải mạnh hơn. Ví dụ: giả sử bạn đang cố gắng giải quyết vấn đề về đồ thị. Trong PSPACE , bạn có thể xem mọi tập hợp con của các đỉnh (chỉ mất bit để ghi lại tập hợp con). Bạn có thể sử dụng một số không gian làm việc để tính toán trên mỗi tập hợp con, nhưng sau khi bạn hoàn thành công việc trên một tập hợp con, bạn phải xóa không gian làm việc đó và sử dụng lại nó cho tập hợp con tiếp theo. Trong EXPnmặt khác, bạn không chỉ có thể nhìn vào mọi tập hợp con mà bạn không cần sử dụng lại không gian làm việc của mình, vì vậy bạn có thể nhớ những gì bạn đã học về từng bộ một. Có vẻ như nó sẽ mạnh hơn.
Một trực giác khác về lý do tại sao chúng nên khác nhau là các định lý phân cấp thời gian và không gian cho chúng ta biết rằng cho phép thậm chí thêm một chút không gian hoặc thời gian làm tăng đáng kể những gì bạn có thể tính toán. Các định lý phân cấp chỉ cho phép bạn so sánh like với like (ví dụ: chúng cho thấy PSPACE⊊ EXPSPACE và PEXP⊊ ) vì vậy họ không trực tiếp áp dụng cho PSPACE so với EXP nhưng họ cho chúng ta một trực giác mạnh mẽ rằng nhiều tài nguyên hơn có nghĩa là nhiều vấn đề trở nên có thể giải quyết được.