110 likes | 121 Vues
Cognitive Computing 2013. Consciousness and Computations 7. THE ‘ SELF APPLICABILITY PROBLEM ’ (SAP); PENROSE ‘ ON UNDERSTANDING UNDERSTANDING ’ Mark Bishop. On unsolvable decision problems. Introduction
E N D
Cognitive Computing2013 Consciousness and Computations 7. THE ‘SELF APPLICABILITY PROBLEM’ (SAP); PENROSE ‘ON UNDERSTANDING UNDERSTANDING’ Mark Bishop
On unsolvable decision problems • Introduction • We will see that there exist decision problems connected with NORMA programs that are fundamentally undecidable. • Some of these problems have practical implications and, (as NORMA is a universal machine), if NORMA can't solve them, no other universal machine can. • E.g. • A programmer who writes some code to carry out a given task may need to know if the program terminates under specific conditions. • A programmer may also need to know if the code of one program is exactly equivalent to a second, more efficient program. (c) Bishop: Consciousness and computations
PC: program correctness • Determining if an algorithm will terminate given specific input or determining if one algorithm is exactly equivalent to another define aspects of correct program functionality. • Program ‘correctness’. • I.e. {WHILE X=0 DO INC Y} will not terminate for [X = 0]. • However we will show that both ’termination’ and ‘equivalence’ are not algorithmically solvable. • This does not imply that for a particular program the above qualities cannot be formulated. • Simply that there is no general algorithmic solution to the above problems. (c) Bishop: Consciousness and computations
Totality and computability • The algorithm given in the previous seminar for the function Y = X2 is both total and computable. • i.e. • It is defined for all elements of its domain (it is total) and could be implemented on any Universal Machine (it is a computable function). • Much current research in computer science is concerned with modern notations & languages, such as Z, that enable properties of specific algorithms to be proved in a manner analogous to mathematical proof. (c) Bishop: Consciousness and computations
The Self Applicability Problem, SAP • The Self Applicability Problem is important since all unsolvable decision problems can be reduced to it. • Given that a NORMA program is ‘Defined’ iff it terminates; SAP can be stated in the following form: • “to decide, given an arbitrary NORMA program P, whether or not P (p) is defined, where p = nCode (P)”. • Ie. Is there a NORMA program Q, that can compute the function: • Q (p) = 0 iff NORMAp (p) is defined • = 1 Otherwise (c) Bishop: Consciousness and computations
Solution • Assume SAP is total and computable. • Let Q be a program that can compute SAP. • And define R be the program: • l. Q; • (l+1). WHILE (Y = 0) DO (l+1); • … where r = nCode (R). • Thus R carries out each computation of Q, but before terminating tests the output of Q. • If the output is zero, (i.e. P (p) is defined), then Y must equal zero; hence by inspection R will not terminate! • Clearly R (x) = Q (x) iff Q (x) <> 0 • = undefined otherwise (c) Bishop: Consciousness and computations
… Solution (cont’d) • But Consider: • Suppose R (r) is defined, then from inspection of R, Q (r) => 1 • However from the definition of Q, Q (r) = 1, iff R (r) is undefined! • Therefore R (r) cannot be defined! • Suppose R (r) is undefined, then from inspection of R, Q (r) => 0 • However from the definition of Q, Q (r) = 0 iff R (r) is defined! • Therefore R (r) cannot be undefined! • If R cannot be defined or undefined then R cannot exist. • Therefore R cannot be constructed. • But clearly R can be constructed if Q can. • Therefore Q cannot exist and SAP is NORMA unsolvable. (c) Bishop: Consciousness and computations
Penrose, ‘On understanding understanding’ • Consider a to be a sound set of rules (an effective procedure) to determine if the computation C (n) does not stop. • Like NORMAp (x), C (n) is merely some computation on the natural number n. • E.g. ‘Calculate an odd number that is the sum of (n) even numbers’ .. • Let A be a formalization of all such procedures known to human mathematicians. • Ex-hypothesi, the application of the set of rules, A, terminates only iff C (n) does not stop. • .. imagine a group of human mathematicians continuously analysing C (n) only ceasing their contemplation if and when one shouts out, “Eureka!! C (n) does not stop!” • NB. A must be sound (i.e. it cannot be wrong) if it decides that C (n) does not stop, as if any of the procedures in A were unsound it would eventually be ‘found out’. (c) Bishop: Consciousness and computations
Enumerating computations on (n) • We have previously seen that computations of one parameter, n, can be enumerated (listed): • C0 (n), C1 (n), C2 (n) .. Cp (n) where Cp is the pth computation on ‘n’. • … I.e. It defines the pth computation of one parameter, (n). • NB. This ordering is computable and in NORMA (where a single input cardinal number is entered to the NORMA program P, via the X register) is defined by the ordering specified by the function nCode (P): • I.e. nCode (P) = p I.e. The pth NORMA computation of one parameter; • NORMAp (X = ‘n’) • Hence A (p, n) is the effective procedure that when presented with p and n attempts to discover if Cp (n) will not halt. • If A (p, n)HALTS we KNOW that Cp (n) does not HALT. (c) Bishop: Consciousness and computations
Penrose’ argument • If A (p, n) halts THEN Cp (n) does not halt. • Let (p = n) [i.e. the Penrose SAP on n; SAP (n)] • IF A (n, n) halts THEN Cn (n) [i.e. SAP (n)] does not halt. • But A (n, n) is a function of one number (n) hence it must occur in the enumeration of C. Let us say it occurs at position k, i.e. it is computation Ck (n) • Hence A (n, n) = Ck (n) Recall k is not a parameter but some specific numeric identifier [label]; i.e. the location of ‘A (n, n)’ in the enumeration of C. • Now we examine the particular computation where (n = k) • Hence, substituting (n = k) into (5) we get: A (k, k) = Ck (k) • But now rewriting [3] with (n = k) we observe: … • iff A (k, k) halts THEN Ck (k) does not halt • Now substituting from [7] into [9] we get the following contradiction [11] if Ck (k) halts: • iff Ck (k) halts THEN Ck (k) does not halt ! • Hence from [11] we know that IF A IS SOUND Ck (k) CANNOT HALT (otherwise we instantiate this contradiction) (c) Bishop: Consciousness and computations
Penrose, “We know what A is unable to ascertain” • 13. But from [7] we know that A (k, k) CANNOT HALT either • As from [7], A (k, k) = Ck (k). • 14. Thus, if A is sound, A is not capable of ascertaining if this particular computation - Ck (k) - does not stop !! • even though A cannot halt if it is sound or, from (11) we get a contradiction. • 15. But if A exists and it is sound WE KNOW - from 12 - that Ck (k) MUST not stop and hence WE KNOW - from 13 - something that, if A is sound, it is provably unable to ascertain. • 16. Hence A cannot encapsulate mathematical understanding. • Penrose, “Human mathematicians are not using a knowably sound argument to ascertain mathematical truth”, (Shadows, pp. 76). (c) Bishop: Consciousness and computations