Key Concepts: Lecture 1: Introduction 3
Key Concepts: Lecture 1: Introduction 3
Key Concepts
Discreteness
Abstraction
Generality
Lecture 1: Introduction
The (Mathematical) Idea of a Language Underlying Principle: Whatever can be computed can be written down
Alphabet
Ex: a, b, c, . . . , z .
Strings: nite concatenation of alphabet symbols, order matters Ex: qaz, abbab
Lecture 1: Introduction
Examples of Languages All words in the American Heritage Dictionary {a, aah, aardvark, . . . , zyzzva} Mathematically simple, because its nite!
Note: e denotes the string of length 0 the empty string Innite but simple membership rule
All strings of as and bs in equal numbers {e, ab, ba, aabb, abab, abba, . . . }
Lecture 1: Introduction
The binary notation for all even numbers that are the sum of two primes {100, 110, 1000, 1010, . . .?} (2 + 2) (3 + 3) (3 + 5) (5 + 5)
Lecture 1: Introduction
a a r d v ...
Finite Control Yes No
We dont care how the control is implemented only that it have a nite number of states and change states based on xed rules
Lecture 1: Introduction
a b a
F.C.
Head scans left to right Check simple patterns Finite Table Lookup
F.C.
a Use stack to count, balance b parentheses a Check many syntax rules a Stack
Turing Machines
b a r
F.C.
Arbitrary computations Control is still nite Head moves left and right, reads, and writes
Lecture 1: Introduction
Generative Formalisms for Specifying Languages Regular Expressions a {e, a, aa, aaa, . . . } = any number of {e, ab, abab, ababab, . . . } {???}
(ab)
S S S S
Lecture 1: Introduction
10
Are there non-computable languages? Yes in fact almost all languages are not computable
Lecture 1: Introduction
11
Computationally Unsolvable Problems Innite Jigsaw: Given a nite set of jigsaw puzzle pieces, can the whole plane be covered using replicas of these pieces?
Diophantine Equations Given a polynomial equation: x2 + 3xyz 44z 3 = 0 does it have an integer solution?
Lecture 1: Introduction
12
Computational Complexity A problem need not be uncomputable to be practically unsolvable (It may just take too long!)
Lecture 1: Introduction
13
Is there a solution over the positive integers to a system like this? x1 4x2 + x3 = 0 x1 + x2 + x3 0 x1 + 7x3 0
Boolean Satisability
Are there true/false values for the variables to make this formula true? (x y z ) (x y ) (z y ) [ = or = and = not ]
Lecture 1: Introduction
14
Finite Automata Context-free Languages Pushdown Automata Regular Expressions Formalization in General Uncomputability
Programming Languages Program Analysis + Synthesis Articial Intelligence Algorithm Design Databases
Formal Systems, Logic Complexity Theory Formal Representation + Reasoning Complexity Theory
Cryptography