



















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An in-depth exploration of computability concepts, focusing on formal languages and abstract machine models in computer science. The basics of computability, algorithmic problems, and their relation to formal languages. It also delves into specific machine models like dfa's, nfa's, pda's, and tm's, discussing their accepted languages and practical applications. The document concludes with a discussion on i/o versions, robust formal language classes, system design, and negative examples.
Typology: Slides
1 / 27
This page cannot be seen from the preview
Don't miss anything!




















1
2
AIM: Reduce Computer Science to its bare theoretical essentials. APPROACH: Algorithmic Problems Formal Languages
4
AIM: Reduce Computer Science to its bare theoretical essentials. Algorithmic Problems Formal Languages Computers Graph based machine models Questions to investigate:
5
DFA’s model computers with strictly bounded memory. 1 3 2 a b b a a,b
7
A: a*b
1 3 2 a b b a a,b
8
Nondeterminism is a powerful concept. Often 1 st view of a problem is nondeterministic. 1 3 2 a a b a a,b
10
A: a
b* 1 3 2 a a b a a,b
11
By allowing a pushdown stack, increase flexibility and accept more languages. 1 2 3 a,eX e,ee b,Xe 0 e,e$ e,$e
13
A: {a n b n
1 2 3 a,eX e,ee b,Xe 0 e,e$ e,$e
14
By allowing a read-write tape, amazingly get most general possible computer model! 1 2
0
acc 4 3 XL
1 L
(^5 1) L 1|XL
16
A: Unary powers of 2. 1 2
0
acc 4 3 XL
1 L
(^5 1) L 1|XL
17
Each class of languages has its own I/O version. Regular: Finite State Transducers More powerful models exist (e.g. with e’s) Context free: (didn’t study any) “Compilers”: Input is a string, output is a parse-tree (or even executable code) Turing Machines: I/O TM’s
19
Often computer system creation involves designing a formal language to describe system communication. Components receive communication streams and have to effect actions based on these. Computability theory can help drive design at a high level. EG: Might come up with a communication stream that’s seems like regular language. Could then show that it isn’t using pumping lemma. With this knowledge, final design tweaks original to obtain a regular language and therefore DFA based ultra-fast and super-reliable system components!
20
As above, it is very important to be able to tell when particular languages cannot be accepted by a certain model of computation. We have several tools at our disposal: Irregularity: pumping lemma (PL) Non-Context-Freeness: CFPL Undecidability: Reductions from undecidable languages Intractability: Poly-time reduction from NP - hard languages