TM2 - Computation Part II Introduction to Cognitive and...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Computation Part II Introduction to Cognitive and Information Sciences April 21, 2011 Sym Sys 100: Computation, Part II 1 Overview of This Week Last Time: Sym Sys 100: Computation, Part II 2 Overview of This Week Last Time: ￿ Introduction to Turing Machines Sym Sys 100: Computation, Part II 2 Overview of This Week Last Time: ￿ Introduction to Turing Machines ￿ Examples of Coding / Universal Turing Machines Sym Sys 100: Computation, Part II 2 Overview of This Week Last Time: ￿ Introduction to Turing Machines ￿ Examples of Coding / Universal Turing Machines ￿ Church-Turing Thesis Sym Sys 100: Computation, Part II 2 Overview of This Week Last Time: ￿ Introduction to Turing Machines ￿ Examples of Coding / Universal Turing Machines ￿ Church-Turing Thesis ￿ Incomputability Sym Sys 100: Computation, Part II 2 Overview of This Week Last Time: ￿ Introduction to Turing Machines ￿ Examples of Coding / Universal Turing Machines ￿ Church-Turing Thesis ￿ Incomputability This Time: Sym Sys 100: Computation, Part II 2 Overview of This Week Last Time: ￿ Introduction to Turing Machines ￿ Examples of Coding / Universal Turing Machines ￿ Church-Turing Thesis ￿ Incomputability This Time: ￿ Computability and Complexity Sym Sys 100: Computation, Part II 2 Overview of This Week Last Time: ￿ Introduction to Turing Machines ￿ Examples of Coding / Universal Turing Machines ￿ Church-Turing Thesis ￿ Incomputability This Time: ￿ Computability and Complexity ￿ Other (Equivalent) Models of Computation Sym Sys 100: Computation, Part II 2 Overview of This Week Last Time: ￿ Introduction to Turing Machines ￿ Examples of Coding / Universal Turing Machines ￿ Church-Turing Thesis ￿ Incomputability This Time: ￿ Computability and Complexity ￿ Other (Equivalent) Models of Computation ￿ The Computational Theory of Mind Sym Sys 100: Computation, Part II 2 Overview of This Week Last Time: ￿ Introduction to Turing Machines ￿ Examples of Coding / Universal Turing Machines ￿ Church-Turing Thesis ￿ Incomputability This Time: ￿ Computability and Complexity ￿ Other (Equivalent) Models of Computation ￿ The Computational Theory of Mind ￿ Representation and Symbols Sym Sys 100: Computation, Part II 2 Overview of This Week Last Time: ￿ Introduction to Turing Machines ￿ Examples of Coding / Universal Turing Machines ￿ Church-Turing Thesis ￿ Incomputability This Time: ￿ Computability and Complexity ￿ Other (Equivalent) Models of Computation ￿ The Computational Theory of Mind ￿ Representation and Symbols Don’t worry too much about details today, try to focus on the big picture. Sym Sys 100: Computation, Part II 2 Complexity ￿ In Tuesday’s lecture, we were primarily concerned with the abstract notion of computability, and therefore time and space were assumed to be unbounded (though time and space used in any single computation is always finite). Sym Sys 100: Computation, Part II 3 Complexity ￿ In Tuesday’s lecture, we were primarily concerned with the abstract notion of computability, and therefore time and space were assumed to be unbounded (though time and space used in any single computation is always finite). ￿ In other words, as far as computability is concerned, all Turing Machines that compute a given function are created equal. Sym Sys 100: Computation, Part II 3 Complexity ￿ In Tuesday’s lecture, we were primarily concerned with the abstract notion of computability, and therefore time and space were assumed to be unbounded (though time and space used in any single computation is always finite). ￿ In other words, as far as computability is concerned, all Turing Machines that compute a given function are created equal. ￿ When it comes to computing in the real world, we do not have this luxury. Time and space are of the essence. Sym Sys 100: Computation, Part II 3 Complexity ￿ Consider, as an example, different sorting algorithms. Sym Sys 100: Computation, Part II 4 Complexity ￿ Consider, as an example, different sorting algorithms. ￿ An instance of the sorting problem is the following: Given some finite list of numbers as input, produce as output that same list in order from lowest to highest. Sym Sys 100: Computation, Part II 4 Complexity ￿ Consider, as an example, different sorting algorithms. ￿ An instance of the sorting problem is the following: Given some finite list of numbers as input, produce as output that same list in order from lowest to highest. ￿ For example, with input 4, 2, 7, 1, 5, we must give output 1, 2, 4, 5, 7. Sym Sys 100: Computation, Part II 4 Complexity ￿ Consider, as an example, different sorting algorithms. ￿ An instance of the sorting problem is the following: Given some finite list of numbers as input, produce as output that same list in order from lowest to highest. ￿ For example, with input 4, 2, 7, 1, 5, we must give output 1, 2, 4, 5, 7. ￿ This is a central task in numerous applications. Sym Sys 100: Computation, Part II 4 Complexity ￿ Consider, as an example, different sorting algorithms. ￿ An instance of the sorting problem is the following: Given some finite list of numbers as input, produce as output that same list in order from lowest to highest. ￿ For example, with input 4, 2, 7, 1, 5, we must give output 1, 2, 4, 5, 7. ￿ This is a central task in numerous applications. Many algorithms exists, but some are better than others: ￿ Sym Sys 100: Computation, Part II 4 Complexity ￿ Consider, as an example, different sorting algorithms. ￿ An instance of the sorting problem is the following: Given some finite list of numbers as input, produce as output that same list in order from lowest to highest. ￿ For example, with input 4, 2, 7, 1, 5, we must give output 1, 2, 4, 5, 7. ￿ This is a central task in numerous applications. Many algorithms exists, but some are better than others: ￿ • Bubble Sort: Compare first two numbers; swap if in wrong order. Then compare second two, third two, etc. until the end. Then repeat from the beginning, until nothing left to swap. Sym Sys 100: Computation, Part II 4 Complexity ￿ Consider, as an example, different sorting algorithms. ￿ An instance of the sorting problem is the following: Given some finite list of numbers as input, produce as output that same list in order from lowest to highest. ￿ For example, with input 4, 2, 7, 1, 5, we must give output 1, 2, 4, 5, 7. ￿ This is a central task in numerous applications. Many algorithms exists, but some are better than others: ￿ • Bubble Sort: Compare first two numbers; swap if in wrong order. Then compare second two, third two, etc. until the end. Then repeat from the beginning, until nothing left to swap. How long will this take in the worst case scenario? Sym Sys 100: Computation, Part II 4 Complexity ￿ Consider, as an example, different sorting algorithms. ￿ An instance of the sorting problem is the following: Given some finite list of numbers as input, produce as output that same list in order from lowest to highest. ￿ For example, with input 4, 2, 7, 1, 5, we must give output 1, 2, 4, 5, 7. ￿ This is a central task in numerous applications. Many algorithms exists, but some are better than others: ￿ • Bubble Sort: Compare first two numbers; swap if in wrong order. Then compare second two, third two, etc. until the end. Then repeat from the beginning, until nothing left to swap. How long will this take in the worst case scenario? • Merge sort: Use a simple merging operation to merge individual elements, and then groups of elements until the entire list is merged. Sym Sys 100: Computation, Part II 4 Complexity ￿ Consider, as an example, different sorting algorithms. ￿ An instance of the sorting problem is the following: Given some finite list of numbers as input, produce as output that same list in order from lowest to highest. ￿ For example, with input 4, 2, 7, 1, 5, we must give output 1, 2, 4, 5, 7. ￿ This is a central task in numerous applications. Many algorithms exists, but some are better than others: ￿ • Bubble Sort: Compare first two numbers; swap if in wrong order. Then compare second two, third two, etc. until the end. Then repeat from the beginning, until nothing left to swap. How long will this take in the worst case scenario? • Merge sort: Use a simple merging operation to merge individual elements, and then groups of elements until the entire list is merged. How expensive is this in the worst case? Sym Sys 100: Computation, Part II 4 Complexity ￿ But what does this have to do with Turing Machines? Sym Sys 100: Computation, Part II 5 Complexity ￿ But what does this have to do with Turing Machines? ￿ From Papadimitriou’s classic textbook, Computational Complexity: Any reasonable attempt to model mathematically computer algorithms and their performance is bound to end up with a model of computation and associated time cost that is equivalent to Turing machines within a polynomial. Sym Sys 100: Computation, Part II 5 Complexity ￿ But what does this have to do with Turing Machines? ￿ From Papadimitriou’s classic textbook, Computational Complexity: Any reasonable attempt to model mathematically computer algorithms and their performance is bound to end up with a model of computation and associated time cost that is equivalent to Turing machines within a polynomial. ￿ Papadimitriou calls this the Quantitative Church-Turing Thesis. Sym Sys 100: Computation, Part II 5 Complexity ￿ But what does this have to do with Turing Machines? ￿ From Papadimitriou’s classic textbook, Computational Complexity: Any reasonable attempt to model mathematically computer algorithms and their performance is bound to end up with a model of computation and associated time cost that is equivalent to Turing machines within a polynomial. ￿ Papadimitriou calls this the Quantitative Church-Turing Thesis. Sym Sys 100: Computation, Part II 5 Models of Computation Example #1: Standard Programming Languages ￿ In general we say a computational model is Turing-complete if every input/output function definable in one is also definable in the other. (We are now back in the realm of abstract computability.) Sym Sys 100: Computation, Part II 6 Models of Computation Example #1: Standard Programming Languages ￿ In general we say a computational model is Turing-complete if every input/output function definable in one is also definable in the other. (We are now back in the realm of abstract computability.) ￿ Typical programming languages like Java, C++, Pascal, Lisp, and so on, give us our first examples of Turing-complete models of computation. Sym Sys 100: Computation, Part II 6 Models of Computation Example #1: Standard Programming Languages ￿ In general we say a computational model is Turing-complete if every input/output function definable in one is also definable in the other. (We are now back in the realm of abstract computability.) ￿ Typical programming languages like Java, C++, Pascal, Lisp, and so on, give us our first examples of Turing-complete models of computation. • Thus, for example, to show that Java is Turing-complete, we would have to show that for any Turing Machine, we could construct a Java program that computed the same function (and vice versa). Sym Sys 100: Computation, Part II 6 Models of Computation Example #1: Standard Programming Languages ￿ In general we say a computational model is Turing-complete if every input/output function definable in one is also definable in the other. (We are now back in the realm of abstract computability.) ￿ Typical programming languages like Java, C++, Pascal, Lisp, and so on, give us our first examples of Turing-complete models of computation. • Thus, for example, to show that Java is Turing-complete, we would have to show that for any Turing Machine, we could construct a Java program that computed the same function (and vice versa). Crucial features: ￿ ￿ ￿ ￿ Sym Sys 100: Computation, Part II Finite set of symbols; While loops; Functional composition; ... 6 Models of Computation Example #1: Standard Programming Languages ￿ In general we say a computational model is Turing-complete if every input/output function definable in one is also definable in the other. (We are now back in the realm of abstract computability.) ￿ Typical programming languages like Java, C++, Pascal, Lisp, and so on, give us our first examples of Turing-complete models of computation. • Thus, for example, to show that Java is Turing-complete, we would have to show that for any Turing Machine, we could construct a Java program that computed the same function (and vice versa). Crucial features: ￿ ￿ ￿ ￿ ￿ Finite set of symbols; While loops; Functional composition; ... Random Access Memory (RAM) is also Turing-complete. Sym Sys 100: Computation, Part II 6 Models of Computation Example #2: λ-Calculus ￿ The λ-Calculus was invented by Turing’s supervisor, Alonzo Church, and was the main inspiration for functional programming languages. Sym Sys 100: Computation, Part II 7 Models of Computation Example #2: λ-Calculus ￿ ￿ The λ-Calculus was invented by Turing’s supervisor, Alonzo Church, and was the main inspiration for functional programming languages. Computation in the lambda calculus amounts to evaluating functions represented by λ-terms. For example, λx (x + 1) is the λ-term representing the successor function. Sym Sys 100: Computation, Part II 7 Models of Computation Example #2: λ-Calculus ￿ ￿ ￿ The λ-Calculus was invented by Turing’s supervisor, Alonzo Church, and was the main inspiration for functional programming languages. Computation in the lambda calculus amounts to evaluating functions represented by λ-terms. For example, λx (x + 1) is the λ-term representing the successor function. An operation called β-reduction corresponds to making a single computation step. Sym Sys 100: Computation, Part II 7 Models of Computation Example #2: λ-Calculus ￿ ￿ ￿ The λ-Calculus was invented by Turing’s supervisor, Alonzo Church, and was the main inspiration for functional programming languages. Computation in the lambda calculus amounts to evaluating functions represented by λ-terms. For example, λx (x + 1) is the λ-term representing the successor function. An operation called β-reduction corresponds to making a single computation step. For example, we can apply λx (x + 1) to a single argument, say 4, β and applying β-reduction gives us: (λx (x + 1))4 → (4 + 1) = 5. Sym Sys 100: Computation, Part II 7 Models of Computation Example #2: λ-Calculus ￿ ￿ ￿ The λ-Calculus was invented by Turing’s supervisor, Alonzo Church, and was the main inspiration for functional programming languages. Computation in the lambda calculus amounts to evaluating functions represented by λ-terms. For example, λx (x + 1) is the λ-term representing the successor function. An operation called β-reduction corresponds to making a single computation step. For example, we can apply λx (x + 1) to a single argument, say 4, β ￿ and applying β-reduction gives us: (λx (x + 1))4 → (4 + 1) = 5. The power of the λ-calculus comes from the ability to define functions that take functions as arguments; plus the ability to define functions recursively by means of the “Y-combinator”: λy (λx (y )(x )x )λx (y )(x )x Sym Sys 100: Computation, Part II 7 Models of Computation Example #2: λ-Calculus ￿ ￿ ￿ The λ-Calculus was invented by Turing’s supervisor, Alonzo Church, and was the main inspiration for functional programming languages. Computation in the lambda calculus amounts to evaluating functions represented by λ-terms. For example, λx (x + 1) is the λ-term representing the successor function. An operation called β-reduction corresponds to making a single computation step. For example, we can apply λx (x + 1) to a single argument, say 4, β ￿ and applying β-reduction gives us: (λx (x + 1))4 → (4 + 1) = 5. The power of the λ-calculus comes from the ability to define functions that take functions as arguments; plus the ability to define functions recursively by means of the “Y-combinator”: λy (λx (y )(x )x )λx (y )(x )x Theorem The functions definable in λ-calculus are exactly the functions computable by a Turing Machine. Sym Sys 100: Computation, Part II 7 Models of Computation Example #3: Neural Networks ￿ Certain kinds of neural networks can also be seen as implementing input/output functions. Sym Sys 100: Computation, Part II 8 Models of Computation Example #3: Neural Networks ￿ Certain kinds of neural networks can also be seen as implementing input/output functions. Sym Sys 100: Computation, Part II 8 Models of Computation Example #3: Neural Networks ￿ Certain kinds of neural networks can also be seen as implementing input/output functions. ￿ Under certain assumptions about the activation functions and architecture of the network, it can be shown that these models can only implement Turing-computable functions, provided that the values of weights are restricted to rational numbers. Sym Sys 100: Computation, Part II 8 Models of Computation Example #3: Neural Networks ￿ Certain kinds of neural networks can also be seen as implementing input/output functions. ￿ Under certain assumptions about the activation functions and architecture of the network, it can be shown that these models can only implement Turing-computable functions, provided that the values of weights are restricted to rational numbers. If we allow arbitrarily precise real number valued weights, then we can compute non-Turing computable functions. ￿ Sym Sys 100: Computation, Part II 8 Models of Computation Example #3: Neural Networks ￿ Certain kinds of neural networks can also be seen as implementing input/output functions. ￿ Under certain assumptions about the activation functions and architecture of the network, it can be shown that these models can only implement Turing-computable functions, provided that the values of weights are restricted to rational numbers. If we allow arbitrarily precise real number valued weights, then we can compute non-Turing computable functions. Could this be a challenge to the Church-Turing Thesis? ￿ ￿ Sym Sys 100: Computation, Part II 8 Computational Theory of Mind Computation and the Mind ￿ We now turn to the question of what computation might have to do with the workings of the human mind. Sym Sys 100: Computation, Part II 9 Computational Theory of Mind Computation and the Mind ￿ We now turn to the question of what computation might have to do with the workings of the human mind. ￿ One of the central goals of cognitive science and AI is to build computational models, including actual implementations, of mental phenomena. What is the status of these models? Sym Sys 100: Computation, Part II 9 Computational Theory of Mind Computation and the Mind ￿ We now turn to the question of what computation might have to do with the workings of the human mind. ￿ One of the central goals of cognitive science and AI is to build computational models, including actual implementations, of mental phenomena. What is the status of these models? ￿ We have seen that almost all of these models are equivalent on one level: in terms of their input/output behavior. Sym Sys 100: Computation, Part II 9 Computational Theory of Mind Computation and the Mind ￿ We now turn to the question of what computation might have to do with the workings of the human mind. ￿ One of the central goals of cognitive science and AI is to build computational models, including actual implementations, of mental phenomena. What is the status of these models? ￿ We have seen that almost all of these models are equivalent on one level: in terms of their input/output behavior. The Computational Theory of Mind subsumes all of these. Sym Sys 100: Computation, Part II 9 Computational Theory of Mind Computation and the Mind ￿ We now turn to the question of what computation might have to do with the workings of the human mind. ￿ One of the central goals of cognitive science and AI is to build computational models, including actual implementations, of mental phenomena. What is the status of these models? ￿ We have seen that almost all of these models are equivalent on one level: in terms of their input/output behavior. The Computational Theory of Mind subsumes all of these. ￿ At the same time, they make very different claims about the processing that leads from input to output. What does this difference come down to? Sym Sys 100: Computation, Part II 9 Computational Theory of Mind Implementing a Computation Quotation from the assigned paper by D. Chalmers: A physical system implements a given computation when there exists a grouping of physical states of the system into state-types and a one-to-one mapping from formal states of the computation to physical state-types, such that formal states related by an abstract state-transition relation are mapped onto physical state-types related by a corresponding causal state-transition relation. Sym Sys 100: Computation, Part II 10 Computational Theory of Mind Implementing a Computation Quotation from the assigned paper by D. Chalmers: A physical system implements a given computation when there exists a grouping of physical states of the system into state-types and a one-to-one mapping from formal states of the computation to physical state-types, such that formal states related by an abstract state-transition relation are mapped onto physical state-types related by a corresponding causal state-transition relation. ￿ In other words there is assumed to be an isomorphism between the abstract structure of the computational model and the physical causal structure of the world. Sym Sys 100: Computation, Part II 10 Computational Theory of Mind Implementing a Computation Quotation from the assigned paper by D. Chalmers: A physical system implements a given computation when there exists a grouping of physical states of the system into state-types and a one-to-one mapping from formal states of the computation to physical state-types, such that formal states related by an abstract state-transition relation are mapped onto physical state-types related by a corresponding causal state-transition relation. ￿ In other words there is assumed to be an isomorphism between the abstract structure of the computational model and the physical causal structure of the world. This is meant to apply to: Sym Sys 100: Computation, Part II 10 Computational Theory of Mind Implementing a Computation Quotation from the assigned paper by D. Chalmers: A physical system implements a given computation when there exists a grouping of physical states of the system into state-types and a one-to-one mapping from formal states of the computation to physical state-types, such that formal states related by an abstract state-transition relation are mapped onto physical state-types related by a corresponding causal state-transition relation. ￿ In other words there is assumed to be an isomorphism between the abstract structure of the computational model and the physical causal structure of the world. This is meant to apply to: • digital computers, Sym Sys 100: Computation, Part II 10 Computational Theory of Mind Implementing a Computation Quotation from the assigned paper by D. Chalmers: A physical system implements a given computation when there exists a grouping of physical states of the system into state-types and a one-to-one mapping from formal states of the computation to physical state-types, such that formal states related by an abstract state-transition relation are mapped onto physical state-types related by a corresponding causal state-transition relation. ￿ In other words there is assumed to be an isomorphism between the abstract structure of the computational model and the physical causal structure of the world. This is meant to apply to: • digital computers, • brains, Sym Sys 100: Computation, Part II 10 Computational Theory of Mind Implementing a Computation Quotation from the assigned paper by D. Chalmers: A physical system implements a given computation when there exists a grouping of physical states of the system into state-types and a one-to-one mapping from formal states of the computation to physical state-types, such that formal states related by an abstract state-transition relation are mapped onto physical state-types related by a corresponding causal state-transition relation. ￿ In other words there is assumed to be an isomorphism between the abstract structure of the computational model and the physical causal structure of the world. This is meant to apply to: • digital computers, • brains, • and anything else that we might think of as computing. Sym Sys 100: Computation, Part II 10 Computational Theory of Mind Implementing a Computation Quotation from the assigned paper by D. Chalmers: A physical system implements a given computation when there exists a grouping of physical states of the system into state-types and a one-to-one mapping from formal states of the computation to physical state-types, such that formal states related by an abstract state-transition relation are mapped onto physical state-types related by a corresponding causal state-transition relation. ￿ ￿ In other words there is assumed to be an isomorphism between the abstract structure of the computational model and the physical causal structure of the world. This is meant to apply to: • digital computers, • brains, • and anything else that we might think of as computing. Chalmers goes on to argue that mind just is physical implementation of a computation. We can remain agnostic about this further claim. Sym Sys 100: Computation, Part II 10 Computational Theory of Mind Levels of Analysis ￿ In principle, this allows for different levels of analysis, or different levels of computation. Sym Sys 100: Computation, Part II 11 Computational Theory of Mind Levels of Analysis ￿ In principle, this allows for different levels of analysis, or different levels of computation. ￿ Consider the case of digital computers: Sym Sys 100: Computation, Part II 11 Computational Theory of Mind Levels of Analysis ￿ In principle, this allows for different levels of analysis, or different levels of computation. ￿ Consider the case of digital computers: • • • • High-level programming languages (Java, C++, etc.); Low-level machine code; Electrical circuits; ... Sym Sys 100: Computation, Part II 11 Computational Theory of Mind Levels of Analysis ￿ In principle, this allows for different levels of analysis, or different levels of computation. ￿ Consider the case of digital computers: • • • • ￿ High-level programming languages (Java, C++, etc.); Low-level machine code; Electrical circuits; ... Inspired by the case of digital computers, many have argued that the mind can also be studied at a high level, analogous to high-level programming languages. Sym Sys 100: Computation, Part II 11 Computational Theory of Mind Levels of Analysis ￿ In principle, this allows for different levels of analysis, or different levels of computation. ￿ Consider the case of digital computers: • • • • High-level programming languages (Java, C++, etc.); Low-level machine code; Electrical circuits; ... ￿ Inspired by the case of digital computers, many have argued that the mind can also be studied at a high level, analogous to high-level programming languages. ￿ This is related to D. Marr’s idea of different levels of analysis: 1. Implementational level; 2. Algorithmic level; 3. Computational level. Sym Sys 100: Computation, Part II 11 Symbols and Representations ￿ It is ultimately an empirical question what kinds of computational models work to explain what kinds of behavior. This is a matter of subjecting models to experiments. Sym Sys 100: Computation, Part II 12 Symbols and Representations ￿ It is ultimately an empirical question what kinds of computational models work to explain what kinds of behavior. This is a matter of subjecting models to experiments. ￿ One of the conceptual difficulties is that it is unclear what the elements of the relevant computations are supposed to be. Sym Sys 100: Computation, Part II 12 Symbols and Representations ￿ It is ultimately an empirical question what kinds of computational models work to explain what kinds of behavior. This is a matter of subjecting models to experiments. ￿ One of the conceptual difficulties is that it is unclear what the elements of the relevant computations are supposed to be. In Chalmers’ terminology, we need to know what the physical objects are that we suppose are involved in the relevant causal relations. Sym Sys 100: Computation, Part II 12 Symbols and Representations ￿ It is ultimately an empirical question what kinds of computational models work to explain what kinds of behavior. This is a matter of subjecting models to experiments. ￿ One of the conceptual difficulties is that it is unclear what the elements of the relevant computations are supposed to be. In Chalmers’ terminology, we need to know what the physical objects are that we suppose are involved in the relevant causal relations. • Single firings of single neurons? Sym Sys 100: Computation, Part II 12 Symbols and Representations ￿ It is ultimately an empirical question what kinds of computational models work to explain what kinds of behavior. This is a matter of subjecting models to experiments. ￿ One of the conceptual difficulties is that it is unclear what the elements of the relevant computations are supposed to be. In Chalmers’ terminology, we need to know what the physical objects are that we suppose are involved in the relevant causal relations. • Single firings of single neurons? • Patterns of firing among clusters of neurons? Sym Sys 100: Computation, Part II 12 Symbols and Representations ￿ It is ultimately an empirical question what kinds of computational models work to explain what kinds of behavior. This is a matter of subjecting models to experiments. ￿ One of the conceptual difficulties is that it is unclear what the elements of the relevant computations are supposed to be. In Chalmers’ terminology, we need to know what the physical objects are that we suppose are involved in the relevant causal relations. • Single firings of single neurons? • Patterns of firing among clusters of neurons? • Something more abstract? Sym Sys 100: Computation, Part II 12 Symbols and Representations ￿ It is ultimately an empirical question what kinds of computational models work to explain what kinds of behavior. This is a matter of subjecting models to experiments. ￿ One of the conceptual difficulties is that it is unclear what the elements of the relevant computations are supposed to be. In Chalmers’ terminology, we need to know what the physical objects are that we suppose are involved in the relevant causal relations. • Single firings of single neurons? • Patterns of firing among clusters of neurons? • Something more abstract? ￿ The question is, what are the basic building blocks of the mind? Sym Sys 100: Computation, Part II 12 Symbols and Representations Interlude: Representation Repeated from the Stanford Bulletin entry for Symbolic Systems: The observation that both human beings and computers can manipulate symbols lies at the heart of Symbolic Systems, an interdisciplinary program focusing on the relationship between natural and artificial systems that represent, process, and act on information. Sym Sys 100: Computation, Part II 13 Symbols and Representations Interlude: Representation Repeated from the Stanford Bulletin entry for Symbolic Systems: The observation that both human beings and computers can manipulate symbols lies at the heart of Symbolic Systems, an interdisciplinary program focusing on the relationship between natural and artificial systems that represent, process, and act on information. A number of questions: Sym Sys 100: Computation, Part II 13 Symbols and Representations Interlude: Representation Repeated from the Stanford Bulletin entry for Symbolic Systems: The observation that both human beings and computers can manipulate symbols lies at the heart of Symbolic Systems, an interdisciplinary program focusing on the relationship between natural and artificial systems that represent, process, and act on information. A number of questions: ￿ What is information? Sym Sys 100: Computation, Part II 13 Symbols and Representations Interlude: Representation Repeated from the Stanford Bulletin entry for Symbolic Systems: The observation that both human beings and computers can manipulate symbols lies at the heart of Symbolic Systems, an interdisciplinary program focusing on the relationship between natural and artificial systems that represent, process, and act on information. A number of questions: ￿ What is information? ￿ What are symbols? Sym Sys 100: Computation, Part II 13 Symbols and Representations Interlude: Representation Repeated from the Stanford Bulletin entry for Symbolic Systems: The observation that both human beings and computers can manipulate symbols lies at the heart of Symbolic Systems, an interdisciplinary program focusing on the relationship between natural and artificial systems that represent, process, and act on information. A number of questions: ￿ What is information? ￿ What are symbols? ￿ What is it for one thing to represent something else? Sym Sys 100: Computation, Part II 13 Symbols and Representations Interlude: Representation Repeated from the Stanford Bulletin entry for Symbolic Systems: The observation that both human beings and computers can manipulate symbols lies at the heart of Symbolic Systems, an interdisciplinary program focusing on the relationship between natural and artificial systems that represent, process, and act on information. A number of questions: ￿ What is information? ￿ What are symbols? ￿ What is it for one thing to represent something else? Sym Sys 100: Computation, Part II 14 Symbols and Representations Symbolic Representation ￿ By virtue of what does a word like “squirrel” stand for squirrels? Sym Sys 100: Computation, Part II 15 Symbols and Representations Symbolic Representation ￿ By virtue of what does a word like “squirrel” stand for squirrels? ￿ Presumably it has something to do with a convention that has been set up, by some speech community. Sym Sys 100: Computation, Part II 15 Symbols and Representations Symbolic Representation ￿ By virtue of what does a word like “squirrel” stand for squirrels? ￿ Presumably it has something to do with a convention that has been set up, by some speech community. ￿ There is nothing inherent to the word “squirrel”, in either its phonological or orthographic representation, that connects it essentially to squirrels. Sym Sys 100: Computation, Part II 15 Symbols and Representations Symbolic Representation ￿ By virtue of what does a word like “squirrel” stand for squirrels? ￿ Presumably it has something to do with a convention that has been set up, by some speech community. ￿ There is nothing inherent to the word “squirrel”, in either its phonological or orthographic representation, that connects it essentially to squirrels. ￿ We might call this symbolic representation. It is very much characteristic of Turing Machines, λ-calculus, computer programs, and any other “purely formal” models of computation. Sym Sys 100: Computation, Part II 15 Symbols and Representations Symbolic Representation ￿ By virtue of what does a word like “squirrel” stand for squirrels? ￿ Presumably it has something to do with a convention that has been set up, by some speech community. ￿ There is nothing inherent to the word “squirrel”, in either its phonological or orthographic representation, that connects it essentially to squirrels. ￿ We might call this symbolic representation. It is very much characteristic of Turing Machines, λ-calculus, computer programs, and any other “purely formal” models of computation. ￿ Question: In what ways, if any, could the mind be said to compute over symbolic representations? Sym Sys 100: Computation, Part II 15 Symbols and Representations Symbolic Representation ￿ By virtue of what does a word like “squirrel” stand for squirrels? ￿ Presumably it has something to do with a convention that has been set up, by some speech community. ￿ There is nothing inherent to the word “squirrel”, in either its phonological or orthographic representation, that connects it essentially to squirrels. ￿ We might call this symbolic representation. It is very much characteristic of Turing Machines, λ-calculus, computer programs, and any other “purely formal” models of computation. ￿ Question: In what ways, if any, could the mind be said to compute over symbolic representations? ￿ Recall Searle’s Chinese Room thought experiment from the reading in the first week. Do you find it convincing? Sym Sys 100: Computation, Part II 15 Symbols and Representations ￿ What are the alternatives? Sym Sys 100: Computation, Part II 16 Symbols and Representations ￿ ￿ What are the alternatives? What does the following represent, and how? Sym Sys 100: Computation, Part II 16 Symbols and Representations ￿ ￿ ￿ What are the alternatives? What does the following represent, and how? Some representations seem to be iconic or imagistic, in the sense that the relation holds by virtue of similarity or direct analogy. Sym Sys 100: Computation, Part II 16 Symbols and Representations ￿ ￿ ￿ ￿ What are the alternatives? What does the following represent, and how? Some representations seem to be iconic or imagistic, in the sense that the relation holds by virtue of similarity or direct analogy. N.B., many representations, like that above or like the word “chick-a-dee”, are something in between symbolic and iconic. Sym Sys 100: Computation, Part II 16 Symbols and Representations ￿ ￿ ￿ ￿ ￿ What are the alternatives? What does the following represent, and how? Some representations seem to be iconic or imagistic, in the sense that the relation holds by virtue of similarity or direct analogy. N.B., many representations, like that above or like the word “chick-a-dee”, are something in between symbolic and iconic. Are there representations in our mind that are somehow imagistic in character? And how could demonstrate this? Sym Sys 100: Computation, Part II 16 Symbols and Representations Shepard’s Mental Rotation Experiments Sym Sys 100: Computation, Part II 17 Symbols and Representations Shepard’s Mental Rotation Experiments ￿ Subjects are asked to determine whether two figures are identical by “mentally rotating” one until it fits the shape of the second. Sym Sys 100: Computation, Part II 17 Symbols and Representations Shepard’s Mental Rotation Experiments ￿ ￿ Subjects are asked to determine whether two figures are identical by “mentally rotating” one until it fits the shape of the second. The amount of time it takes to find the solution correlates very closely with the degree of rotation between the figures, suggesting that there is some reality to these “mental images”. Sym Sys 100: Computation, Part II 17 Symbols and Representations Shepard’s Mental Rotation Experiments ￿ ￿ ￿ Subjects are asked to determine whether two figures are identical by “mentally rotating” one until it fits the shape of the second. The amount of time it takes to find the solution correlates very closely with the degree of rotation between the figures, suggesting that there is some reality to these “mental images”. Some have taken this to show there are representations in the mind or brain with pictorial or imagistic properties. Sym Sys 100: Computation, Part II 17 Symbols and Representations Cognition without Representation? ￿ Recently some researchers have challenged the computational theory of mind from other directions. Sym Sys 100: Computation, Part II 18 Symbols and Representations Cognition without Representation? ￿ Recently some researchers have challenged the computational theory of mind from other directions. ￿ Some think the very idea of representation is misguided, and with it goes computation (so they argue). Sym Sys 100: Computation, Part II 18 Symbols and Representations Cognition without Representation? ￿ Recently some researchers have challenged the computational theory of mind from other directions. ￿ Some think the very idea of representation is misguided, and with it goes computation (so they argue). ￿ Perhaps human behavior is better modeled as a complex dynamical system, the way we analyze other physical systems? Sym Sys 100: Computation, Part II 18 Symbols and Representations Summary Main points from today: Sym Sys 100: Computation, Part II 19 Symbols and Representations Summary Main points from today: ￿ Within the realm of computable procedures and programs, complexity is an important measure of feasibility and tractability. Sym Sys 100: Computation, Part II 19 Symbols and Representations Summary Main points from today: ￿ Within the realm of computable procedures and programs, complexity is an important measure of feasibility and tractability. ￿ There are many different models of computation, which on a very abstract level are all equivalent to the Turing Machine. Sym Sys 100: Computation, Part II 19 Symbols and Representations Summary Main points from today: ￿ Within the realm of computable procedures and programs, complexity is an important measure of feasibility and tractability. ￿ There are many different models of computation, which on a very abstract level are all equivalent to the Turing Machine. ￿ To compare them and understand how each one works, we have to understand how they compute and what they compute over. Sym Sys 100: Computation, Part II 19 Symbols and Representations Summary Main points from today: ￿ Within the realm of computable procedures and programs, complexity is an important measure of feasibility and tractability. ￿ There are many different models of computation, which on a very abstract level are all equivalent to the Turing Machine. ￿ To compare them and understand how each one works, we have to understand how they compute and what they compute over. ￿ This brought us to the topic of representation and the relationship between computation and the mind. What is “the stuff of thought”? Sym Sys 100: Computation, Part II 19 Symbols and Representations Summary Main points from today: ￿ Within the realm of computable procedures and programs, complexity is an important measure of feasibility and tractability. ￿ There are many different models of computation, which on a very abstract level are all equivalent to the Turing Machine. ￿ To compare them and understand how each one works, we have to understand how they compute and what they compute over. ￿ This brought us to the topic of representation and the relationship between computation and the mind. What is “the stuff of thought”? Next week: ￿ Logic and Reasoning Sym Sys 100: Computation, Part II 19 ...
View Full Document

This document was uploaded on 05/28/2011.

Ask a homework question - tutors are online