Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIS Automata and Formal Languages – Pei Wang

Similar presentations


Presentation on theme: "CIS Automata and Formal Languages – Pei Wang"— Presentation transcript:

1 CIS 5513 - Automata and Formal Languages – Pei Wang

2 Abstract machines Automata: machines, devices, or systems described abstractly for the purpose of computability Focus: common features of different devices, as well as their limitations Abstraction: internal activity as transitions through discrete states; external interaction as streams of symbols

3 Examples An on/off switch A pocket calculator that computes the value of arithmetic expressions A lexical analyzer that recognizes certain keywords In principle, any software or hardware can be analyzed as an automaton, though such an analysis only answers certain questions

4 Automata and formal languages
The external features of automata can be described as formal languages A formal language is defined as a set of symbolic sentences The patterns of the sentences of a formal language can be summarized into a grammar or expression There is a correspondence between automata and formal languages

5 String and word An alphabet is a finite, nonempty set of symbols, usually written as ∑ (sigma), such as {0, 1} or {a, b, …, z} A string (word) is a finite sequence of symbols chosen from some alphabet, such as 01001, cis, or ϵ (epsilon, empty string) The length of a string is the number of symbols in it, so |01001| = 5, |ϵ| = 0

6 Strings ∑k is the set of all strings of length k formed by symbols in ∑ ∑* is the set of all strings of any finite length formed by symbols in ∑ (Kleene star) ∑* = ∑0  ∑1  ∑2  … ∑+ = ∑1  ∑2  … Let x and y be strings, then xy is their concatenation, and |xy| = |x| + |y|

7 Formal languages A language over ∑ is a subset of ∑*. E.g.:

8 Problems and languages
In mathematics and computer science, a “problem” is often defined as a function from input to output In principle, a function problem can be converted into a decision problem that only has “yes/no” answers So to solve a problem means to decide whether a given string belongs to a particular language

9 Languages and automata
Example: Lp over {0, 1} consisting of all binary strings whose value as a binary number is a prime, so 101 belongs to the language, but not 1001 and 0101 An automaton accepts a language by transitioning between some special states for the instances of the language So each automaton solves a problem

10 Mathematical proofs Mathematical conclusions (theorems) are obtained by proofs Deductive proof: to build a sequence of sentences, each is either an axiom or can be derived from axioms and proven theorems Proof by contradiction: to negate a statement and derive a contradiction from it Mathematical induction: starting from a base, to extend the conclusion step by step to infinite


Download ppt "CIS Automata and Formal Languages – Pei Wang"

Similar presentations


Ads by Google