320 likes | 630 Views
Why study AI anyway?. Because it is ?cutting edge research". What is the most complicated and impressive thing that you know of?Your own brainCurious how it works?. Why do we need AI anyway?. Will now see selected examples of currently active areas in which AI, and AI techniques, are important. A
E N D
1. G51IAIIntroduction to Artificial Intelligence Andrew Parkes
http://www.cs.nott.ac.uk/~ajp/
2. Why study AI anyway?
3. Because it is “cutting edge research” What is the most complicated and impressive thing that you know of?
Your own brain
Curious how it works?
4. Why do we need AI anyway?
Will now see selected examples of currently active areas in which AI, and AI techniques, are important
5. Autonomous Vehicles Think of “robot wars” but with a computer doing the controls – not a human on the radio control
Suppose you are going to take a winning robot from robot wars,
and make it autonomous,
and still win.
What software components do you think you will need?
Partial List:
Vision processing
Path planning
don’t want to fall into holes
Action planning: “if I move to the right of my opponent then I can use my hammer to attack the weak spot on their left flank”
6. Robosoccer Program robots to play football
Autonomous not remote controlled by humans!
There is work on this at Nottingham!
http://grumpy.cs.nott.ac.uk/~robots/wiki/index.php/The_Robot_Soccer_Project
http://grumpy.cs.nott.ac.uk/~robots/wiki/index.php/3rd_Year_Project_Ideas
7. DARPA grand challenge Take an all-terrain vehicle or SUV
Give it a camera
Give it a computer
Connect computer to steering controls etc
Have it drive by itself 130 miles through the desert
Racing against others
For $2 million in cash
http://www.darpa.mil/grandchallenge05/gcorg/index.html
8. DARPA grand challenge
9. Europa Europa is one of the moons of Jupiter
It has an ice surface, and it is believed possible that there is an ocean underneath (like our artic)
Oceans might support life even in extreme conditions – e.g. thermal vents
“Life on Europathe hunt for life on Mars will be a fossil hunt - the hunt for life on Europa will be for actual life.”
http://www.resa.net/nasa/europa_life.htm
“Nasa is preparing plans for a possible mission to Europa that would put a lander on the surface. It has even been suggested that a mission could be devised that would drill through the ice layer and release a probe into the liquid underment. This is the "hydrobot" concept.”
The probe would need to be autonomous and quite intelligent to cope with the unknown conditions
10. Europa Hydrobot http://www.resa.net/nasa/images/gem/HYDROBOT.JPG
11. “Semantic Web” Current web pages are HTML
Text written with a markup language of “tags” to tell the browser what to do
Hypertext links
“click here to go to a different page”
Structural Markup Only
E.g.
<h2>This is a level 2 header</h2>
<p>This is a paragraph with <b>this</b> in bold</p>
12. “Semantic Web” Want to move to “semantic markup”
Text written with a markup language of “tags” to tell the reader the meaning of the entries
In contrast, “structural markup” only says how to format them on the page
Example: XML, e.g.
<person> <last-name>Berners-Lee</last-name>
<first-name>Tim</first-name>
</person>
13. “Semantic Web” There is a lot of work on “Ontologies”:
Ontology = Sets of rules for the meanings of the entries in a semantic markup language (extensions of XML)
Want to use the ontologies in order to
verify that the information is consistent with the ontology
e.g. for housing might have tags for house type and numbers of floors
and could check that a “bungalow” has only one floor
deduce new information
e.g. that the bungalow only has one floor even if we are not told so explicitly
14. “Semantic Web” For example, a current proposed standard is OWL
“The OWL Web Ontology Language is designed for use by applications that need to process the content of information instead of just presenting information to humans.”
http://www.w3.org/TR/owl-features/
If you are interested in web technologies then you might want to do web searches for terms such as “semantic web”, XML, RDF, OWL, etc
Reasoning with and about ontologies can give very difficult search problems
far harder than we will do in this course
but often using extensions of the techniques we will talk about
15. Informal Notion of “AI completeness” Many problems once you delve deep enough to end up requiring a large subset of the AI techniques
Sometime known, very informally, as “AI completeness”
Means that if can you solve one of these deep hard problems well, then the techniques will probably help you solve others
Do not need to worry too much about whether the area of study too restricted because the techniques might well be portable
16. Why is AI hard? Two usual ingredients (for standard AI)
Representation
need to represent our knowledge in computer readable form
Reasoning
need to be able to manipulate knowledge and derive new knowledge
many possible ways to do this, but most give rubbish
finding the successful way usually involves search
Both of these are hard.
17. Why is search hard?
The “Combinatorial Explosion”
18. The Travelling Salesman Problem (TSP) A salesperson has to visit a number of cities
(S)He can start at any city and must finish at that same city
The salesperson must visit each city only once
For example, with 5 cities a possible tour is:
19. The Travelling Salesman Problem The cost of a solution is the total distance travelled
Solving the TSP means finding the minimum cost solution:
Given a set of cities and distances between them
then find the optimal tour, that is, the shortest possible such tour
20. The Travelling Salesman Problem Suppose we have n cities
For 1st city have n choices
For 2nd city have n-1 choices …
n * (n-1) * (n-2) *… * 1 = n!
Hence, have n! sequences
But reversing the sequence is considered the same tour
Hence n!/2 possible tours
21. Combinatorial Explosion
22. Combinatorial Explosion
23. Scaling properties Big Oh notation: O(f(n))
n is a measure of the size of the problem
function f(n) is an upper bound on the asymptotic (large n) behaviour (of the runtime)
ignores constant factors
e.g. ( 5 n2 + 4 n ) is O(n2)
“Polynomial” means O(n), O(n2), etc.
That is, O(nk) for some fixed k
“Exponential” means O(2an) for some fixed a.
E.g. the runtime might be O(2n/20)
24. Scaling properties Why is exponential so much worse than polynomial?
Suppose that have two problems A and B with scaling properties for the runtimes of the best algorithms:
A: O(n2) polynomial (quadratic)
B: O(2n/20) exponential
Suppose that currently, for A and B, can manage to solve problems of size n=1000 in 10 mins
Now, suppose we need to solve n=1100
A: will take (1100/1000)2 * 10 = 12.1 mins
B: will take (21100/20/21000/20) * 10 = 2100/20 * 10 = 320 mins
Polynomial scaling: as problem gets bigger runtimes increase at a reasonable speed
Exponential scaling: as problem gets bigger, runtimes get worse very rapidly
For more examples see the course web pages
25. The Travelling Salesman Problem “Decision version”
Given a set of cities and distances between them,
and also given some upper bound D on the total distance to be travelled
then answer Yes/No to whether or not there exists some tour of distance D or less
26. The Sorting Problem Sorting:
Given a set of cities and their populations
then find a tour such that cities are visited in order of increasing population
There are still an enormous potential number of tours
But it is easy to find an “ordered” tour
There is a polynomial, O(n log(n) ), algorithm for sorting
Maybe the large number of tours in the TSP does not preclude a polynomial time algorithm to solve it?
27. Extra Coursework Take the TSP and ...
Give any polynomial time algorithm to solve the TSP ...
or show why a polynomial algorithm cannot exist
Marking scheme for correct and complete answers:
you get a 100% mark on the course
you get a Ph.D.
you get a professorship anywhere you want
you get to be on TV
you get $1 million
No penalty for failure to produce an answer
28. Extra Coursework Take the TSP, and give any polynomial time algorithm to solve it, or show why a polynomial algorithm cannot exist
This is one of the major unsolved theoretical problems in Computer Science
No-one has found a polynomial time algorithm
Most believe none exists
No-one can prove that a polynomial time algorithm does not exist
The problem is known as the “P equal to NP?” problem
29. “TSP-like” problems Take the TSP, and give any polynomial time algorithm to solve it, or show why a polynomial algorithm cannot exist
This is one of the major unsolved theoretical problems in Computer Science
A lot of other problems are equivalent to the TSP
Many such problems occur in AI
However, in practice, one can improve the scaling of algorithms
e.g from O(2n/10) to O(2n/20)
such “minor” improvements can make an enormous practical difference
e.g. n=200, 2n/10=1048576, 2n/20=1024
A lot of AI effort goes into improving the scaling of algorithms on such problems so that large problems can be solved in practice
30. Suggested Self-Study In preparation for the programming within the coursework:
In the “Programming Language Of your Choice” (Java, etc), revise, or start to learn, how to store
collections of objects
queues, stacks, vectors, or whatever
“linked lists” (and trees)
Remark: these topics will be useful for other programming tasks in general, as well as for this course
31. Next Week: Trees & Graphs Introduction to trees and graphs
Will see that trees can easily become exponentially big
How this makes AI difficult and why good search techniques are essential
Will start to describe blind search techniques