Alfabety, łańcuchy i języki.
DefiDicje podstawowe
Alfabet – dowolny skończony i niepusty zbiór symboli Σ Łańcuch (słowo) nad danym alfabetem Σ – dowolny skończony ciąg elementów zbioru Σ.
Σ – zbiór wszystkich słów nad alfabetem * Σ.
Długość w – liczba symboli alfabetu w słowie w.
Słowo puste ε – ciąg długości 0, jest to słowo nad każdym alfabetem.
Podsłowo. Słowo u jest podsłowem słowa v∈∈∈∈Σ*, jeżeli istnieją słowa x,y∈∈∈∈Σ*, takie że v ==== xuy.
Prefiks. Słowo u jest prefiksem słowa v∈∈∈∈Σ*, jeżeli istnieje słowo y∈∈∈∈Σ*, takie że v ====uy.
Sufiks. Słowo u jest sufiksem słowa v∈∈∈∈Σ*, jeżeli istnieje słowo x∈∈∈∈Σ*, takie że v ==== xu.
Operacje wykoDywaDe Da słowach.
•••• KoDkateDacja (złożeDie)
Konkatenacją dwóch łańcuchów jest łańcuch powstały przez wypisanie pierwszego z nich a następnie drugiego:
jeżeli w a Kan
==== 1 i v b Kbm
==== 1 , to wv a Kanb Kbm
1
==== 1 .
Łańcuch pusty jest jedynką dla operatora konkatenacji:
w w
w ==== ε ====
ε .
Działanie konkatenacji jest łączne:
(((( ))))
uw v ==== u(((( ))))
wv•••• TraDspozycja (odwrotDość).
Jeżeli w a Kan
==== 1 , to wR ==== anKa1.
( )
uw R = wRuRw wRR ====
ε ε R ====
• PotęgowaDie.
w0 ==== ε
wn++++1 ==== wnw
m n m
nw w
w ==== ++++
Językiem Dad alfabetem
Σnazywamy dowolny podzbiór L zbioru
Σ*wszystkich słów nad tym alfabetem.
Operacje wykoDywaDe Da językach.
•••• Operacje teoriomDogościowe:
2
1 L
L ∪∪∪∪ – suma
2
1 L
L ∩∩∩∩ – przekrój (część wspólna)
2 1 \ L
L – różnica L
L ==== Σ* \
−−−− – dopełnienie
•••• TraDspozycja (odwrotDość): LR ====
{{{{
wR :w∈∈∈∈L}}}}
(((( ))))
Σ* R ==== Σ*(((( ))))
LR R ==== L•••• KoDkateDacja:
{{{{
∈∈∈∈ ∧∧∧∧ ∈∈∈∈}}}}
==== ∃∃∃∃ ∃∃∃∃ ==== ==== xy x L y L z ∈∈∈∈ ∈∈∈∈ z xy L
L
L y L
x 1 2
:
: 1 2
2 1
{{{{ }}}} {{{{ }}}}
L LL ε ==== ε ====
∅
∅
∅
∅
====
∅
∅
∅
∅
====
∅
∅∅
∅ L
L
((((
L1L2))))
R ==== LR2L1RŁączność:
((((
L1L2)))) (((( ))))
LL1 L2L ====
((((
L1L2))))
L ==== L1(((( ))))
L2 LRozdzielczość względem sumy:
((((
L1 L2)))) (((( )))) (((( ))))
LL1 LL2L ∪∪∪∪ ==== ∪∪∪∪
((((
L1 ∪∪∪∪ L2)))) (((( )))) (((( ))))
L ==== L1L ∪∪∪∪ L2LRozdzielczość względem sumy indeksowanej rodziny zbiorów:
(((( )))) U
U
I i
i I
i
i LL
L L
∈∈
∈∈
∈∈∈
∈
====
(((( )))) U
U
I i
i I
i
i L L L
L
∈∈
∈∈
∈∈
∈∈
====
Uwaga!
Podobne prawa rozdzielczości nie zachodzą dla iloczynu zbiorów.
•••• Potęga: L0 ====
{{{{ }}}}
ε , Ln++++1 ==== LnL.
L x
x x
L i
n n i
n ==== ∀∀∀∀ ∈∈∈∈
≤≤≤≤
≤≤≤≤
1K :1
m n n
m m
nL L L L
L ==== ==== ++++
•••• DomkDięcie KleeDe’go:
L x
n x x L
L i
n n i
n
n ==== ≥≥≥≥ ∧∧∧∧ ∀∀∀∀ ∈∈∈∈
==== ≤≤≤≤ ≤≤≤≤
∞∞
∞∞
==== 1 1
0
*
U
K : 0*
*
*L L
L ====
(((( ))))
L* * ==== L*((((
L1 ∪∪∪∪ L2))))
* ====(((( ))))
L*1L*2 *•••• DomkDięcie dodatDie:
L x
n x x
L
L i
n n i
n
n ==== >>>> ∧∧∧∧ ∀∀∀∀ ∈∈∈∈
==== ≤≤≤≤ ≤≤≤≤
∞
∞∞
∞
====
++++
1 1 1
0 :
U
KL++++ ==== L
(((( ))))
L*L L
L++++ ==== * ⇔⇔⇔⇔ ε ∈∈∈∈
Prawa moDotoDiczDości:
L L L L LL
LL L
L1 ⊂⊂⊂⊂ 2 ⇒⇒⇒⇒ 1 ⊂⊂⊂⊂ 2 ∧∧∧∧ 1 ⊂⊂⊂⊂ 2
n
n L
L L
L1 ⊂⊂⊂⊂ 2 ⇒⇒⇒⇒ 1 ⊂⊂⊂⊂ 2
* 2
* 1 2
1 L L L
L ⊂⊂⊂⊂ ⇒⇒⇒⇒ ⊂⊂⊂⊂