Давайте оновимо визначення.
PSPACE - це клас проблем, який можна вирішити на детермінованій машині Тьюрінга з поліноміальними просторовими межами: тобто для кожної такої проблеми існує машина, яка вирішує проблему, використовуючи щонайбільше клітинок стрічки коли її вхід має довжину n , для деякого многочлена p .p(n)np
EXP - клас задач, який можна вирішити на детермінованій машині Тьюрінга з експоненціальними часовими межами: для кожної такої проблеми існує машина, яка вирішує проблему, використовуючи щонайменше кроки, коли її вхід має довжину n , для деякий многочлен p2p(n)np .
По-перше, слід сказати, що ці два класи можуть бути рівними. Вони здаються різними, але іноді класи виявляються однаковими: наприклад, у 2004 р. Рейнгольд довів, що симетричний журнальний простір такий самий, як і звичайний журнальний простір; у 1987 р. Іммерман і Щелепченій незалежно довели, що NL=f(n)]=co-NSPACE[f(n)] for any f(n)≥logn).
But, at the moment, most people believe that PSPACE and EXP are different. Why?
Let's look at what we can do in the two complexity classes. Consider a problem in PSPACE. We're allowed to use p(n) tape cells to solve an input of length n but it's hard to compare that against EXP, which is specified by a time bound.
How much time can we use for a PSPACE problem? If we only write to p(n) tape cells, there are 2p(n) different strings that could appear on the tape, assuming a binary alphabet. The tape head could be in any of p(n) different places and the Turing machine could be in one of k different states. So the total number of configurations is T(n)=kp(n)2p(n). By the pigeonhole principle, if we run for T(n)+1 steps, we must visit a configuration twice but, since the machine is deterministic, that means it will loop around and visit that same configuration infinitely often, i.e., it won't halt. Since part of the definition of being in PSPACE is that you have to decide the problem, any machine that doesn't terminate doesn't solve a PSPACE problem. In other words, PSPACE is the class of problems that are decidable using at most p(n) space and at most kp(n)2p(n) time, which is at most 2q(n) for some polynomial q. So we've shown that PSPACE⊆EXP.
And how much space can we use for an EXP problem? Well, we're allowed 2p(n) steps and the head of a Turing machine can only move one position at each step. Since the head can't move more than 2p(n) positions, we can only use that many tape cells.
That's what the difference is: although both PSPACE and EXP are problems that can be solved in exponential time, PSPACE is restricted to polynomial space use, whereas EXP can use exponential space. That already suggests that EXP ought to be more powerful. For example, suppose you're trying to solve a problem about graphs. In PSPACE, you can look at every subset of the vertices (it only takes n bits to write down a subset). You can use some working space to compute on each subset but, once you've finished working on a subset, you must erase that working space and re-use it for the next subset. In EXP, on the other hand, you can not only look at every subset but you don't need to reuse your working space, so you can remember what you learnt about each one individually. That seems like it should be more powerful.
Another intuition for why they should be different is that the time and space hierarchy theorems tell us that allowing even a tiny bit more space or time strictly increases what you can compute. The hierarchy theorems only let you compare like with like (e.g., they show that PSPACE⊊EXPSPACE and P⊊EXP) so they don't directly apply to PSPACE vs EXP but they do give us a strong intuition that more resource means that more problems become solvable.