Post on 31-Mar-2015
Artificial Intelligence
What is Artificial Intelligence (AI)?
A good question First answer the more
fundamental/basic question:
What is Intelligence?
What is Intelligence?
If you asked 10 people, you'd probably get 10 answers The ability to learn from experience The power of thought The ability to reason The power of insight Intuition Synonymous with Knowledge
But What is AI?
Text defn: “the part of computer science that attempts to make computers act like human beings”
• Marvin the Paranoid Android?
Another by Dr. Astro Teller: “A.I. is the science of how to get
machines to do the things they do in the movies.”
So what do they do in the movies?
YAD of AI
YAD = Yet Another Definition
“Artificial Intelligence is the study of ideas which enable computers to do the things which make people seem intelligent”
And YAD (Patrick Henry Winston): “Artificial intelligence is the study of the
computations that make it possible to perceive, reason, and act.”
AI: 1956
Solving word problems in algebra
Proving logical theoremsSpeaking English
1956, Simon: “machines will be capable within twenty years, of doing any work man can do”
1967, Minsky: “Within a generation… the problem of creating ‘artifical intelligence” will substantially be solved.”
Why didn’t it come true?
Why didn’t it come true? Lack of raw computer power
Intractable combinatorial explosion of algorithms
Representing common sense knowledge and doing coming sense reasoning
Incredible difficulty of perception and motion
Failings of logic
1974:
DARPA cut AI funding
1980s
Commercial success of expert systems
1990s
Data mining
Medical diagnosis
Solving specific sub-problems
The Two Themes of AI
Hard AI – make computers do what humans do Eventually computers will think
Soft AI – make computers more sophisticated Lets make computers better at solving
some of our day-to-day problems
What Does AI Do?
Play Games
Natural Language Processing
Planning
Diagnosis and analysis
Pattern recognition (handwriting, voice, etc)
Can A Machine Think?
According to Dijkstra: “... the question of whether Machines
Can Think, ... is about as relevant as the question of whether Submarines Can Swim.”
Dijkstra's doubts aside: What “test” can a computer pass to be determined “intelligent”?
The Turing Test
Proposed by guess who....
“A machine may be deemed intelligent when it can pass for a human being in a blind test.”
That is, if we cannot tell if a computer is a computer, it passes the Turing test.
Turing Test Example
But
Is the Turing test adequate?
Any potential problems with it?
Is This Adequate?
Possible problems: The machine doesn't understand
things Its success is largely dependent
upon the examiner
No Understanding
Ex: The Chinese Room Thought Experiment proposed by John Searle
A thought experiment aimed at showing conscious computers are impossible
Chinese Room Thought Experiment
Take a man who does not speak Chinese and lock him in a room
Give him a rule book which indicates how to answer questions in English
Thus he can translate anything from Chinese to English, but has no understanding of Chinese
Success Dependent Upon Examiner
Ex: Eliza - A program which for many people passed the Turing Test
Simulated a psychotherapist by using simple pattern matching and keyword recognition
Success Dependent Upon Examiner
Ex: Eliza - http://www-ai.ijs.si/eliza/eliza.html
Eliza Example
Eliza: “What is bothering you?”
Patient: “I feel sad all the time.”
Eliza: (recognizes “I feel...”): “Why do you feel sad all the time?”
Patient: “I don’t get along with my parents.”
Eliza: (recognizes “my parents”): “Tell me about your parents.”
Is this system Intelligent?
Why Bother With AI?
Because computers are stupid (but powerful)
Wouldn't it be nice if they:
Just knew what you want
Used more common sense
Were more tolerant of errors
Filled in the monotonous details of tasks because they're obvious
AI helps to achieve these goals
Knowledge Representation
How do we encode knowledge in a computer system?
Many possibilities including: Natural Language Formal Language Pictorial Graphical
Natural Language
“There's like, this, like dog, with a whole bunch of spots”
Complex semantics Humans can understand easily Computers not so much
Formal Language
Precise, Complete, Explicit, and most importantly: machine-processable
“There exists a dog. The dog has spots. The number of spots is greater than 10”
Can use formal logic mechanisms to represent
Pictorial
As the saying goes: “A picture is worth 1K words”
Rich for humans (ex maps)
But difficult for computers to understand Ex problem: Face Recognition
Graph-Based
Use graphs to represent a “knowledge network”
Use mathematical properties to analyse or manipulate them
Plus: easy for computers
Evaluating Knowledge Representation Schemes
All Knowledge Representation Schemes should have: Adequacy (captures what you need) Efficient (captures what you need and no
more) Extendible (ability to add new knowledge) Appropriate (good fit for domain and
application)
Games
Early AI work focused on games (ex Chess, Checkers) Easy to represent in a computer Clearly defined rules Unmistakable goals (and besides, games are fun)
Researchers tried to create programs which could win consistently
Games (cont)
Early successes include Arthur Samuel's program for playing checkers in 1952 which could play at a very strong amateur level
More recent successes: IBM's Deep Blue
Games (cont)
While games don't seem practical, many useful techniques emerged from this research including: Solving By Searching Pattern recognition/matching Machine Learning
Lets look at Solving By Searching
Solving By Searching
“Intelligent Searching” in the text
Involves representing the problem as a graph, and finding a solution in the form of a path through the graph
Nodes in the graph are “states” in the problem
Edges represent valid “moves” from one state to another
Solving By Searching (cont)
A problem formulated this way has: A start state
A successor function which tells us which “moves” are valid from a particular state
A goal test to see if we have a solution (if the current state is one of the solution states)
Example Problem - 8-Queens
From chess: can we place 8 queens on a standard 8x8 chess board such that no queen attacks another
8-Queens
Formulate problem as a tree, where each “node” represents a particular board configuration, and each “child” of a node is another configuration which can result from applying the successor function to the parent
Start state? Successor Function? Goal Test?
8-Queens As A Graph
.......
8-Queens
To solve, we just pick the node which represents the starting configuration, and follow paths through the graph until we find one which has the desired solution
Very simple, so what's the problem?
8-Queens Graph
For 8 queens on a 8x8 board, the graph has:
64! = 64 * 63 * 62 * .... * 2 = 1.8 X 10^4 different configurations
Even worse for larger boards/# of queens
Way too big to search by “brute force”
Can we do better?
informed search strategies
constraint satisfaction problems
See CSC 421 for more info
Expert Systems
Sometimes called “decision support systems”, “knowledge-based systems”, or “rule-based systems”
Systems used to help decision-makers make decisions in complex environments Ex – financial decisions for banks such as
credit checks
Expert Systems (cont)
Consist of: A knowledge base (a set of facts) An inference engine (a mechanism for
selecting relevant facts and reasoning from them)
Expert Systems
Typically encode facts into propositional forms and use formal logic to infer new knowledge from those facts
What programming language does this sound like?
Two main approaches to inference:
Forward chaining – reason from premises to conclusion
Backward chaining – reason from conclusion to premises
Compelling AI today
Your stock portfolio automatically modifies your market position and executes “smart” trades for you.
Your car does your driving for you. Robots handle your housecleaning, yard
work and cooking. Your groceries are automatically ordered
based on preferences and patterns in purchasing.
Compelling AI Today
Your bills and deposits are automatically managed because computer systems have learned your payment schedule.
3rd Generation “smart” search engines that allow you to get your information with more precision to help manage the ever-growing web.
Compelling AI Today
Competitive intelligence is managed by smart AI agents the peruse the web to look for relevant information (new releases, prices, marketing strategies, etc.)
Compelling AI Today
Drug researchers can utilize the intelligence for intensive bio-computational modeling in relation to the enormous amount of data from the human genome project to help find cures in ways never thought of.
Ethical Considerations – Threat to Society?
The view of “hard AI” is that eventually machines will be more intelligent than their creators
Fodder for many sci-fi movies/TV shows/books
Potentially scary, will AI in the future be like Data or The Terminator?
See Theodore John “Ted” Kaczynski
Ethical Considerations – Job Loss?
Technological advancement can render certain jobs redundant
AI (it is argued) will further this trend
Valid concern, or fear of technology? Luddites
Food For Thought
The main lesson of thirty-five years of AI research is that the hard problems are easy and the easy problems are hard. The mental abilities of a four-year-old that we take for granted - recognizing a face, lifting a pencil, walking across the room, answering a question - in fact solve some of the hardest engineering problems ever conceived... As the new generation of intelligent devices appears, it will be the stock analysts and petrochemical engineers and parole board members who are in danger of being replaced by machines. The gardeners, receptionists, and cooks are secure in their jobs for decades to come.
-- Steven Pinker, The Language Instinct