1 1. ALFABET, SŁOWA I JĘZYKI FORMALNE

Transkrypt

1 1. ALFABET, SŁOWA I JĘZYKI FORMALNE
1. ALFABET, SŁOWA I JĘZYKI FORMALNE - podstawowe definicje.
A. ALFABET
Alfabetem nazywamy dowolny niepusty zbiór skończony. Elementy alfabetu nazywamy symbolami.
B. SŁOWA
Słowem z alfabetu Σ nazywamy dowolny, skończony ciąg symboli ze zbioru Σ. Zbiór wszystkich słów z alfabetu Σ
nazywamy słownikiem (dopełnieniem) alfabetu Σ i oznaczamy symbolem Σ*.
Słowem pustym nazywamy ciąg 0 symboli i oznaczamy go przez λ. Słowo puste jest słowem z każdego słownika ale
nie jest symbolem żadnego alfabetu.
Jeżeli jakiś symbol występuje kolejno po sobie n razy to stosujemy zapis potęgowy.
Parametry słów:
|A| - długością słowa
tzn. ilość symboli ciągu tworzącego dane słowo. Słowo λ ma długość 0.
|A(x)|- liczbę wystąpień znaku x w słowie
.
Działania na słowach:
Złożeniem (konkatenacją) słów A=a1…an, B=b1…bm, nazywamy słowo AB=a1…anb1…bm.
Potęgą n-tą słowa A nazywamy n krotne złożenie słowa A:
Transpozycją słowa A=a1 a2…an nazywamy słowo AT=an… a2a1.
Przyrostki, przedrostki i podsłowa:
Przyrostkiem (przedrostkiem) słowa A z alfabetu Σ nazywamy dowolne słowo
słowo
, dla którego istnieje
spełniające warunek: A=CB (A=BC)
Podsłowem słowa A z alfabetu Σ nazywamy dowolne słowo
, dla którego istnieją słowa B i D (nad tym
alfabetem) spełniające warunek: A=BCD
C. JĘZYKI FORMALNE
Językiem formalnym nad alfabetem Σ nazywamy dowolny podzbiór słownika Σ*.
Działania na językach formalnych:
Niech L, Ł będą dowolnymi językami nad alfabetem Σ. Wówczas określamy:

sumę języków L i Ł jako zbiór:
L + Ł := L ∪ Ł := { A∊Σ*: A∊ L ∨ A ∊ Ł }

iloczyn języków L i Ł jako zbiór:
L ∩ Ł := { A∊ Σ*: A∊ L ∧ A ∊ Ł }

różnicę języków L i Ł jako zbiór:
L \ Ł := { A∊ Σ*: A∊ L ∧ A ∉ Ł }

złożenie języków L i Ł jako zbiór:
L · Ł := { AB∊ Σ*: A∊ L ∧ B ∊ Ł }

domknięcie języka L jako zbiór:
L* := ∪i≧0 Li

domknięcie dodatnie języka L jako zbiór: L+ := ∪i≧1 Li

dopełnienie języka L jako zbiór:
L’ := Σ* \ L
Własności języków formalnych
Tw. Dla dowolnych języków formalnych L, Ł nad alfabetem Σ zachodzą następujące własności:
a) L ⊂ L*
b) jeżeli L ⊂ Ł, to L*⊂ Ł*
c) (L*)* = L*
1