Top Banner
Formal Languages Philippe de Groote 2020-2021 Philippe de Groote Formal Languages 2020-2021 1 / 12
30

Formal Languages - LORIA

May 12, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Formal Languages - LORIA

Formal Languages

Philippe de Groote

2020-2021

Philippe de Groote Formal Languages 2020-2021 1 / 12

Page 2: Formal Languages - LORIA

Outline

1 Phrase Structure GrammarsIntroductionAlphabets, words, and languagesDefinition of a phrase structure grammarChomsky hierarchyDecision problemsExercices

Philippe de Groote Formal Languages 2020-2021 2 / 12

Page 3: Formal Languages - LORIA

Phrase Structure Grammars Introduction

Introduction

If the quorum is not met, the president may convene a new meeting.

S

SBAR

IN

If

S

NP

DT

the

NN

quorum

VP

VBZ

is

RB

not

VP

VBN

met

NP

DT

the

NN

president

VP

MD

may

VP

VB

convene

NP

DT

a

JJ

new

NN

meeting

Philippe de Groote Formal Languages 2020-2021 3 / 12

Page 4: Formal Languages - LORIA

Phrase Structure Grammars Introduction

Introduction

If the quorum is not met, the president may convene a new meeting.

S

SBAR

IN

If

S

NP

DT

the

NN

quorum

VP

VBZ

is

RB

not

VP

VBN

met

NP

DT

the

NN

president

VP

MD

may

VP

VB

convene

NP

DT

a

JJ

new

NN

meeting

Philippe de Groote Formal Languages 2020-2021 3 / 12

Page 5: Formal Languages - LORIA

Phrase Structure Grammars Introduction

Introduction

S → NP VPS → SBAR NP VP

SBAR → IN SVP → VBNVP → VB NPVP → MD VPVP → VBZ RB VPNP → DT NNNP → DT JJ NNVB → convene

VBN → metVBZ → isMD → mayNN → quorum | president | meetingJJ → new

DT → the | aIN → if

RB → not

Philippe de Groote Formal Languages 2020-2021 4 / 12

Page 6: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

An alphabet is a finite, non-empty set of symbols.

A word is a finite sequence of symbols chosen from some givenalphabet.

The empty word , denoted ε, is the empty sequence of symbols.

Let Σ be an alphabet. Σ∗ denotes the set of all words over Σ.

Let α ∈ Σ∗ be such that α = a1 . . . an, with ai ∈ Σ for 1 ≤ i ≤ n.The length of α, in notation |α|, is the number of occurrences ofsymbols in α, i.e., |α| = n.

In particular, |ε| = 0.

Philippe de Groote Formal Languages 2020-2021 5 / 12

Page 7: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

An alphabet is a finite, non-empty set of symbols.

A word is a finite sequence of symbols chosen from some givenalphabet.

The empty word , denoted ε, is the empty sequence of symbols.

Let Σ be an alphabet. Σ∗ denotes the set of all words over Σ.

Let α ∈ Σ∗ be such that α = a1 . . . an, with ai ∈ Σ for 1 ≤ i ≤ n.The length of α, in notation |α|, is the number of occurrences ofsymbols in α, i.e., |α| = n.

In particular, |ε| = 0.

Philippe de Groote Formal Languages 2020-2021 5 / 12

Page 8: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

An alphabet is a finite, non-empty set of symbols.

A word is a finite sequence of symbols chosen from some givenalphabet.

The empty word , denoted ε, is the empty sequence of symbols.

Let Σ be an alphabet. Σ∗ denotes the set of all words over Σ.

Let α ∈ Σ∗ be such that α = a1 . . . an, with ai ∈ Σ for 1 ≤ i ≤ n.The length of α, in notation |α|, is the number of occurrences ofsymbols in α, i.e., |α| = n.

In particular, |ε| = 0.

Philippe de Groote Formal Languages 2020-2021 5 / 12

Page 9: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

An alphabet is a finite, non-empty set of symbols.

A word is a finite sequence of symbols chosen from some givenalphabet.

The empty word , denoted ε, is the empty sequence of symbols.

Let Σ be an alphabet. Σ∗ denotes the set of all words over Σ.

Let α ∈ Σ∗ be such that α = a1 . . . an, with ai ∈ Σ for 1 ≤ i ≤ n.The length of α, in notation |α|, is the number of occurrences ofsymbols in α, i.e., |α| = n.

In particular, |ε| = 0.

Philippe de Groote Formal Languages 2020-2021 5 / 12

Page 10: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

An alphabet is a finite, non-empty set of symbols.

A word is a finite sequence of symbols chosen from some givenalphabet.

The empty word , denoted ε, is the empty sequence of symbols.

Let Σ be an alphabet. Σ∗ denotes the set of all words over Σ.

Let α ∈ Σ∗ be such that α = a1 . . . an, with ai ∈ Σ for 1 ≤ i ≤ n.The length of α, in notation |α|, is the number of occurrences ofsymbols in α, i.e., |α| = n.

In particular, |ε| = 0.

Philippe de Groote Formal Languages 2020-2021 5 / 12

Page 11: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

An alphabet is a finite, non-empty set of symbols.

A word is a finite sequence of symbols chosen from some givenalphabet.

The empty word , denoted ε, is the empty sequence of symbols.

Let Σ be an alphabet. Σ∗ denotes the set of all words over Σ.

Let α ∈ Σ∗ be such that α = a1 . . . an, with ai ∈ Σ for 1 ≤ i ≤ n.The length of α, in notation |α|, is the number of occurrences ofsymbols in α, i.e., |α| = n.

In particular, |ε| = 0.

Philippe de Groote Formal Languages 2020-2021 5 / 12

Page 12: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

Let α, β ∈ Σ∗ be such that α = a1 . . . an, with ai ∈ Σ for 1 ≤ i ≤ n,and β = b1 . . . bm, with bi ∈ Σ for 1 ≤ i ≤ m. α · β is defined to bethe concatenation of α and β, i.e., α · β = a1 . . . anb1 . . . bm.

In particular, ε · α = α = α · ε.〈Σ∗, ·, ε〉 is a monoid.

A language over Σ is a subset of Σ∗.

Philippe de Groote Formal Languages 2020-2021 6 / 12

Page 13: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

Let α, β ∈ Σ∗ be such that α = a1 . . . an, with ai ∈ Σ for 1 ≤ i ≤ n,and β = b1 . . . bm, with bi ∈ Σ for 1 ≤ i ≤ m. α · β is defined to bethe concatenation of α and β, i.e., α · β = a1 . . . anb1 . . . bm.

In particular, ε · α = α = α · ε.

〈Σ∗, ·, ε〉 is a monoid.

A language over Σ is a subset of Σ∗.

Philippe de Groote Formal Languages 2020-2021 6 / 12

Page 14: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

Let α, β ∈ Σ∗ be such that α = a1 . . . an, with ai ∈ Σ for 1 ≤ i ≤ n,and β = b1 . . . bm, with bi ∈ Σ for 1 ≤ i ≤ m. α · β is defined to bethe concatenation of α and β, i.e., α · β = a1 . . . anb1 . . . bm.

In particular, ε · α = α = α · ε.〈Σ∗, ·, ε〉 is a monoid.

A language over Σ is a subset of Σ∗.

Philippe de Groote Formal Languages 2020-2021 6 / 12

Page 15: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

Let α, β ∈ Σ∗ be such that α = a1 . . . an, with ai ∈ Σ for 1 ≤ i ≤ n,and β = b1 . . . bm, with bi ∈ Σ for 1 ≤ i ≤ m. α · β is defined to bethe concatenation of α and β, i.e., α · β = a1 . . . anb1 . . . bm.

In particular, ε · α = α = α · ε.〈Σ∗, ·, ε〉 is a monoid.

A language over Σ is a subset of Σ∗.

Philippe de Groote Formal Languages 2020-2021 6 / 12

Page 16: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

Operation on languages:

Usual set-theoretic operations: union, intersection, complement(w.r.t. Σ∗), ...

Concatenation:

L1 · L2 = {ω : ∃α ∈ L1.∃β ∈ L2.ω = α · β}

Exponentiation:L0 = {ε}

Ln+1 = L · Ln

Closure:L∗ =

⋃i∈N

Li

Philippe de Groote Formal Languages 2020-2021 7 / 12

Page 17: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

Operation on languages:

Usual set-theoretic operations: union, intersection, complement(w.r.t. Σ∗), ...

Concatenation:

L1 · L2 = {ω : ∃α ∈ L1.∃β ∈ L2.ω = α · β}

Exponentiation:L0 = {ε}

Ln+1 = L · Ln

Closure:L∗ =

⋃i∈N

Li

Philippe de Groote Formal Languages 2020-2021 7 / 12

Page 18: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

Operation on languages:

Usual set-theoretic operations: union, intersection, complement(w.r.t. Σ∗), ...

Concatenation:

L1 · L2 = {ω : ∃α ∈ L1.∃β ∈ L2.ω = α · β}

Exponentiation:L0 = {ε}

Ln+1 = L · Ln

Closure:L∗ =

⋃i∈N

Li

Philippe de Groote Formal Languages 2020-2021 7 / 12

Page 19: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

Operation on languages:

Usual set-theoretic operations: union, intersection, complement(w.r.t. Σ∗), ...

Concatenation:

L1 · L2 = {ω : ∃α ∈ L1.∃β ∈ L2.ω = α · β}

Exponentiation:L0 = {ε}

Ln+1 = L · Ln

Closure:L∗ =

⋃i∈N

Li

Philippe de Groote Formal Languages 2020-2021 7 / 12

Page 20: Formal Languages - LORIA

Phrase Structure Grammars Alphabets, words, and languages

Alphabets, words, and languages

Operation on languages:

Usual set-theoretic operations: union, intersection, complement(w.r.t. Σ∗), ...

Concatenation:

L1 · L2 = {ω : ∃α ∈ L1.∃β ∈ L2.ω = α · β}

Exponentiation:L0 = {ε}

Ln+1 = L · Ln

Closure:L∗ =

⋃i∈N

Li

Philippe de Groote Formal Languages 2020-2021 7 / 12

Page 21: Formal Languages - LORIA

Phrase Structure Grammars Definition of a phrase structure grammar

Definition of a phrase structure grammar

A phrase structure grammar is a 4-tuple G = 〈N,Σ, P, S〉, where

N is an alphabet, the elements of which are called non-terminalsymbols;

Σ is an alphabet disjoint from N , the elements of which are calledterminal symbols;

P ⊂ ((N ∪ Σ)∗N(N ∪ Σ)∗)× (N ∪ Σ)∗ is a set of production rules;

S ∈ N is called the start symbol .

A production rule (α, β) ∈ P will be written as α→ β.

Philippe de Groote Formal Languages 2020-2021 8 / 12

Page 22: Formal Languages - LORIA

Phrase Structure Grammars Definition of a phrase structure grammar

Definition of a phrase structure grammar

A phrase structure grammar is a 4-tuple G = 〈N,Σ, P, S〉, where

N is an alphabet, the elements of which are called non-terminalsymbols;

Σ is an alphabet disjoint from N , the elements of which are calledterminal symbols;

P ⊂ ((N ∪ Σ)∗N(N ∪ Σ)∗)× (N ∪ Σ)∗ is a set of production rules;

S ∈ N is called the start symbol .

A production rule (α, β) ∈ P will be written as α→ β.

Philippe de Groote Formal Languages 2020-2021 8 / 12

Page 23: Formal Languages - LORIA

Phrase Structure Grammars Definition of a phrase structure grammar

Definition of a phrase structure grammar

Let G = 〈N,Σ, P, S〉 be a phrase structure grammar, and letα, β ∈ (N ∪ Σ)∗. We say that α directly generates β, and we writeα⇒ β, if and only if there exist α0, β0, γ, δ ∈ (N ∪ Σ)∗ such that:

α = γα0δ and β = γβ0δ and (α0 → β0) ∈ P

We write ⇒∗ for the reflexive-transitive closure of ⇒.

Let G = 〈N,Σ, P, S〉 be a phrase structure grammar. The languagegenerated by G, in notation L(G), is defined as follows:

L(G) = {α ∈ Σ∗ : S ⇒∗ α}

Philippe de Groote Formal Languages 2020-2021 9 / 12

Page 24: Formal Languages - LORIA

Phrase Structure Grammars Definition of a phrase structure grammar

Definition of a phrase structure grammar

Let G = 〈N,Σ, P, S〉 be a phrase structure grammar, and letα, β ∈ (N ∪ Σ)∗. We say that α directly generates β, and we writeα⇒ β, if and only if there exist α0, β0, γ, δ ∈ (N ∪ Σ)∗ such that:

α = γα0δ and β = γβ0δ and (α0 → β0) ∈ P

We write ⇒∗ for the reflexive-transitive closure of ⇒.

Let G = 〈N,Σ, P, S〉 be a phrase structure grammar. The languagegenerated by G, in notation L(G), is defined as follows:

L(G) = {α ∈ Σ∗ : S ⇒∗ α}

Philippe de Groote Formal Languages 2020-2021 9 / 12

Page 25: Formal Languages - LORIA

Phrase Structure Grammars Definition of a phrase structure grammar

Definition of a phrase structure grammar

Let G = 〈N,Σ, P, S〉 be a phrase structure grammar, and letα, β ∈ (N ∪ Σ)∗. We say that α directly generates β, and we writeα⇒ β, if and only if there exist α0, β0, γ, δ ∈ (N ∪ Σ)∗ such that:

α = γα0δ and β = γβ0δ and (α0 → β0) ∈ P

We write ⇒∗ for the reflexive-transitive closure of ⇒.

Let G = 〈N,Σ, P, S〉 be a phrase structure grammar. The languagegenerated by G, in notation L(G), is defined as follows:

L(G) = {α ∈ Σ∗ : S ⇒∗ α}

Philippe de Groote Formal Languages 2020-2021 9 / 12

Page 26: Formal Languages - LORIA

Phrase Structure Grammars Chomsky hierarchy

Chomsky hierarchy

type rules languages automata

0 αAβ → γ recursively enumerable Turing machines

1 αAβ → αδβ context-sensitive linear bounded Turing machines

2 A→ α context-free pushdown automata

3 A→ aB or A→ b regular finite state automata

where:

α, β, γ, δ ∈ (N ∪ Σ)∗;

δ 6= ε;

A,B ∈ N ;

a ∈ Σ;

b ∈ Σ ∪ {ε};

Philippe de Groote Formal Languages 2020-2021 10 / 12

Page 27: Formal Languages - LORIA

Phrase Structure Grammars Decision problems

Decision problems

Let G = 〈N,Σ, P, S〉 be a phrase structure grammar.

Emptiness:

Is L(G) different from the empty set?

Membership:

Let α ∈ Σ∗. Does α belong L(G)?

Philippe de Groote Formal Languages 2020-2021 11 / 12

Page 28: Formal Languages - LORIA

Phrase Structure Grammars Decision problems

Decision problems

Let G = 〈N,Σ, P, S〉 be a phrase structure grammar.

Emptiness:

Is L(G) different from the empty set?

Membership:

Let α ∈ Σ∗. Does α belong L(G)?

Philippe de Groote Formal Languages 2020-2021 11 / 12

Page 29: Formal Languages - LORIA

Phrase Structure Grammars Decision problems

Decision problems

Let G = 〈N,Σ, P, S〉 be a phrase structure grammar.

Emptiness:

Is L(G) different from the empty set?

Membership:

Let α ∈ Σ∗. Does α belong L(G)?

Philippe de Groote Formal Languages 2020-2021 11 / 12

Page 30: Formal Languages - LORIA

Phrase Structure Grammars Exercices

Exercices

1 Write a phrase structure grammar that generates {(ab)n : n ≥ 0}2 Write a phrase structure grammar that generates {(ab)n : n ≥ 1}3 Write a phrase structure grammar that generates {anbn : n ≥ 1}4 Write a phrase structure grammar that generates {anbncn : n ≥ 1}5 Write a type-3 grammar that generates {(ab)n : n ≥ 1}6 Write a type-2 grammar that generates {anbn : n ≥ 1}7 Write a type-1 grammar that generates {anbncn : n ≥ 1}

Philippe de Groote Formal Languages 2020-2021 12 / 12