Z-Introduction To TOC
Z-Introduction To TOC
What is ToC?
What can or cannot be computed efficiently with given resources
Can it be computed?- Computability Theory
Can it be computed quickly? Complexity Theory
Computability Theory
Problems Solvable Not solvable
Complexity Theory
Computationally Hard Problems
Defining ToC
Fundamental ideas & Models on Computing The branch of computer science and mathematics that deals with how efficiently problems can be solved on a model of computation, using an algorithm. Computational Model
Automata
Alphabets Strings Empty string Length of a string Powers of an alphabet Concatenation of strings Languages
Alphabets
Finite, non empty set of symbols
S ={0,1} - Binary Alphabet S={a,b,c ..,z} - set of all lowercaseletters
String
Finite sequence of symbols from some alphabet Ex:011101 - a string from {0,1} abbccd - a string from {a,b, .,z} Empty string (e) - Zero occurrences of symbols
Length of string
The number of symbols in the string Let w be a string, Length of string a |w|
Ex:- |00110| = 5 |e| = 0
Power of an Alphabet
Sk
Set of all strings of length k from alphabet S S = {0,1}
Concatenation of strings
x = 01101 y = 110 xy = 01101110
Identity of concatenation
ew = we = w
Language - L
Set of strings choosen from some S* L is a language over S
L is a subset of S* Ex:- English words starting with a
Examples of Languages
L = {w/ 0n1n}
L = {10,11,101,110,1011, }
Binary numbers whose value is prime
L= {e,01,10,1010,111000, ..}
Equal number of 0s and 1s
Computational Models
Finite Automata - DFA & NFA
Turing Machine