slide1
Download
Skip this Video
Download Presentation
CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 8 Mälardalen University

Loading in 2 Seconds...

play fullscreen
1 / 104

CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 8 Mälardalen University - PowerPoint PPT Presentation


  • 120 Views
  • Uploaded on

CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 8 Mälardalen University 2012. Content Context-Free Languages Push-Down Automata, PDA NPDA: Non-Deterministic PDA Formal Definitions for NPDAs NPDAs Accept Context-Free Languages Converting NPDA to Context-Free Grammar.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 8 Mälardalen University' - wyome


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

CDT314FABER

Formal Languages, Automata and Models of Computation

Lecture 8

Mälardalen University

2012

slide2

ContentContext-Free LanguagesPush-Down Automata, PDANPDA: Non-Deterministic PDAFormal Definitions for NPDAs NPDAs Accept Context-Free LanguagesConverting NPDA to Context-Free Grammar

slide3

Non-regular languages

Context-Free Languages

Regular Languages

context free languages

Context-Free Languages

Based on C Busch, RPI, Models of Computation

slide5

stack

automaton

Context-Free Languages

Context-Free

Grammars

Pushdown

Automata

(CF grammars are

defined as generalized Regular Grammars)

definition context free grammars

is string of variables and terminals

Definition: Context-Free Grammars

Grammar

Variables

Terminal

symbols

Start

variables

Productions of the form:

pushdown automaton pda
Pushdown Automaton - PDA

Input String

Stack

States

slide9

The Stack

A PDA can write symbols on stack and read them later on.

POP reading symbol PUSH writing symbol

All access to the stack is only on the top!

(Stack top is written leftmost in the string, e.g. yxz)

A stack is valuable as it can hold an unlimitedamount of information (but it is not random access!).

The stack allows pushdown automata to recognize some non-regular languages.

the states
The States

Pop old- reading

stack symbol

Push new

- writing

stacksymbol

Input

symbol

slide11

input

stack

top

Replace

(An alternative is to either start and finish with empty stack or with a stack bottom symbol such as $)

slide12

stack

top

Push

input

slide13

stack

top

Pop

input

slide14

input

stack

top

No Change

slide17

A string is accepted if:

  • All the input is consumed
  • The last state is a final state
  • Stack is in the initial condition
  • (either: empty (when we started with empty stack),
  • or: bottom symbol reached, depending on convention)
slide18

Example NPDA

is the language accepted by the NPDA:

slide19

Example NPDA

NPDAM

(Even-length palindromes)

Example :aabaaabbblbbbaaabaa

pushing strings
Pushing Strings

Pop

symbol

Input

symbol

Push

string

slide21

Example

input

pushed

string

stack

top

Push

slide23

Execution Example

Time 0

Input

Stack

Current state

slide24

Time 1

Input

Stack

slide25

Time 2

Input

Stack

slide26

Time 3

Input

Stack

slide27

Time 4

Input

Stack

slide28

Time 5

Input

Stack

slide29

Time 6

Input

Stack

slide30

Time 7

Input

Stack

accept

slide33

Transition function

new state

current state

current stack top

new stack top

current input symbol

An unspecified transition function is to the null set and represents a dead configuration for the NPDA.

formal definition

Final

states

States

Input

alphabet

Stack

start

symbol

Transition

function

Stack

alphabet

Formal Definition

Non-Deterministic Pushdown Automaton NPDA

instantaneous description
Instantaneous Description

Current

stack

contents

Current

state

Remaining

input

slide36

Example

Instantaneous Description

Input

Time 4:

Stack

slide37

Example

Instantaneous Description

Input

Time 5:

Stack

slide38

We write

Time 4

Time 5

slide47

A computation example

For convenience we write

formal definition1
Formal Definition

Language of NPDAM

Initial state

Final state

slide49

Example

NPDAM

slide53

Context-Free

Languages

(Grammars)

Languages

Accepted by

NPDAs

Theorem

slide54

Proof - Step 1:

Context-Free

Languages

(Grammars)

Languages

Accepted by

NPDAs

Convert any context-free grammarGto a NPDA Mwith L(G) = L(M)

slide55

Proof - Step 2:

Context-Free

Languages

(Grammars)

Languages

Accepted by

NPDAs

Convert any NPDA M to a context-free grammarGwith L(M) = L(G)

slide57

An example grammar:

What is the equivalent NPDA?

slide58

For eachproduction

add transition:

For eachterminal

add transition:

Grammar

NPDA

slide59

The NPDA simulates

the leftmost derivations of the grammar

L(Grammar) = L(NPDA)

slide60

Grammar:

A leftmost derivation:

slide61

NPDA execution:

Time 0

Input

Stack

Start

slide62

Time 1

Input

Stack

slide63

Time 2

Input

Stack

slide64

Time 3

Input

Stack

slide65

Time 4

Input

Stack

slide66

Time 5

Input

Stack

slide67

Time 6

Input

Stack

slide68

Time 7

Input

Stack

slide69

Time 8

Input

Stack

slide70

Time 9

Input

Stack

slide71

Time 10

Input

Stack

accept

slide72

In general

Given any grammarG

we can construct a NPDAMwith

slide73

Constructing NPDAM from grammarG

Top-down parser

For any production

For any terminal

slide74

Grammar Ggenerates string w

if and only if

NPDA Maccepts w

slide75

For any context-free language

there is an NPDA

that accepts the same language

slide76

Which means

Languages

Accepted by

NPDAs

Context-FreeLanguages(Grammars)

slide78

For any NPDA M

we will construct

a context-free grammar G with

slide79

The grammar simulates the machine

A derivation in Grammar

variables

terminals

Input processed

Stack contents

in NPDA M

some simplifications
Some Simplifications
  • First we modify the NPDA so that
      • It has a single final state qf and
      • It empties the stack when it accepts the input.

Original NPDA

Empty Stack

slide81

Second we modify the NPDA transitions.

All transitions will have form:

or

which means that each move

increases/decreases stack by a single symbol.

slide82
Thosesimplificationsdo not affect generality of our argument.
  • It can be shown that for any NPDA there exists an equivalent one having the above two properties
  • i.e.
  • the equivalent NPDA with a single final state which empties its stack when it accepts the input, and which for each move increases/decreases stack by a single symbol.
the grammar construction
The Grammar Construction

In grammarG

Stack symbol

Variables:

states

Terminals:

Input symbols of NPDA

slide84

For each transition:

we add production:

slide85

For each transition:

we add production:

for all statesqk , ql

slide86

Stack bottom symbol

Start Variable

Start state

(Single) Final state

slide87
From NPDA to CFG, in short:
  • When we write a grammar, we can use any variable names we choose. As in programming languages, we like to use "meaningful" variable names.
  • Translating an NPDA into a CFG, we will use variable names that encode information about both the state of the NPDA and the stack contents. Variable names will have the form [qiAqj], where qi and qj are states and A is a variable.
  • The "meaning" of the variable [qiAqj] is that the NPDA can go from state qi with Ax on the stack to state qj with x on the stack. Each transition of the form (qi, a, A) = (qj,l) results in a single grammar rule.
slide88
From NPDA to CFG
  • Each transition of the form (qi, a, A) = (qj, BC) results in a multitude of grammar rules, one for each pair of states qx and qy in the NPDA.
  • This algorithm results in a lot of useless (unreachable) productions, but the useful productions define the context-free grammar recognized by the NPDA.

http://www.seas.upenn.edu/~cit596/notes/dave/npda-cfg6.htmlhttp://www.cs.duke.edu/csed/jflap/tutorial/pda/cfg/index.html using JFLAP

slide89

For any NPDA

there is an context-free grammar

that generates the same language.

slide90

Context-Free

Languages

(Grammars)

Languages

Accepted by

NPDAs

We have the procedure to convert

any NPDA Mto a context-free

grammar G with L(M) = L(G)

which means:

slide91

We have already shown that for any context-free language

there is an NPDA

that accepts the same language. That is:

Languages

Accepted by

NPDAs

Context-FreeLanguages(Grammars)

slide92

Context-Free

Languages

(Grammars)

Languages

Accepted by

NPDAs

Therefore:

END OF PROOF

slide94

Example

Grammar production:

slide101

In general, in grammar:

if and only if

is accepted by the NPDA

slide102

Explanation

By construction of Grammar:

if and only if

in the NPDA going from qito qj

the stack doesn’t change below

and A is removed from stack

slide103

Example (Sudkamp 8.1.2)

Language consisting solely of a’s or an equal number of a´s and b´s.

slide104

Concerning examination in the course:

Exercises  are voluntary

Labs are voluntary

Midterms are voluntary

Lectures are voluntary…

All of them are recommended!

JFLAP demo

http://www.cs.duke.edu/csed/jflap/movies

ad