# Cognitive Computing 2013 Consciousness and Computations 7. THE SELF APPLICABILITY PROBLEM (SAP); PENROSE ON UNDERSTANDING UNDERSTANDING Mark Bishop.

## Presentation on theme: "Cognitive Computing 2013 Consciousness and Computations 7. THE SELF APPLICABILITY PROBLEM (SAP); PENROSE ON UNDERSTANDING UNDERSTANDING Mark Bishop."— Presentation transcript:

Cognitive Computing 2013 Consciousness and Computations 7. THE SELF APPLICABILITY PROBLEM (SAP); PENROSE ON UNDERSTANDING UNDERSTANDING Mark Bishop

01/04/2014(c) Bishop: Consciousness and computations2 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.

01/04/2014(c) Bishop: Consciousness and computations3 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.

01/04/2014(c) Bishop: Consciousness and computations4 Totality and computability The algorithm given in the previous seminar for the function Y = X 2 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.

01/04/2014(c) Bishop: Consciousness and computations5 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)= 0iff NORMA p (p) is defined = 1Otherwise

01/04/2014(c) Bishop: Consciousness and computations6 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

01/04/2014(c) Bishop: Consciousness and computations7 … Solution (contd) 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.

01/04/2014(c) Bishop: Consciousness and computations8 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 NORMA p (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.

01/04/2014(c) Bishop: Consciousness and computations9 Enumerating computations on (n) We have previously seen that computations of one parameter, n, can be enumerated (listed): C 0 (n), C 1 (n), C 2 (n).. C p (n) where C p is the p th computation on n. … I.e. It defines the p th 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) = pI.e. The p th NORMA computation of one parameter; NORMA p (X = n) Hence A (p, n) is the effective procedure that when presented with p and n attempts to discover if C p (n) will not halt. If A (p, n) HALTS we KNOW that C p (n) does not HALT.

01/04/2014(c) Bishop: Consciousness and computations10 Penrose argument 1. If A (p, n) halts THEN C p (n) does not halt. 2. Let (p = n) [i.e. the Penrose SAP on n; SAP (n)] 3. IF A (n, n) halts THEN C n (n) [i.e. SAP (n)] does not halt. 4. 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 C k (n) 5. Hence A (n, n) = C k (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. 6. Now we examine the particular computation where (n = k) 7. Hence, substituting (n = k) into (5) we get: A (k, k) = C k (k) 8. But now rewriting [3] with (n = k) we observe: … 9. iff A (k, k) halts THEN C k (k) does not halt 10. Now substituting from [7] into [9] we get the following contradiction [11] if C k (k) halts: 11. iff C k (k) halts THEN C k (k) does not halt ! 12. Hence from [11] we know that IF A IS SOUND C k (k) CANNOT HALT (otherwise we instantiate this contradiction)

01/04/2014(c) Bishop: Consciousness and computations11 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) = C k (k). 14. Thus, if A is sound, A is not capable of ascertaining if this particular computation - C k (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 C k (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).

Similar presentations