why machines can't think (logically)

29
Why Machines Can’t Think (logically) André Vellino [email protected] Carleton University Cognitive Science Program

Upload: andre-vellino

Post on 28-Jun-2015

362 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Why machines can't think (logically)

Why Machines Can’t Think (logically)

André [email protected]

Carleton UniversityCognitive Science Program

Page 2: Why machines can't think (logically)

2

Outlinen General Question:

What do Logic, Complexity Theory and Automated Theorem Proving have to say about the question “can machines think?” (or at least, “can machines reason?”)

n The role of “Logics” in AIn Results in the Complexity of Automated

Theorem Proving Proceduresn Why Machines Can’t Think: The Argumentn The Logicist Response

Page 3: Why machines can't think (logically)

3

Role of “Logics” in AI“[AI is] the study of the computations that make it possible to perceive, reason and act”

Pat Winston

Role of “Logics” is to:n (a) to provide a formal system powerful

enough to model various representations of knowledge, belief and action;

n (b) to characterize mechanisms that specify permissible (aka “valid”) inferences.

Page 4: Why machines can't think (logically)

4

Examples of “Logics” for AIn 2-valued Propositional Calculusn First Order Predicate Calculusn Modal Logic (possibility and necessity)n Deontic Logic (permissions and obligations)n Relevance Logic (logic of “relevant” implication)n Conditional Logic (counterfactuals)n Default Logic (“common sense” reasoning)n Epistemic Logic (beliefs and knowledge)n Description Logics (knowledge representation)

Page 5: Why machines can't think (logically)

5

Example: Defeasible Reasoning

if the traffic light is red then stop (defeasible rule)[in the absence of any further information, i.e. under normal conditions]

Red ⊃ Stop

if the light for going straight is green, then go (straight) (absolute rule)

Green → Go

Page 6: Why machines can't think (logically)

6

Expressive Power of a Logic

n Depends on the complexity of the semantics.

Expressive power of model theory

Other 1st-order Theories

2-valued Propositional Calculus

1st-order Predicate Calculus

Other Propositional Calculi

Page 7: Why machines can't think (logically)

7

Propositional Calculus (PC)PC is the language whose well-formed formulas are composed of a finite combination of:Logical constants:

{ ∨, &, ≡, → }

An infinite set of atomic propositional variables: {a, b, c,..., a1, b1, c1, ....}.e.g. (p → (q → p)) & ((~a ∨ b) ≡ (a → b))

Without Loss of Generality, consider only formulas in Conjunctive Normal Form or “sets of clauses” (clauses are disjunctions)

e.g. {((p ∨ q ∨ r), (~p ∨ s), (r ∨ t)}

Page 8: Why machines can't think (logically)

8

Satisfiability / Unsatisfiability

a set of clauses Σ = {C1, C2, ...Cn} is satisfiable if ∃ an assignment of truth values to literals in Σ such that

C1 & C2 & ...&Cn is true SAT

a set of clauses Σ = {C1, C2, ...Cn} is unsatisfiable if no

assignments of truth values to literals in Σ are such that

C1 & C2 & ...&Cn is true Co-SAT

Page 9: Why machines can't think (logically)

9

Theorem Provers for co-SAT

n To prove T is a tautology, assume ~T and prove that ∅ follows using a theorem prover such as:n Truth Tables (Wittgenstein / Frege / Carroll)n Semantic Tableaux (Beth)n Resolution (Robinson / Davis-Putnam)n Sequent Calculus (Gentzen Systems)n Axioms w/ substitution (Frege Systems)

Page 10: Why machines can't think (logically)

10

Example 1: Semantic Tableaux

Simple example: prove the inconsistency of

(a v b) & (e v f) & (~a v b) & ~b

i.e. {ab, ef,~ab, ~b}

bX

~a

~bX

bX

~a ~a bX

~aX

~cX~b

ϑ

a b

~bX

fe

Page 11: Why machines can't think (logically)

11

Example 2: ResolutionResolution:

a ∪ Β & ~a ∪ C

∴ Β ∪ CFor the set of clauses {ab, ef,~ab,~b}

1) ab premise2) ~ab premise3) ~b premise4) b by resolving on a in 1 & 25) ∅ by resolving on b in 4 & 3

Page 12: Why machines can't think (logically)

12

Computability, Decidability and Feasibility

n Computablen There exists a Turing Machine (“decision

procedure” / “algorithm”) that halts.

n Decidablen Given {Σ, T} it is computable whether Σ |− T or

whether Σ |− ∼ T

n Feasibly Decidablen Decidable by a Turing Machine in polynomial time.

Page 13: Why machines can't think (logically)

13

Polynomial vs. Exponential

n Polynomial complexityn Time (space) grows as a function nk where

n is proportional to the size of the input and k is a constant

n Exponential complexityn Time (space) grows as a function kn where

n is proportional to the size of the input and k is a constant

Page 14: Why machines can't think (logically)

14

The Class Pn P is the class of languages recognizable by a

deterministic Turing Machine in polynomial time.

Example:n tautology (falsifiability) of propositional biconditionals

without negation ((a ≡ b) ≡ (c ≡ b)) ≡ (a ≡ c)

n Integer divisibility (indivisibility) by 2n co-P is the complement of P. P = co-P

Page 15: Why machines can't think (logically)

15

The Class NP / NP-CompleteNP is the class of languages recognizable by a non-deterministicTuring machine in polynomial time

e.g.:all problems in Pall "guess and verify" problems such as

SAT, 3-SATTraveling Salesman, Subgraph Isomorphism

co-NP is the class of languages in the complement of NPe.g.: co-SAT

L is in NP-complete if, for every problem L' in NP there exists a polynomial time transformation from L' to L.

Page 16: Why machines can't think (logically)

16

P

NP

NP-complete

Open Problem: is P =NP ?

n Steve Cook (1971)

P

NP

NP-complete

NP-I

P = NP ?oror

Page 17: Why machines can't think (logically)

17

Strategy for Proof that P ≠ NP

if P = NP then co-NP = NP (since co-P = P )

∴ co-NP ≠ NP implies P ≠ NP

∃ an efficient proof method for TAUT iff co-NP = NP.

∴ if no theorem proving procedure can produce proofs for all tautologies that are a polynomial function of the length of the tautology (i.e. the lengths of all proofs for theorems are exponentially long), then P ≠ NP.

Page 18: Why machines can't think (logically)

18

Summary

n Verify SAT Pp ∨ q & r ∨ ~qT F T T

n Find SAT NPp ∨ q & r ∨ ~q? ? ? ?

n Prove UNSAT co-NPa ∨ b & ~a ∨ b & ~b

Page 19: Why machines can't think (logically)

19

Complexity vs. AI

n Complexity Game (co-NP=NP?)n To find “hard examples” for increasingly

general propositional theorem proving procedures.

n AI Reasoning Game n To find “efficient” and practical theorem-

proving procedures in Logics for AI

Page 20: Why machines can't think (logically)

20

Hard Problems for Resolutionn Pigeon Hole Clauses (Haken ‘85)

n balls can't fit into n-1 holes

~ball_1_is_in_hole_1 v ~ball_2_is_in_hole_1~ball_1_is_in_hole_1 v ~ball_3_is_in_hole_1~ball_2_is_in_hole_1 v ~ball_3_is_in_hole_1~ball_1_is_in_hole_2 v ~ball_2_is_in_hole_2~ball_1_is_in_hole_2 v ~ball_3_is_in_hole_2~ball_2_is_in_hole_2 v ~ball_3_is_in_hole_2

each hole can fit only one ball

n x (n-1)2 clauses

ball_1_is_in_hole_1 v ball_1_is_in_hole_2ball_2_is_in_hole_1 v ball_2_is_in_hole_2ball_3_is_in_hole_1 v ball_3_is_in_hole_2

3 balls can fit into 2 holes

n clauses

Page 21: Why machines can't think (logically)
Page 22: Why machines can't think (logically)

22

Search-Space vs. Proof Length

n For problems in NP (SAT), the search space is exponentially large but the proof is polynomial

n For problems in Co-NP (co-SAT), the minimal length proof is exponential and the search space even larger

Page 23: Why machines can't think (logically)

23

Why Machines Can’t Think

n If (any) “reasoning” is done by “logical rule-following” and

n If any problems that people solve (feasibly) can’t be solved (feasibly) by following rules of logic

Then, eithern people don't reason logicallyorn logic is no foundation for artificial intelligence

Page 24: Why machines can't think (logically)

24

A Few Responses

1) Worst-case complexity is irrelevant because average-case complexity is what matters in practice;

2) Exponential growth is irrelevant if the exponent is small for all realistic inputs

3) There are efficient theorem proving methods that are sound but incomplete;

4) Computational complexity can be overcome by increasing the power of the logic;

Page 25: Why machines can't think (logically)

Selman, Mitchell & Levesque ‘96

Page 26: Why machines can't think (logically)

26

“Exponential” isn’t bad if exponent is small

Page 27: Why machines can't think (logically)

27

Devise Sound, Tractable but Incomplete ATPs

n Vivid Reasoning (Levesque)n Wants to make “believers out of computers” and

devise incomplete but tractable logics that are psychologically realistic (e.g. capture the logic of “mental models” theory – Johnson-Laird)

n Bounded Rationality (Cherniak)n “Rational agents” need to use “a better than

random, but not perfect, gambling strategy for identifying sound inferences”

Page 28: Why machines can't think (logically)

28

Use “Stronger” Logics

n People don’t map ordinary problems (e.g. pigeon-hole problem) into languages (PC) that are computationally hard

n Use a different, more powerful logic in which propositionally-hard-to-prove formulae are easy to prove (e.g. extended resolution)n Problem: punt the exponential-length-of-proof

constraint to a search-for-a-short-proof problem

Page 29: Why machines can't think (logically)

29

Concluding Remarks

n If “language of thought” has a structure that can represented as or even modeled by a logic then you need to characterize what is “infeasibly computable” about it and why;

n If you can understand what inferences are “cognitively hard” for people experimentally, then you can test hypotheses about what “logics” are being used in people to draw inferences.