Sei sulla pagina 1di 4

2/15/2012

Personal Introduction

Introduction
Theory o f Automata

Educational Background
[2011] PhD (Information Technology) from Malaysia [2006] MS (Digital Media) from Germany [2001] MSc (Computer Science) from MAJU

Working Experience
[2008] Assistant Professor at Bahria University [2007] Visiting Lecturer at Bahria University [2006] Assistant Professor at RIU [2005] Research work for 3D models optimization in Germany [2002] Principal at ICMS [2001] Lecturer at AIOU and PIMSAT

Course Assessment Criteria


Final Exam Midterm Quizzes
7 best quizzes out of 10

Course contents in brief


50 % 20 % 10 % 10 % 05 % 05 % 100 %
Finite State Models: Language definitions preliminaries Regular expressions/Regular languages, Finite automata (FAs), Transition graphs (TGs), NFAs, kleenes theorem, Transducers (automata with output), Pumping lemma and non regular language Grammars and PDA Context free grammars, Derivations, ambiguity, Simplifying CFLs, derivation trees and

Assignments Presentation Class Participation Total

Normal form grammars and parsing, Push-down Automata, Pumping lemma and non-context free languages, Decidability, Chomskys hierarchy of grammars Turing Machines Theory: Turing machines, Post machine, Variations on TM, TM encoding, Universal Turing Machine Context sensitive Grammars, Defining Computers by TMs.

Recommended Books
Introduction to Computer Theory, Denial Cohen, John Wiley & Sons, Inc. Theory of Automata By C.J. Martin Introduction to Automata Theory, Languages & Computation, J Hopcraft, D. Ullman Languages & Machines, An Into to the Theory of Computer Science, 2/e Thomas A. Sudkamp, Addison Wesley.

Overview of the course contents


Computation
CPU memory

2/15/2012

Example: f ( x) = x
temporary memory temporary memory input input CPU output Program memory Program memory compute compute CPU output

xx x2 x

f ( x) = x
temporary memory input

temporary memory

z = 2*2 = 4 f ( x) = z * 2 = 8

f ( x) = x3

input

x=2
CPU output Program memory compute compute Program memory CPU

x=2
output compute compute

xx

xx x2 x

x2 x

temporary memory

z = 2*2 = 4 f ( x) = z * 2 = 8

f ( x) = x3

Automaton
temporary memory

input

x=2
CPU

Automaton input CPU output Program memory

f ( x) = 8
Program memory compute compute

xx x x
2

output

2/15/2012

Automaton
temporary memory Automaton input

Different Kinds of Automata


Automata are distinguished by the temporary memory

Finite Automata: Pushdown Automata:

no temporary memory stack random access memory

output
transition

Turing Machines:

state

Finite Automaton
temporary memory

Pushdown Automaton
Temp. memory

Stack

Push, Pop

Finite Automaton

input

Pushdown Automaton

input

output Example: Elevators, Vending Machines (small computing power)

output Example: Compilers for Programming Languages (medium computing power)

Turing Machine
Temp. memory

Power of Automata
Simple problems More complex problems Hardest problems

Random Access Memory input

Turing Machine

Finite Automata

Pushdown Automata

Turing Machine

output Less power Examples: Any Algorithm (highest computing power) More power Solve more computational problems

2/15/2012

Language
Letters, Words, Sentences Alphabets join to form words Words combine to form sentences Sentences combine to form paragraphs and so on

Languages
How can we tell whether a given sentence belongs to a particular language
Black is cat the The water is cold I like chocolates two much

Rules give a clue to forming as well as validating sentences

Informal Languages
Natural languages are generally defined informally Human brains are capable to understand incoherent even invalid sentences
We school daily go to

Informal Languages
Incoherent strings are also understandable
Slang, idiom, dialect etc.

Raises ambiguity
Interpretation varies with region Same words have multiple meanings
Like, light, base etc.

Rectify grammatical errors etc. Resolve ambiguity


Interpret according to context Supporting aids such as Facial expressions and body language etc.

How to Communicate with Machines?


Need a language: what sort? Machines dont have human mind though may have its partial imitation Would fail on incorrect or ambiguous input
Some recovery or input corrections may be proposed but again very limited

Summary of Languages
Three aspects/specifications
Lexical
Defines valid words/units of a language

Syntactic
Defines rules for combining the units to form valid sentences (computer programs in context of machines)

Semantic
Concerned with the interpretation or meaning of a sentence (what output to produce in context of machines) Affected by ambiguity the most

Thus need a precise, explicit and universal definition of communication language

Potrebbero piacerti anche