Języki, automaty i obliczenia/Ćwiczenia 1: Słowa, katenacja - elementy teorii półgrup, półgrupy i monoidy wolne: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bartek (dyskusja | edycje)
m Zastępowanie tekstu - "\mathds{" na "\mathbb{"
Linia 3: Linia 3:
{{cwiczenie|1||
{{cwiczenie|1||


Pokaż, że jeśli w zbiorze <math>\mathds{Z}</math> określimy działanie  
Pokaż, że jeśli w zbiorze <math>\mathbb{Z}</math> określimy działanie  


<center><math>x \star  
<center><math>x \star  
y = x+y-xy,</math></center> to <math>(\mathds{Z}, \star)</math> jest monoidem. Sprawdź, czy jest to monoid przemienny.
y = x+y-xy,</math></center> to <math>(\mathbb{Z}, \star)</math> jest monoidem. Sprawdź, czy jest to monoid przemienny.
}}
}}


Linia 12: Linia 12:


Najpierw sprawdźmy łączność działania: niech <math>x, y, z  
Najpierw sprawdźmy łączność działania: niech <math>x, y, z  
\in \mathds{Z}</math>. Pokażemy, że <math>(x \star y) \star z = x \star (y \star z)</math>. Obliczamy: <math>(x \star y) \star z = (x+y-xy)+z-(x+y-xy)z = x+y+z-xy-xz-yz+xyz</math> <math>x \star (y \star z) = x + (y+z-yz) - x(y+z-yz) = x+y+z-xy-xz-yz+xyz.</math>
\in \mathbb{Z}</math>. Pokażemy, że <math>(x \star y) \star z = x \star (y \star z)</math>. Obliczamy: <math>(x \star y) \star z = (x+y-xy)+z-(x+y-xy)z = x+y+z-xy-xz-yz+xyz</math> <math>x \star (y \star z) = x + (y+z-yz) - x(y+z-yz) = x+y+z-xy-xz-yz+xyz.</math>
Zatem działanie jest łączne. Aby pokazać, że struktura jest monoidem, musimy wskazać element neutralny. Pokażemy, że jest nim '''0'''. Istotnie: <center><math>\forall x \in \mathds{Z}\ x \star 0 = 0 \star x = 0 + x - 0 \cdot x = x.</math></center> Monoid jest przemienny, gdyż <math>x \star y = x+y-xy=y+x-yx = y \star x</math>.
Zatem działanie jest łączne. Aby pokazać, że struktura jest monoidem, musimy wskazać element neutralny. Pokażemy, że jest nim '''0'''. Istotnie: <center><math>\forall x \in \mathbb{Z}\ x \star 0 = 0 \star x = 0 + x - 0 \cdot x = x.</math></center> Monoid jest przemienny, gdyż <math>x \star y = x+y-xy=y+x-yx = y \star x</math>.
</div></div>
</div></div>
{{cwiczenie|2||
{{cwiczenie|2||
Linia 31: Linia 31:
Znajdź wszystkie podpółgrupy (podmonoidy) następujących półgrup (monoidów):
Znajdź wszystkie podpółgrupy (podmonoidy) następujących półgrup (monoidów):


: (1) <math>(\mathds{Z}_{mod\ 6}, +)</math>,
: (1) <math>(\mathbb{Z}_{mod\ 6}, +)</math>,


: (2) <math>(\mathds{Z}_{mod\ 7}, +)</math>,
: (2) <math>(\mathbb{Z}_{mod\ 7}, +)</math>,


: (3) <math>(\mathds{Z}_{mod\ 4}, \cdot)</math>,
: (3) <math>(\mathbb{Z}_{mod\ 4}, \cdot)</math>,


: (4) <math>(\{0, 1\}, \vee)</math>.
: (4) <math>(\{0, 1\}, \vee)</math>.


<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie punktu 1 </span><div class="mw-collapsible-content" style="display:none">.<math>(\mathds{Z}_{mod\ 6}, +)</math> jest monoidem. Jego podmonoidy mogą wyglądać następująco:
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie punktu 1 </span><div class="mw-collapsible-content" style="display:none">.<math>(\mathbb{Z}_{mod\ 6}, +)</math> jest monoidem. Jego podmonoidy mogą wyglądać następująco:


: (1) <math>\{0\}</math> (generowany przez zbiór <math>\{0\}</math>),
: (1) <math>\{0\}</math> (generowany przez zbiór <math>\{0\}</math>),
Linia 62: Linia 62:
{{cwiczenie|5||
{{cwiczenie|5||


Skonstruuj odwzorowanie <math>h: \mathds{Z}_{mod\ 4} \rightarrow  
Skonstruuj odwzorowanie <math>h: \mathbb{Z}_{mod\ 4} \rightarrow  
\mathds{Z}_{mod\ 2}</math> tak, aby było homomorfizmem monoidu  
\mathbb{Z}_{mod\ 2}</math> tak, aby było homomorfizmem monoidu  
<math>(\mathds{Z}_{mod\ 4}, \cdot, 1)</math> w monoid <math>(\mathds{Z}_{mod\ 2}, \cdot, 1)</math>.
<math>(\mathbb{Z}_{mod\ 4}, \cdot, 1)</math> w monoid <math>(\mathbb{Z}_{mod\ 2}, \cdot, 1)</math>.
}}
}}


<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none">  
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none">  
Połóżmy <math>h(0)=h(2)=0</math>, <math>h(1)=h(3)=1</math>. Sprawdź, że <math>h</math> jest homomorfizmem oraz zauważ, że obrazem elementu neutralnego monoidu <math>\mathds{Z}_{mod\ 4}</math> przez homomorfizm <math>h</math> jest element neutralny monoidu <math>\mathds{Z}_{mod\ 2}</math>.
Połóżmy <math>h(0)=h(2)=0</math>, <math>h(1)=h(3)=1</math>. Sprawdź, że <math>h</math> jest homomorfizmem oraz zauważ, że obrazem elementu neutralnego monoidu <math>\mathbb{Z}_{mod\ 4}</math> przez homomorfizm <math>h</math> jest element neutralny monoidu <math>\mathbb{Z}_{mod\ 2}</math>.
</div></div>
</div></div>
{{cwiczenie|6||
{{cwiczenie|6||
Linia 116: Linia 116:
Określ minimalny zbiór generatorów monoidów:
Określ minimalny zbiór generatorów monoidów:


: (1) <math>(\mathds{Z}, +, 0)</math>,
: (1) <math>(\mathbb{Z}, +, 0)</math>,


: (2) <math>(\mathds{Z}, \cdot, 1)</math>,
: (2) <math>(\mathbb{Z}, \cdot, 1)</math>,


: (3) <math>(\mathds{Z}_{mod\ 5}, \cdot, 1)</math>,
: (3) <math>(\mathbb{Z}_{mod\ 5}, \cdot, 1)</math>,


: (4) <math>(\mathds{Z}_{mod\ 4}, +, 0)</math>.
: (4) <math>(\mathbb{Z}_{mod\ 4}, +, 0)</math>.


<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie punktu 1 </span><div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie punktu 1 </span><div class="mw-collapsible-content" style="display:none">
Linia 166: Linia 166:
element neutralny.  
element neutralny.  


: (1) <math>(\mathds{Z}, +)</math>,
: (1) <math>(\mathbb{Z}, +)</math>,


: (2) <math>(\mathds{Z}, \cdot)</math>,
: (2) <math>(\mathbb{Z}, \cdot)</math>,


: (3) <math>(\mathds{R}, +)</math>,
: (3) <math>(\mathbb{R}, +)</math>,


: (4) <math>(\mathds{R}, \cdot)</math>,
: (4) <math>(\mathbb{R}, \cdot)</math>,


: (5) <math>(\mathds{Z}_{mod\;5}, +)</math>,
: (5) <math>(\mathbb{Z}_{mod\;5}, +)</math>,


: (6) <math>(\mathds{Z}_{mod\;6}, \cdot)</math>,
: (6) <math>(\mathbb{Z}_{mod\;6}, \cdot)</math>,


: (7) <math>(\{0, 1\}, \vee)</math>,
: (7) <math>(\{0, 1\}, \vee)</math>,
Linia 182: Linia 182:
: (8) <math>(\{0, 1\}, \wedge)</math>,
: (8) <math>(\{0, 1\}, \wedge)</math>,


: (9) <math>(M_n(\mathds{R}), +)</math>, gdzie <math>M_n(\mathds{R})</math> jest rodziną macierzy o wymiarze <math>n \times n</math> o elementach rzeczywistych,  
: (9) <math>(M_n(\mathbb{R}), +)</math>, gdzie <math>M_n(\mathbb{R})</math> jest rodziną macierzy o wymiarze <math>n \times n</math> o elementach rzeczywistych,  


: (10) <math>(M_n(\mathds{R}), \cdot)</math>, gdzie <math>M_n(\mathds{R})</math> jest zdefiniowane jak powyżej,
: (10) <math>(M_n(\mathbb{R}), \cdot)</math>, gdzie <math>M_n(\mathbb{R})</math> jest zdefiniowane jak powyżej,


: (11) <math>(n\mathds{Z}, +)</math>, gdzie <math>n\mathds{Z}=\{mn:\ m \in \mathds{Z}\}</math> jest zbiorem liczb całkowitych podzielnych przez <math>n \in \mathds{N}</math>,
: (11) <math>(n\mathbb{Z}, +)</math>, gdzie <math>n\mathbb{Z}=\{mn:\ m \in \mathbb{Z}\}</math> jest zbiorem liczb całkowitych podzielnych przez <math>n \in \mathbb{N}</math>,


: (12) zbiór <math>B</math> wszystkich drzew binarnych wraz z działaniem <math>+</math>, zdefiniowanym w sposób przedstawiony na rysunku 1 (czyli działanie na drzewach <math>T_1</math> i <math>T_2</math> polega na dodaniu jednego wierzchołka, który jest nowym korzeniem, a jego lewym i prawym dzieckiem są odpowiednio drzewa <math>T_1</math> i <math>T_2</math>).  
: (12) zbiór <math>B</math> wszystkich drzew binarnych wraz z działaniem <math>+</math>, zdefiniowanym w sposób przedstawiony na rysunku 1 (czyli działanie na drzewach <math>T_1</math> i <math>T_2</math> polega na dodaniu jednego wierzchołka, który jest nowym korzeniem, a jego lewym i prawym dzieckiem są odpowiednio drzewa <math>T_1</math> i <math>T_2</math>).  
Linia 233: Linia 233:
{{cwiczenie|16||
{{cwiczenie|16||


Rozważmy monoid <math>S=(\mathds{Z}, +)</math> i ustalmy <math>k \in \mathds{N}</math>. Znajdź monoidy ilorazowe <math>S \slash \rho</math>, gdzie relacja <math>\rho</math> zdefiniowana jest następująco (najpierw sprawdź, czy <math>\rho</math> jest kongruencją!): <br>
Rozważmy monoid <math>S=(\mathbb{Z}, +)</math> i ustalmy <math>k \in \mathbb{N}</math>. Znajdź monoidy ilorazowe <math>S \slash \rho</math>, gdzie relacja <math>\rho</math> zdefiniowana jest następująco (najpierw sprawdź, czy <math>\rho</math> jest kongruencją!): <br>


<math>x \rho y</math> wtw <math>x = y \mod k</math>.
<math>x \rho y</math> wtw <math>x = y \mod k</math>.

Wersja z 23:40, 10 cze 2020

Ćwiczenia 1

Ćwiczenie 1

Pokaż, że jeśli w zbiorze określimy działanie

xy=x+yxy,
to (,) jest monoidem. Sprawdź, czy jest to monoid przemienny.
Rozwiązanie

Ćwiczenie 2

Udowodnij, że w monoidzie istnieje dokładnie jeden element neutralny.

Rozwiązanie
Dla zainteresowanych
{{{3}}}

Ćwiczenie 4

Niech f:ST będzie homomorfizmem półgrup. Pokaż, że Kerf jest kongruencją.

Rozwiązanie

Ćwiczenie 5

Skonstruuj odwzorowanie h:mod 4mod 2 tak, aby było homomorfizmem monoidu (mod 4,,1) w monoid (mod 2,,1).

Rozwiązanie

Ćwiczenie 6

Niech (M,,1M) i (M,*,1M) będą monoidami, a
h:MM
suriekcją. Udowodnij, że

h jest homomorfizmem monoidu (M,,1M) na (M,*,1M) wtw gdy
x,ySh(xy)=h(x)*h(y). ( Z faktów, że h jest homomorfizmem półgrup i suriekcją należy wywnioskować, że h(1M) jest elementem neutralnym w M).

Rozwiązanie

Ćwiczenie 7

Niech (S,) będzie dowolną półgrupą, a TS dowolnym podzbiorem S. Udowodnij, że relacja ρTrS2 taka, że x,yS

xρTry(zSxzTyzT)
jest prawą kongruencją,
Rozwiązanie
Dla zainteresowanych
{{{3}}}
ZADANIA DOMOWE

<flash>file=ja-lekcja01-c-rys1.swf|width=350|height=150</flash>

<div.thumbcaption>Rysunek 1

Ćwiczenie 11

Sprawdź, które z poniższych struktur są półgrupami, które monoidami, a które ani półgrupami, ani monoidami. W przypadku monoidów wskaż element neutralny.

(1) (,+),
(2) (,),
(3) (,+),
(4) (,),
(5) (mod5,+),
(6) (mod6,),
(7) ({0,1},),
(8) ({0,1},),
(9) (Mn(),+), gdzie Mn() jest rodziną macierzy o wymiarze n×n o elementach rzeczywistych,
(10) (Mn(),), gdzie Mn() jest zdefiniowane jak powyżej,
(11) (n,+), gdzie n={mn: m} jest zbiorem liczb całkowitych podzielnych przez n,
(12) zbiór B wszystkich drzew binarnych wraz z działaniem +, zdefiniowanym w sposób przedstawiony na rysunku 1 (czyli działanie na drzewach T1 i T2 polega na dodaniu jednego wierzchołka, który jest nowym korzeniem, a jego lewym i prawym dzieckiem są odpowiednio drzewa T1 i T2).

Ćwiczenie 12

Które z półgrup i monoidów z zadania 1.11 są przemienne?

Ćwiczenie 13

Niech (S,S) i (T,T) będą półgrupami. Sprawdź, czy półgrupami są także:

(1) (S×T,), gdzie (s1,t1)(s2,t2)=(s1Ss2,t1Tt2),
(2) (S×S,), gdzie =S i (s1,s2)(s3,s4)=(s1s4,s2s3).

Ćwiczenie 14

Podaj przykłady:

(1) jednoelementowego monoidu,
(2) jednoelementowej półgrupy,
(3) monoidów o 3, 5 i 11 elementach,
(4) nieskończonej przeliczalnej półgrupy,
(5) nieskończonej nieprzeliczalnej półgrupy.

Ćwiczenie 15

Podaj przykład półgrupy S i kongruencji ρ taki, że |S|= ale Parser nie mógł rozpoznać (nieznana funkcja „\slash”): {\displaystyle S \slash \rho} jest skończona.

Ćwiczenie 16

Rozważmy monoid S=(,+) i ustalmy k. Znajdź monoidy ilorazowe Parser nie mógł rozpoznać (nieznana funkcja „\slash”): {\displaystyle S \slash \rho} , gdzie relacja ρ zdefiniowana jest następująco (najpierw sprawdź, czy ρ jest kongruencją!):

xρy wtw x=ymodk.

Ćwiczenie 17

Niech (S,) będzie dowolną półgrupą, a TS dowolnym podzbiorem S. Udowodnij, że:

(1) relacja ρTlS2 taka, że x,yS
xρTly(zSzxTzyT)
jest lewą kongruencją,
(2) relacja ρTS2 taka, że x,yS
xρTy(z1,z2Sz1xz2Tz1yz2T)
jest kongruencją.
Dla zainteresowanych

Ćwiczenie 18

W monoidzie wolnym {a,b}* rozważamy następujące podmonoidy:

(1) M3={a,bb,ab}*,
(2) M4={ab2,ab2a,aba,ba}*.
Które z tych monoidów są wolne? W rozwiązaniu wykorzystaj twierdzenie 2.3 z wykładu 1 (patrz twierdzenie 2.3.)