ELEMENTS OF COMPUTATION THEORY

Computer science ELEMENTS OF COMPUTATION THEORY

0512100018
DIPARTIMENTO DI INFORMATICA
EQF6
COMPUTER SCIENCE
2020/2021

OBBLIGATORIO
YEAR OF COURSE 3
YEAR OF DIDACTIC SYSTEM 2017
SECONDO SEMESTRE
CFUHOURSACTIVITY
972LESSONS


Objectives
KNOWLEDGE AND UNDERSTANDING
1.ABSTRACT COMPUTING MODELS
2.TURING MACHINES
3.PROBLEMS THAT ARE SOLVABLE AND PROBLEMS THAT ARE NOT SOLVABLE
4.TIME COMPLEXITY
5.PROBLEMS THAT ARE COMPUTATIONALLY EASY AND PROBLEMS THAT ARE COMPUTATIONALLY HARD

APPLYING KNOWLEDGE AND UNDERSTANDING
THE STUDENT MUST BE ABLE TO ANALYSE THE BEHAVIOUR OF FINITE AUTOMATA AND TURING MACHINES. HE MUST ALSO BE ABLE TO DESIGN SIMPLE ABSTRACT COMPUTING DEVICES FOR THE SOLUTION OF DECISION PROBLEMS (QUESTIONS WITH A YES-OR-NO ANSWER).

Prerequisites
KNOWLEDGE OF DISCRETE MATHEMATICS, LOGIC, AND ALGORITHMS.
DISCRETE MATHEMATICS: SETS, SET OPERATIONS, CARDINALITY, CARTESIAN PRODUCT, FUNCTIONS.
LOGIC: PREDICATES AND QUANTIFIERS, PROOF METHODS AND STRATEGY.
ALGORITHMS: ASYMPTOTIC NOTATION.
Contents
COMPUTATIONAL MODELS: DETERMINISTIC AND NONDETERMINISTIC FINITE AUTOMATA. REGULAR EXPRESSIONS. CLOSURE PROPERTIES OF REGULAR LANGUAGES. KLEENE’S THEOREM. THE PUMPING LEMMA FOR REGULAR LANGUAGES. SINGLE-TAPE DETERMINISTIC TURING MACHINES. THE LANGUAGE RECOGNIZED BY A TURING MACHINE. VARIANTS OF TURING MACHINES AND THEIR EQUIVALENCE IN POWER.

THE CONCEPT OF COMPUTABILITY: COMPUTABLE FUNCTIONS, DECIDABLE AND TURING-RECOGNIZABLE LANGUAGES. DECIDABLE LANGUAGES AND UNDECIDABLE LANGUAGES. THE HALTING PROBLEM. MAPPING REDUCIBILITY. RICE’S THEOREM.

THE CONCEPT OF COMPLEXITY: MEASURING TIME COMPLEXITY.
THE CLASS P. THE CLASS NP. THE CONCEPT OF NP-COMPLETENESS.
POLYNOMIAL TIME REDUCIBILITY. EXAMPLES OF NP-COMPLETE LANGUAGES.
Teaching Methods
CLASS LESSONS. LECTURES INCLUDE EXERCISES THAT PRESENT EXAMPLES OF APPLICATIONS OF THE STUDIED CONCEPTS, WITH THE AIM OF ENABLING THE STUDENT TO APPLY THE ACQUIRED KNOWLEDGE.
Verification of learning
THE ASSESSMENT OF THE ACQUISITION OF THE BASIC CONCEPTS AND OF THE ABILITY TO APPLY THOSE CONCEPTS WILL BE IN A 2-HOURS WRITTEN EXAM. IT CAN BE SUBSTITUTED BY A MIDTERM PLUS A FINAL TEST.
THE EVALUATION CRITERIA INCLUDE THE COMPLETENESS AND CORRECTNESS OF THE LEARNING AND THE CLARITY OF THE PRESENTATION.


THE MINIMUM GRADE (18) IS ASSIGNED WHEN THE STUDENT HAS A LIMITED KNOWLEDGE OF THE COMPUTATIONAL MODELS AND COMPUTATIONAL COMPLEXITY AND SHOWS UNCERTAINTIES IN THE APPLICATION OF THE STUDIED METHODS.
THE MAXIMUM GRADE (30) IS ASSIGNED WHEN THE STUDENT SHOWS A COMPLETE AND IN-DEPTH KNOWLEDGE OF THE CONCEPTS AND METHODS OF THE THEORY OF COMPUTATION. IT IS ALSO ABLE TO SOLVE THE PROPOSED PROBLEMS GIVING EFFICIENT AND ACCURATE SOLUTIONS AND SHOWS THE ABILITY TO LINK DIFFERENT CONCEPTS TOGETHER.
''LODE'' IS GIVEN WHEN THE CANDIDATE DEMONSTRATES SIGNIFICANT MASTERY OF THE THEORETICAL AND OPERATIONAL CONTENT AND SHOWS THAT SHE/HE IS ABLE TO PRESENT THE TOPICS WITH OWNERSHIP OF LANGUAGE AND AUTONOMOUS PROCESSING SKILLS.
Texts
•M. SIPSER, INTRODUCTION TO THE THEORY OF COMPUTATION, COURSE TECHNOLOGY, 2005
•J. KLEINBERG, E. TARDOS, ALGORITHM DESIGN, ADDISON-WESLEY, 2005
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2022-05-23]