Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Limits to Computation Computers Can Do Almost {Everything, Nothing} lawrence.

Slides:



Advertisements
Similar presentations
The Development of AI St Kentigerns Academy Unit 3 – Artificial Intelligence.
Advertisements

Chapter 22 Limits to Computation. Copyright © 2013 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Learning Objectives Explain what the Turing.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Algorithmic Thinking What’s the Plan? lawrence snyder c h a p t e r 10.
Half-life of knowledge
CS 484 – Artificial Intelligence
Adversarial Search Chapter 5.
Learning Objectives Explain what the Turing test was designed to show
Chapter 11 Intelligent Support Systems. Agenda Artificial Intelligence Expert Systems (ES) Differences between ES and DSS ES Examples.
Artificial Intelligence
Mastering Chess An overview of common chess AI Adam Veres.
An Introduction to Artificial Intelligence. Introduction Getting machines to “think”. Imitation game and the Turing test. Chinese room test. Key processes.
Learning Objectives Explain similarities and differences among algorithms, programs, and heuristic solutions List the five essential properties of an algorithm.
Chapter 10 Algorithmic Thinking. Copyright © 2013 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Learning Objectives List the five essential.
Chapter 10 What's The Plan?: Algorithmic Thinking.
1 Lecture 33 Introduction to Artificial Intelligence (AI) Overview  Lecture Objectives.  Introduction to AI.  The Turing Test for Intelligence.  Main.
Shallow Blue Project 2 Due date: April 5 th. Introduction Second in series of three projects This project focuses on getting AI opponent Subsequent project.
Chapter 23 Computers Can Do Almost {Everything Nothing}: Limits to Computation.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Fluency with Information Technology Third Edition by Lawrence Snyder Chapter.
Random Administrivia In CMC 306 on Monday for LISP lab.
double AlphaBeta(state, depth, alpha, beta) begin if depth
Ch1 AI: History and Applications Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2011.
Lecture 5 Note: Some slides and/or pictures are adapted from Lecture slides / Books of Dr Zafar Alvi. Text Book - Aritificial Intelligence Illuminated.
Artificial Intelligence in Game Design Problems and Goals.
Chapter 22 Limits to Computation. Learning Objectives Explain what the Turing test was designed to show Discuss the issue of a computer being intelligent.
Chapter 16 Can Computers Think (now or in the future)? Can Computers Think (now or in the future)?
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Introduction to Computers CS Zhizhang Shen Chapter 11: What Can Computers.
Artificial Intelligence (AI) Can Machines Think?.
INTRODUCTION TO COMPUTING CHAPTER NO. 06. Compilers and Language Translation Introduction The Compilation Process Phase 1 – Lexical Analysis Phase 2 –
Othello Artificial Intelligence With Machine Learning
Artificial Intelligence
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Fluency with Information Technology Third Edition by Lawrence Snyder Chapter.
Arrays Tonga Institute of Higher Education. Introduction An array is a data structure Definitions  Cell/Element – A box in which you can enter a piece.
Unsolvability and Infeasibility. Computability (Solvable) A problem is computable if it is possible to write a computer program to solve it. Can all problems.
Game Playing. Towards Intelligence? Many researchers attacked “intelligent behavior” by looking to strategy games involving deep thought. Many researchers.
Application of Artificial Intelligence to Chess Playing Jason Cook Capstone Project.
Software Development Process.  You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy.
Lawrence Snyder University of Washington, Seattle © Lawrence Snyder 2004 What can a computer be commanded to do?
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
How Solvable Is Intelligence? A brief introduction to AI Dr. Richard Fox Department of Computer Science Northern Kentucky University.
Making Decisions uCode: October Review What are the differences between: o BlueJ o Java Computer objects represent some thing or idea in the real.
Introduction to Machine Learning Kamal Aboul-Hosn Cornell University Chess, Chinese Rooms, and Learning.
I Robot.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Fluency with Information Technology Third Edition by Lawrence Snyder Chapter.
Backtracking and Games Eric Roberts CS 106B January 28, 2013.
Erdal Kose CC30.10 These slides are based of Prof. N. Yanofsky Lecture notes.
Artificial intelligence
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Lecture # 39 What Can’t Be Computed?. Computability Tractable problems (P): Can be solved by a a computer is some deterministic (reasonable) polynomial.
SNU OOPSLA Lab. 1 Great Ideas of CS with Java Part 1 WWW & Computer programming in the language Java Ch 1: The World Wide Web Ch 2: Watch out: Here comes.
Chapter 7 What Can Computers Do For Me?. How important is the material in this chapter to understanding how a computer works? 4.
Chapter VI What should I know about the sizes and speeds of computers?
The single most important skill for a computer programmer is problem solving Problem solving means the ability to formulate problems, think creatively.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
Othello Artificial Intelligence With Machine Learning Computer Systems TJHSST Nick Sidawy.
More on Logic Today we look at the for loop and then put all of this together to look at some more complex forms of logic that a program will need The.
Understanding AI of 2 Player Games. Motivation Not much experience in AI (first AI project) and no specific interests/passion that I wanted to explore.
Overview of Artificial Intelligence (1) Artificial intelligence (AI) Computers with the ability to mimic or duplicate the functions of the human brain.
Fluency with Information Technology
Component 1.6.
Othello Artificial Intelligence With Machine Learning
Chapter 11: Artificial Intelligence
Introduction Artificial Intelligent.
Artificial Intelligence (is no match for natural stupidity :)
Artificial Intelligence (is no match for natural stupidity :)
Redeem some dignity My fumble from previous lecture …
Fluency with Information Technology Third Edition
Artificial Intelligence
Algorithms CSCI 235, Spring 2019 Lecture 37 The Halting Problem
Presentation transcript:

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Limits to Computation Computers Can Do Almost {Everything, Nothing} lawrence snyder c h a p t e r 23

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 23-2 Can Computers Think? The Turing Test : –Two identical rooms labeled A and B are connected electronically to a judge who can type questions directed to the occupant of either room. A human is in one room, a computer in the other. –The judge's goal is to decide, based on the questions asked and the answers received, which room contains the computer. –If after a reasonable period of time the judge cannot decide for certain, the computer can be said to be intelligent. –So the test calls a computer intelligent if it acts enough like a human to deceive the judge.

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 23-3 Can Computers Think? (cont'd) The test sidesteps any explicit definition of thinking or intelligence Does not focus on any specific ability Advances in the last half century: –Parsing grammatical structure of natural language –Machine translation of natural language –Recognizing semantically meaningful information

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 23-4 Acting Intelligently? Eliza, the Doctor Program, was programmed to ask questions in dialog like a psychotherapist and a patient Took word cues, noticed use of negatives Dialog was essentially pre-planned to appear intelligent, but was not Artificial Intelligence (AI): To exhibit intelligence, computer has to "understand" a complex situation and reason well enough to act on its understanding (no scripting)

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 23-5 Playing Chess Clean task: Clear rules and definition of success (beat a grand master) The Board Configuration

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 23-6 Playing Chess (cont'd) The Game Tree –To decide on a next move, computer explores each possible move to determine whether it would make things better or worse –Evaluation Function: Assigns a numerical value to each piece and computes a score for the move. Positive score is better; negative score is worse –Computer checks the evaluation function on every legal move

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 23-7

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 23-8 Using the Game Tree Tactically For each board configuration under the Evaluation Function, computer considers every possible next move from opponent and analyzes them –Can't go all the way to end of game in planning because the number of possible moves increases geometrically Using a Database of Knowledge –Computer also has "knowledge"—a database of openings and endgames.

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 23-9 Using Parallel Computation Chess programs improved under this basic logic –Combination of faster computers, more complete databases, and better evaluation functions –Parallel computing—application of several computers to one task—and custom hardware brought possibility of beating a grand master in a tournament

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The Deep Blue Matches 1996, Garry Kasparov vs. IBM's Deep Blue –Deep Blue: parallel computer composed of 32 special purpose computers and 256 custom chess processors –Kasparov won 1997, Kasparov vs. Deep Blue –Kasparov lost

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Interpreting the Outcome of the Matches The problem was basically solved by speed –Deep Blue could look "deeper" into the game tree –But it did so intelligently (raw power fails) –Intelligence may be the ability to consider many alternatives in an informed and directed way –Did it demonstrate that the computer was intelligent, or that IBM's experts and programmers were intelligent? The program responds to new inputs and realizes state not planned by its designers

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Acting Creatively Can a computer be creative? –Can it create art? –Creativity is by definition a process of breaking rules –Java applets that create designs in the style of Mondrian are only producing variations on application of rules, using random numbers But the computer or program did not invent the rules

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 23-13

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Acting Creatively (cont'd) Creativity as a spectrum –Ranges from "flash out of the blue" (inspiration) to "incremental revision“ (hard work) –Hard Work may be algorithmic Bruce Jacob wrote a program to compose musical canons (variations on a theme) Randomly generates new themes, assesses as good or bad, discards bad ones Forcing random variation to fit rules sometimes produces new techniques

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley What Part of Creativity is Algorithmic? The more deeply we understand creativity, the more we find ways in which it is algorithmic To the extent that creativity is algorithmic, a computer can be creative Progress in understanding creativity benefits people too

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The Universality Principle What makes one computer more powerful than another? Any computer using simple instructions could simulate any other computer –Universality Principle: All computers have the same power –All computers can compute the same set of computations (computable functions)

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 23-17

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Universal Information Processor Computer is sufficient for any task if we can buy or write the software needed General purpose, not specialized People play a big role in customizing computers for specific task—one reason IT fluency is important

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Practical Consequences of the Universality Principle Computers perform same computations, but at different rates Obvious difficulties: –Why doesn't Macintosh software run on PC? –How do old machines become outmoded if they're all the same? –Is the computer in my laptop the same as the one in my microwave?

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Macintosh vs. PC Processors have different combinations of instructions –Encoded differently, operate differently, and contain separate instructions –It is possible to write a program for each machine to process instructions of the other machine –The real difference is that the operating systems work differently

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Outmoded Computers Speed is the main difference New software runs slowly on old machines Hardware and software products may be incompatible with older machines –Business decision, not technology impediment

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The Laptop and the Microwave Computers are embedded in consumer products because it is cheaper than implementing same system with custom electronics Embedded computers could run other computer applications, but –Their programs are fixed –They have limited input/output devices

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley More Work, Slower Speed Why do some tasks take longer to compute? Comparing Alphabetize CDs with Face Forward –Recall Alphabetize CDs from Chapter 10 –Consider task of making sure all CDs face forward The amount of work is proportional to the amount of data Work-proportional-to-n algorithm

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Work Proportional to n 2 When we observe that one computation is taking more time than another despite requiring the same amount of data, it is generally because the algorithm does more work to solve the problem Work-proportional-to-n algorithm: –Doing the task on 1000 items takes 1000 times as long as on 1 item Work-proportional-to-n 2 algorithm: –Doing the task on 1000 items takes 1 million times as long as on 1 item (1000^2 is 1 million)

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley How Hard Can a Problem Be? NP-Complete Problems –No known practical algorithmic solutions –Intractable: Only solution is to try all possible solutions and pick the best (like finding the cheapest set of airline tickets for touring n cities) Large data sets cannot be solved with a realistic amount of computer time

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley How Hard Can a Problem Be? (cont'd) Unsolvable Problems –Some problems have no algorithms at all –Computer cannot determine if a program has a bug (like an infinite loop) in it The Nonexistent Loop Checker (LC) –Assuming it exists leads to a contradiction LC is trying to solve the Halting Problem

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley How Hard Can a Problem Be? (cont'd)

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Summary People tend to decide an intellectual activity is not thinking if it as algorithmic. Thinking is probably best defined as “what humans do”, and therefore something computers cannot do. The Turing test is an experimental framework in which we can compare the reasoning capabilities of computers with those of humans To play chess, computers use a game tree, a function to assess board positions, and a database of openings and endgames. Deep Blue from IBM became world chess champ in 1997 (but this did not close the book on the questions of computer intelligence). Creativity occurs on a spectrum: from algorithmic variation (imitating art styles) through incremental revision, to a flash of inspiration. Algorithms have advanced along the spectrum.

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Summary We presume there will be further advancement, but we do not know the end of the algorithmic frontier. We cannot yet tell if creativity is entirely algorithmic. The universality principle says that computers are equivalent in what they can compute. This has theoretical and practical consequences to us. Software companies can write a single application program and translate it into the machine language of any computer, making it available to any users regardless of the platform they own. This means computer vendors compete largely on speed.

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Summary When we are working on n data items, algorithms that are proportional-to-n require much less work (and run much faster) than algorithms that are proportional-to-n^2 Some important problems (called NP-complete problems) require much more computational work than in practical. We call them intractable, meaning they can be solved theoretically but not practically. Many problems we really want to solve are turn out to be NP-complete. Some problems (like the halting problem) cannot be solved by computer at all, no matter how hard we work.