COSC 3402 Artificial Intelligence
Introduction to Artificial Intelligence
Machine or computational AI:
Hardware
Software
1950 - Alan Turing -> Turing Test
Doesn't define intelligence but if a test is passed the winner is intelligent.
Later people lost interest in Turing test.
Intelligence is a degree of success in solving a particular task
by an AI agent. i.e. define intelligence relative to a task.
The Objective To develop computer hardware/software to
- Investigate a variety of aspects of intelligence.
- Implement AI agents (systems) that exhibit intelligent behaviour.
Problem Solving is done in AI by munipulation
of knowledge.
There can be no intelligence without a knowledge base.
AI Modules:
- Executive
- KB (Knowledge Base)
- Planner
- Scheduler
- Actors
- Sensors
- Interface with other agents
- KR (Knowledge Representation)
- Search
- Automated Responce
- Planning (Acting & Behaviour)
- Networks
- Generic Algorithms
- Machine Learning
Knowledge Representation (KR)
There is no AI without K.R.
Suppose we want to design a Chess program:
- Select move
This can be random but then it wouldn't be AI.
- Use a list of good possible next moves.
We have limited space to keep all possible good moves.
- Use a function h(current, next) that tells you how good the next
configuration is.
We need lots of human knowledge to design function h.
- Use the huerristic function on the next few levels.
- Most programs use both the list of good moves specially for opening and
ending the game and use function h for the next few moves in advance.
Different levels in AI:
- Fact Level "True" relationships in the environment
- Interface Level How to communicate facts to an AI
agents?
- Knowledge Representation Level How to represent
knowledge in an AI system?
- What language to use?
- Shouldn't take much space in KB
- Possible choices are
- Natural Language: expressive
- Formal Languages: unambiguous but not as expressive
- Expressive power of languages:
- inexact knowledge:
e.g. temperature of A is too high
- probabilistic knowledge:
e.g. Device A works with a probability of 0.7
- temporal (timed) knowledge:
e.g. if on(boxA, table1, 1 pm),
is it still there at 2pm?
- model knowledge:
e.g. It is possible that I'll come back again
Note: model operations: possibility,
necessity are not expressible in classical predicate
logic.
- epistemic knowledge:
--> One most add epistemic knowledge to predicate
knowledge.
- What operation on KB?
- retrieve
- logical reasoning
- planning with KB
- etc.
Behaviour of an AI Agent
Defined as the way the agent interacts with the environment. (This includes
the interaction with other AI agents and/or human.)
Types of Behaviour
- Static Behaviour minimal or no interaction with the
environment
e.g. A bird that only goes right/left on the screen until
the end of screen is reached, then changes direction and y-coor.
- Reactive Behaviour environment determines the choice
of actions and activities
e.g. In a simple adventure game the guard shoots
if the player is in sight.
- Goal-oriented Behaviour environment as well as the
general goal (objective) of the the agent's behaviour determines the
choice of actions and activities
e.g. In a simple adventure game the player must
pass the guard and save the princess.
Static and reactive behaviour can be created using a finite automata.
Example:
We have a 2D world with some obsticles at some cells.
Function clear(x,y) is true if there is no obsticle at cell (x,y).
Such that The precondition for MoveRight is that clear(x+1,y) is true
and so on for other three directions. This can create a F.A.
We can give preferences to moves (try right, if not clear, try down, etc.)
Rule-based systems
a rule: If a, b, c,...,x then do A
a^b^c^...^x ==> do(A)
The system will try the rules in order.
Using logic to implement goal-oriented behaviour >>>
Created by Hooman Baradaran
<hooman at HoomanB.com>