Języki, automaty i obliczenia/Wykład 1: Słowa, katenacja - elementy teorii półgrup, półgrupy i monoidy wolne: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
<center>ELEMENTY TEORII PÓŁGRUP, | |||
PÓŁGRUPY I MONOIDY WOLNE</center> | |||
:'''Wprowadzenie:''' | |||
:: Teoria języków formalnych, automatów i gramatyk to klasyczna dzisiaj teoria, która zajmuje istotne miejsce w informatyce. Proponuje ona matematyczne modele obliczeń, które wykorzystywane są w praktyce, na przykład w przetwarzaniu tekstu, projektowaniu kompilatorów, w językach programowania czy też sztucznej inteligencji. Daje też znakomite podstawy dla teorii obliczalności czy teorii złożoności. | |||
::Wykład rozpoczniemy od omówienia półgrup - struktur algebraicznych o niezbyt skomplikowanej budowie, bo posiadających jedno tylko działanie. Półgrupy bowiem tworzą ramy dla prezentacji i badań języków formalnych oraz systemów, które takie języki definiują. Wykład zawiera podstawowe pojęcia oraz elementarne własności z zakresu teorii półgrup. | |||
:'''Słowa kluczowe:''' | |||
: | :: półgrupa, monoid, kongruencja, zbiór generatorów, wolny monoid, wolna półgrupa, baza, alfabet, słowo, litera | ||
: półgrupa, monoid, kongruencja, zbiór generatorów, wolny monoid, wolna półgrupa, | |||
baza, alfabet, słowo, litera | |||
==DEFINICJE OZNACZENIA I PODSTAWOWE WŁASNOŚCI== | ==DEFINICJE OZNACZENIA I PODSTAWOWE WŁASNOŚCI== | ||
Linia 30: | Linia 14: | ||
<br> | <br> | ||
Przyjmijmy, że <math>\mathbb{N}=\left\{ 1,2,\ldots \right\} </math> oznacza zbiór liczb naturalnych, | Przyjmijmy, że <math>\mathbb{N}=\left\{ 1,2,\ldots \right\} </math> oznacza zbiór liczb naturalnych, | ||
a <math>\mathbb{N}_{0} </math> | a <math>\mathbb{N}_{0} </math> zbiór liczb naturalnych wraz z '''0'''. Przypomnimy teraz podstawowe wiadomości z wykładu Algebra Liniowa dotyczące struktur algebraicznych, a dokładniej struktur najprostszych, półgrup i monoidów, posiadających jedno tylko działanie. | ||
zbiór liczb naturalnych wraz z | |||
Przypomnimy teraz podstawowe wiadomości z wykładu Algebra Liniowa dotyczące struktur | |||
algebraicznych, a dokładniej struktur najprostszych, półgrup i monoidów, posiadających | |||
jedno tylko działanie. | |||
{{definicja|1.1|| | |||
Zbiór <math>S </math>, w którym określone jest działanie łączne, to znaczy spełniające warunek | Zbiór <math>S </math>, w którym określone jest działanie łączne, to znaczy spełniające warunek | ||
Linia 41: | Linia 22: | ||
nazywamy '''półgrupą'''. | nazywamy '''półgrupą'''. | ||
}} | |||
{{ | {{przyklad|1.1|| | ||
Zbiór liczb naturalnych z dodawaniem <math>(\mathbb{N},+) </math> tworzy półgrupę. | Zbiór liczb naturalnych z dodawaniem <math>(\mathbb{N},+) </math> tworzy półgrupę. | ||
Linia 55: | Linia 36: | ||
nazywamy '''monoidem'''. | nazywamy '''monoidem'''. | ||
{{ | {{przyklad|1.2|| | ||
# Zbiór liczb naturalnych z mnożeniem <math>(\mathbb{N},\cdot ,1) </math> jest monoidem. | # Zbiór liczb naturalnych z mnożeniem <math>(\mathbb{N},\cdot ,1) </math> jest monoidem. |
Wersja z 15:00, 6 sie 2006
- Wprowadzenie:
- Teoria języków formalnych, automatów i gramatyk to klasyczna dzisiaj teoria, która zajmuje istotne miejsce w informatyce. Proponuje ona matematyczne modele obliczeń, które wykorzystywane są w praktyce, na przykład w przetwarzaniu tekstu, projektowaniu kompilatorów, w językach programowania czy też sztucznej inteligencji. Daje też znakomite podstawy dla teorii obliczalności czy teorii złożoności.
- Wykład rozpoczniemy od omówienia półgrup - struktur algebraicznych o niezbyt skomplikowanej budowie, bo posiadających jedno tylko działanie. Półgrupy bowiem tworzą ramy dla prezentacji i badań języków formalnych oraz systemów, które takie języki definiują. Wykład zawiera podstawowe pojęcia oraz elementarne własności z zakresu teorii półgrup.
- Słowa kluczowe:
- półgrupa, monoid, kongruencja, zbiór generatorów, wolny monoid, wolna półgrupa, baza, alfabet, słowo, litera
DEFINICJE OZNACZENIA I PODSTAWOWE WŁASNOŚCI
Przyjmijmy, że oznacza zbiór liczb naturalnych,
a zbiór liczb naturalnych wraz z 0. Przypomnimy teraz podstawowe wiadomości z wykładu Algebra Liniowa dotyczące struktur algebraicznych, a dokładniej struktur najprostszych, półgrup i monoidów, posiadających jedno tylko działanie.
Definicja 1.1
Zbiór , w którym określone jest działanie łączne, to znaczy spełniające warunek
nazywamy półgrupą.
Przykład 1.1
Zbiór liczb naturalnych z dodawaniem tworzy półgrupę.
Półgrupę , w której istnieje element neutralny działania, to znaczy element spełniający warunek
nazywamy monoidem.
Przykład 1.2
- Zbiór liczb naturalnych z mnożeniem jest monoidem.
- Zbiór liczb naturalnych z zerem jest monoidem ze względu na dodawanie.
- Monoidem jest - zbiór odwzorowań dowolnego zbioru w siebie ze składaniem jako dzialaniem
i identycznością jako elementem neutralnym.
Dwa pierwsze monoidy są przemienne, czyli działanie jest przemienne, a trzeci jest nieprzemienny.
Każdy monoid jest półgrupą.
Dla uproszczenia notacji będziemy opuszczać kropkę "" oznaczającą działanie oraz
używać nazwy "jedynka" na element neutralny. Jeśli nie będzie zaznaczone inaczej, to
będzie oznaczać półgrupę, a monoid. Ze względu na
łączność działania zarówno w półgrupie, jak i w monoidzie iloczyn a także (n razy) jest określony jednoznacznie
bez potrzeby wprowadzania nawiasów. Dla
dowolnych liczb naturalnych zachodzą wzory
Dla dowolnego
przyjmujemy z definicji
Strukturę monoidu przenosimy na zbiór potęgowy wszystkich podzbiorów monoidu , określając dla dowolnych działanie
jest monoidem.
Podobnie przenosimy strukturę półgrupy z na .
Dla dowolnego podzbioru monoidu
(półgrupy) i dla dowolnej liczby zapis oznacza n-krotny iloczyn
zbioru przez siebie rozumiany w powyższym sensie.
W szczególności
W przypadku monoidu przyjmujemy z definicji
Homomorfizmem półgrup nazywamy odwzorowanie
takie, że
Homomorfizmem monoidów nazywamy odwzorowanie
takie, że
Ćwiczenie [Uzupelnij]
Odwzorowanie takie, że
jest homomorfizmem półgrupy w półgrupę , ale nie jest homomorfizmem monoidu w monoid , bo wartością z monoidu nie jest jedynka monoidu .
dla dociekliwych - start ------
Niech będą odpowiednio dowolną półgrupą, monoidem.
- nazywamy podpółgrupą wtedy i tylko wtedy, gdy i
- nazywamy podmonoidem wtedy i tylko wtedy, gdy jest podpółgrupą i
Ćwiczenie [Uzupelnij]
jest monoidem. Podzbiór , jako zamknięty na działanie , tworzy podpółgrupę . jest monoidem z jako elementem neutralnym, ale nie podmonoidem .
Niech będzie dowolnym podzbiorem monoidu . Zbiór
jest podmonoidem monoidu . Jest to najmniejszy, w sensie inkluzji podmonoid monoidu zawierający zbiór . Gdy spełniona jest równość , to mówimy, że jest zbiorem generatorów monoidu . Zachodzą następujące własności
- Zbiór generatorów nie jest wyznaczony jednoznacznie.
- Dla dowolnego monoidu istnieje zbiór generatorów, jest nim w szczególności zbiór .
Podobnie dla dowolnego podzbioru półgrupy zbiór
jest podpółgrupą
i to najmniejszą w sensie
inkluzji zawierającą zbiór
Powyższe uwagi dotyczące zbioru generatorów monoidów przenoszą się odpowiednio dla półgrup.
Ćwiczenie [Uzupelnij]
W monoidzie podmonoid generowany przez zbiór generatorów składa się z liczb parzystych i nieujemnych.
dla dociekliwych - end -----
Niech będzie półgrupą. Relację równoważności nazywamy:
- prawą kongruencją w półgrupie ,
jeśli
- lewą kongruencją w półgrupie , jeśli
- kongruencją, jeśli jest prawą i lewą
kongruencją, tzn.
Zastępując w powyższej definicji półgrupę na monoid otrzymamy dualnie pojęcia prawej kongruencji,
lewej kongruencji i kongruencji zdefiniowane w monoidzie.
Mając kongruencję określoną w półgrupie (monoidzie
możemy utworzyć półgrupę ilorazową (monoid ilorazowy ), której elementami
są klasy równoważności (abstrakcji) relacji .
Dla dowolnego homomorfizmu półgrup określamy relację
Relacja
jest
kongruencją w półgrupie
Dla homomorfizmu monoidów relacja jest kongruencją
w monoidzie .
Podstawowe twierdzenie o epimorfizmie dla struktur algebraicznych przyjmuje dla półgrup i odpowiednio dla monoidów następującą postać.
Niech będzie dowolnym epimorfizmem półgrupy na półgrupę Półgrupa jest izomorficzna z półgrupą ilorazową .
rys-01
Niech będzie dowolnym epimorfizmem monoidu na monoid Monoid jest izomorficzny z monoidem ilorazowym .
rys-02
PÓŁGRUPY WOLNE I MONOIDY WOLNE
Niech oznacza dowolny zbiór.
Wolnym monoidem o bazie nazywamy
zbiór wszystkich skończonych ciągów:
wraz z działaniem
Ciąg pusty (n=0) oznaczamy symbolem "" i z definicji jest on elementem neutralnym określonego powyżej działania, nazywanego katenacją lub konkatenacją.
Przyjmujemy następującą konwencję zapisu:
W oparciu o nią możemy
stwierdzić inkluzję .
dla dociekliwych - start -----
Ta inkluzja uzasadnia użycie
wprowadzonego wcześniej (Uzupelnic lab1|) oznaczenia .
jest najmniejszym podmonoidem
monoidu zawierającym
dla dociekliwych - end -----
Wolną półgrupą nad alfabetem nazywamy zbiór wszystkich skończonych ciągów:
wraz z
działaniem katenacji.
Używa się także określeń - wolny monoid o bazie i wolna półgrupa o bazie .
- elementy alfabetu nazywamy literami.
- Elementy wolnego monoidu (półgrupy) nazywamy słowami i
oznaczać bedziemy w wykładzie najczęściej literami .
- Dowolny podzbiór wolnego monoidu (półgrupy)
nazywamy językiem.
Długością słowa nazywamy liczbę będącą długością ciągu określającego to słowo. Słowo puste , czyli odpowiadające ciągowi pustemu ma długość równą .
Ćwiczenie [Uzupelnij]
- Wolna półgrupa składa się z ciągów binarnych.
- Wolny monoid składa się z ciągów binarnych i ciągu pustego.
Niech i będą alfabetami. Podstawieniem nazywamy homomorfizm
Odwzorowanie jako homomorfizm monoidu w monoid spełnia
dla dowolnych
równość
.
dla dociekliwych - start -----
Niech oznacza dowolny zbiór, a dowolny monoid.
- Każde odwzorowanie
daje się
jednoznacznie rozszerzyć do homomorfizmu
- Homomorfizm jest epimorfizmem wtedy i tylko wtedy,
gdy jest zbiorem generatorów
- Przyjmujemy
Tak określone
jest jedynym rozszerzeniem przekształcenia
.
- dla pewnego
Parser nie mógł rozpoznać (nieznana funkcja „\Leftrightarrowh”): {\displaystyle a_1...a_n \in A^*\Leftrightarrowh} jest suriekcją
Przyjmując w powyższym twierdzeniu jako dowolny zbiór generatorów monoidu oraz jako funkcję włożenie równe identyczności na dochodzimy do następującego wniosku.
Każdy monoid jest homomorficznym obrazem wolnego monoidu utworzonego nad dowolnym zbiorem generatorów
Udowodnione powyżej twierdzenie oraz sformułowany wniosek prawdziwy jest również dla półgrup.
Powyższe rezultaty określają rolę wolnych monoidów (półgrup) w klasie wszystkich monoidów (półgrup).
Monoid jest wolny wtedy i tylko wtedy, gdy każdy element ma jednoznaczny rozkład na elementy zbioru
Załóżmy, że monoid jest wolny, to znaczy dla pewnego zbioru (bazy)
- Udowodnimy, że jest zbiorem generatorów monoidu . W tym celu
wykażemy, że zachodzi inkluzja
Dowód przeprowadzimy nie wprost. Załóżmy więc, że
i niech
oznacza element z tego zbioru o
najmniejszej długości w
Wnioskujemy stąd kolejno:
m ({S} {S}^2)^+
m {S}^2
m=s_1s_2 {dla pewnych} s_1,s_2 {S},
przy czym długość jest silnie mniejsza niż długość Zatem
a to oznacza, że
Otrzymana sprzeczność kończy dowód faktu, że jest zbiorem generatorów monoidu
- Pokażemy teraz, że
Niech dla
pewnych ,
Jeśli , to , co jest sprzeczne z wyborem Zatem , co implikuje
Z definicji wolnego monoidu
wynika jednoznaczność rozkładu na elementy z bazy , a to pociąga za sobą
jednoznaczność rozkładu na elementy z podzbioru
Niech teraz oznacza monoid z jednoznacznością rozkładu na elementy zbioru . Rozszerzamy identyczność do homomorfizmu Z założenia wynika, że każdy
element
można przedstawić jako iloczyn
Zatem
Homomorfizm
jest
izomorfizmem, więc monoid jako izomorficzny z jest wolny.
Powyższe twierdzenie posiada swój odpowiednik dla wolnych półgrup.
Półgrupa jest wolna wtedy i tylko wtedy, gdy każdy element ma jednoznaczny rozkład na elementy zbioru
Baza wolnego monoidu (półgrupy) jest minimalym zbiorem generatorów.
Ćwiczenie [Uzupelnij]
- Półgrupa jest wolna. Każdy jej element można jednoznacznie zapisać
jako sumę jedynek - .
- Dla półgrupa nie jest to półgrupą wolną.
Nie ma jednoznaczności rozkładu na elementy z .
Na przykład .
dla dociekliwych - end -----