Artificial Intelligence
Keywords |
Classification |
Keyword |
OFICIAL |
Artificial Intelligence |
Instance: 2009/2010 - 2S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
MIEIC |
142 |
Syllabus since 2009/2010 |
3 |
- |
6 |
56 |
162 |
Teaching language
Portuguese
Objectives
1- BACKGROUND
This course provides a set of subjects (topics) that are the core for the Intelligent System area.
2- SPECIFIC AIMS
To know what characterizes and distinguishes AI and how to apply it.
To understand the notion of computational agent.
To know how to automatically represent, acquire, manipulate and apply knowledge.
To develop a small project using AI techniques.
3- PREVIOUS KNOWLEDGE
Knowledge of object-oriented and logic-based programming.
4- PERCENT DISTRIBUTION
Scientific component:60%
Technological component:40%
5- LEARNING OUTCOMES
At the end of the course, the student is expected to know how to automatically represent, acquire, manipulate and apply knowledge. Namely, the student should be able to:
- Know how to represent inexact knowledge.
- Compare heuristic and systematic methods in the search for solutions.
- Develop interfaces in Natural Language and inference engines for Expert Systems.
- Get acquainted with inductive and deductive learning algorithms.
Program
I INTRODUCTION
Objectives
Methodology (teaching and evaluation)
Artificial Intelligence evolution
Documentation
II BASIC NOTIONS
Definitions: what is AI ?
Applications: in what domains ?
Basic notions of Agent
Agent architectures: from Reactive to Cognitive Agents
III PROBLEM SOLVING METHODS
Production Systems
Control Strategies of Systematic Search
Backward and Forward chaining
Depth-first and Breadth-first; Hill climbing
Search by trying: backtracking; graph search
“Branch and Bound” algorithm
Heuristic search: "Best-first"
A* algorithm and graceful decay of admissibility
Means-Ends Analysis
Constraint satisfaction methods: relaxation principles
Game-playing as Search Problems: Minmax
Alpha-Beta pruning
Examples in Prolog of basic strategies: depth-first and breath-first
IV INTRODUCTION TO KNOWLEDGE REPRESENTATION
Definition of a Knowledge Representation System
Knowledge representation structures: Production rules; Associative Networks - Frames; Scripts
Predicate Logic and other logics
Uncertain reasoning: Probabilistic Model; Certainty Factors; Dempster- Schafer model; Fuzzy logic
Logic: revision of the Resolution procedure and Unification algorithm
V KNOWLEDGE ENGINEERING
Knowledge-Based Systems
Expert Systems: Definition; Structure; Knowledge Representation and Meta-Knowledge; Inference engine and Explanation building;
Expert System cases example: ORBI; SMYCIN; ARCA
Demonstrations
Generic Systems: "Shells"
VI INTRODUCTION TO NATURAL LANGUAGE PROCESSING
Objectives and difficulties
Syntactic and Semantic Analysis
ATN; Semantic Grammars; Case Grammars
Classical approach and the use of Logics: Definite Clause Grammar; some examples in portuguese
Extraposition Grammars
VII AUTOMATIC LEARNING
Types of Learning: learning concepts; learning by example; learning by analogy; Explanation-Based Learning: Algorithms for EBG, mEBG e IOL; Examples.
Inductive Learning: ID3 and C4.5, advantages and drawbacks
Application examples
VIII INTRODUCTION TO NEURAL NETWORKS
Basic principles (processing element; network structure; learning laws)
Fundamental Algorithms (perceptron, back-propagation)
Application example
Mandatory literature
Stuart Russel and Peter Norvig; Artificial Intelligence: A Modern Appraoch, Prentice-Hall, 2nd Ed., 2003
Complementary Bibliography
Bratko, Ivan;
Prolog programming for artificial intelligence, N. ISBN: 0-201-40375-7
Ernesto Costa, Anabela Simões; Inteligência Artificial, FCA, 2004
E. Rich; K. Knight; Artificial Intelligence, MCGraw-Hill
Teaching methods and learning activities
Theoretical classes: exposition with interaction.
Theoretical-practical classes: programming exercises in Prolog and project development.
Software
Prolog: SWI, Sicstus, LPA
Java, C/C++
keywords
Technological sciences > Engineering > Knowledge engineering
Evaluation Type
Distributed evaluation with final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Attendance (estimated) |
Participação presencial |
64,00 |
|
|
|
Trabalho escrito |
51,00 |
|
2010-06-11 |
|
Exame |
2,50 |
|
|
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
Description |
Type |
Time (hours) |
End date |
|
Estudo autónomo |
42 |
2010-06-18 |
|
Total: |
42,00 |
|
Eligibility for exams
- Frequency evaluation: weight=50% ; minimum=3,75 (maximum 10) marks including (% related to the frequency evaluation):
Assignment’s quality and presentation performance (50%);
Final Report (20%);
Intercalary Report (20%);
Evaluation during classes (10%).
Calculation formula of final grade
- Frequency evaluation: weight=50% (10 marks); minimum=3,375marks including (% related to the frequency evaluation):
Assignment’s quality and presentation performance (50%);
Final Report (20%);
Intercalary Report (20%);
Evaluation during classes (10%).
- Test/ Exam: weight=50%; minimum= 3,3 marks
(2h30m test with consultation).
Examinations or Special Assignments
One practical assignment and the respective report (weight=50%) and an exam (weight=50%).
To get approved, the student must have a grade equal or higher to 37,5% in each of the evaluation items.
Special assessment (TE, DA, ...)
One practical assignment and the respective report (weight=50%) and an exam (weight=50%).
To be approved, the student must have a grade equal or higher to 37,5% in each of the evaluation items.
Classification improvement
Assignment, re-sit exam or both.
Observations
Pre-requirements:
Knowledge of object-oriented and logic-based programming.