Suppose that there is a set of strings such that for each n there is at most one string |w| = n. For any given n there is a 50:50 chance that such a string exists. These string can be arranged in a lookup table such that the binary value of the string is interpreted as an index, the table entry indicates yes/no i.e. the existence or non-existence of the string.
Example:
string existence
0000 no
0001 no
0010 yes
0011 no
1000 no
1001 no
1010 no
1011 no
In this example there is one string of length n = 4, namely '0010'. For some values of n the entries will be all 'no'.
Suppose further that some random process running in the background is filling these tables. A program P(n) is supposed to indicate if a string of length n exists. It is apparent that no polynomial algorithm can always correctly answer the question as the existence/non-existence of a given string is completely random. It can query only n^c entries, for some c, of all the 2^n entries. However an NP program can query all the entries in the table in parallel.
Why is this not a proof that P # NP?