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
m Zastępowanie tekstu - "\slash" na "/"
m Zastępowanie tekstu – „<math> ” na „<math>”
 
(Nie pokazano 6 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 6: Linia 6:


<center><math>x \star  
<center><math>x \star  
y = x+y-xy,</math></center> to <math>(\mathbb{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 \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>
\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 \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>.
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 38: Linia 38:


: (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>(\mathbb{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:


Linia 48: Linia 48:


: (4) <math>\{0,1,2,3,4,5\}</math> (generowany przez zbiór <math>\{1\})</math>.
: (4) <math>\{0,1,2,3,4,5\}</math> (generowany przez zbiór <math>\{1\})</math>.
</div></div> }}
</div></div>  


{{cwiczenie|4||
{{cwiczenie|4||
Linia 57: Linia 57:
Niech <math>f: S \rightarrow T</math> będzie homomorfizmem półgrupy <math>S</math> w półgrupę <math>T</math>. Mamy pokazać, że <center><math>\forall x, y, z \in  
Niech <math>f: S \rightarrow T</math> będzie homomorfizmem półgrupy <math>S</math> w półgrupę <math>T</math>. Mamy pokazać, że <center><math>\forall x, y, z \in  
S\ x \mbox{Ker}_f y \Rightarrow zx \mbox{Ker}_f zy \wedge xz  
S\ x \mbox{Ker}_f y \Rightarrow zx \mbox{Ker}_f zy \wedge xz  
\mbox{Ker}_f yz.</math></center>  
\mbox{Ker}_f yz</math>.</center>  
Weźmy więc dowolne <math>x, y, z \in S</math> i załóżmy, że <math>x \mbox{Ker}_f y</math>. Z definicji <math>\mbox{Ker}_f</math> mamy, że <math>{f(x)=f(y)}</math>, zatem zachodzą także równości <math>f(x)f(z)=f(y)f(z)</math> oraz <math>f(z)f(x)=f(z)f(y)</math>. Ponieważ <math>{f}</math> jest homomorfizmem mamy <math>f(x)f(z)=f(xz)</math>, <math>f(y)f(z)=f(yz)</math>, <math>f(z)f(x)=f(zx)</math>, <math>f(z)f(y)=f(zy)</math>. Zatem zachodzą równości <math>f(xz)=f(yz)</math> oraz <math>f(zx)=f(zy)</math>, ale to oznacza, że <math>xz \mbox{Ker}_f yz</math> oraz <math>zx \mbox{Ker}_f zy</math>, a to mieliśmy pokazać.
Weźmy więc dowolne <math>x, y, z \in S</math> i załóżmy, że <math>x \mbox{Ker}_f y</math>. Z definicji <math>\mbox{Ker}_f</math> mamy, że <math>{f(x)=f(y)}</math>, zatem zachodzą także równości <math>f(x)f(z)=f(y)f(z)</math> oraz <math>f(z)f(x)=f(z)f(y)</math>. Ponieważ <math>{f}</math> jest homomorfizmem mamy <math>f(x)f(z)=f(xz)</math>, <math>f(y)f(z)=f(yz)</math>, <math>f(z)f(x)=f(zx)</math>, <math>f(z)f(y)=f(zy)</math>. Zatem zachodzą równości <math>f(xz)=f(yz)</math> oraz <math>f(zx)=f(zy)</math>, ale to oznacza, że <math>xz \mbox{Ker}_f yz</math> oraz <math>zx \mbox{Ker}_f zy</math>, a to mieliśmy pokazać.
</div></div>
</div></div>
Linia 74: Linia 74:
Niech <math>(M,\cdot,1_{M})</math> i <math>(M',*,1_{M'})</math> będą monoidami, a <center><math>h:M \longmapsto M'</math></center> suriekcją. Udowodnij, że <br>
Niech <math>(M,\cdot,1_{M})</math> i <math>(M',*,1_{M'})</math> będą monoidami, a <center><math>h:M \longmapsto M'</math></center> suriekcją. Udowodnij, że <br>
<math>h</math> jest homomorfizmem monoidu <math>(M,\cdot,1_{M})</math> na <math>(M',*,1_{M'})</math> wtw gdy <br>
<math>h</math> jest homomorfizmem monoidu <math>(M,\cdot,1_{M})</math> na <math>(M',*,1_{M'})</math> wtw gdy <br>
<math> \forall x,y \in S \;\;\; h(x\cdot y)=h(x)*h(y).</math>
<math>\forall x,y \in S \;\;\; h(x\cdot y)=h(x)*h(y)</math>.
( Z faktów, że <math>h</math> jest homomorfizmem półgrup i suriekcją należy wywnioskować, że <math>h(1_M)</math> jest elementem neutralnym w  
( Z faktów, że <math>h</math> jest homomorfizmem półgrup i suriekcją należy wywnioskować, że <math>h(1_M)</math> jest elementem neutralnym w  
<math>M'</math>).
<math>M'</math>).
Linia 96: Linia 96:
x,y,w \in S</math>
x,y,w \in S</math>


: '''zwrotność:'''<br/><math> x\rho^r_T x \Leftrightarrow (\forall z \in S\; xz \in T \Longleftrightarrow xz \in T)</math>
: '''zwrotność:'''<br/><math>x\rho^r_T x \Leftrightarrow (\forall z \in S\; xz \in T \Longleftrightarrow xz \in T)</math>




: '''symetria:'''<br/><math> x\rho^r_T y \Leftrightarrow (\forall z \in S\; xz \in T \Longleftrightarrow yz \in T) \Leftrightarrow\\ \Leftrightarrow (\forall z \in S\; yz \in T \Longleftrightarrow xz \in T)  \Leftrightarrow y\rho^r_T x \Leftrightarrow </math>
: '''symetria:'''<br/><math>
\begin{align}
x\rho^r_T y \Leftrightarrow (\forall z \in S\; xz \in T \Longleftrightarrow yz \in T) \Leftrightarrow\\  
\Leftrightarrow (\forall z \in S\; yz \in T \Longleftrightarrow xz \in T)  \Leftrightarrow y\rho^r_T x \Leftrightarrow  
\end{align}
</math>




: '''przechodniość:'''<br/><math> x\rho^r_T y ,  y\rho^r_T w \Leftrightarrow (\forall z \in S\; xz \in T \Longleftrightarrow yz \in T), (\forall z \in S\; yz \in T \Longleftrightarrow ywz \in T)</math><math> \Leftrightarrow  (\forall z \in S\; xz \in T \Longleftrightarrow wz \in T) \Leftrightarrow  x\rho^r_T w </math>  
: '''przechodniość:'''<br/><math>x\rho^r_T y ,  y\rho^r_T w \Leftrightarrow (\forall z \in S\; xz \in T \Longleftrightarrow yz \in T), (\forall z \in S\; yz \in T \Longleftrightarrow ywz \in T)</math><math>\Leftrightarrow  (\forall z \in S\; xz \in T \Longleftrightarrow wz \in T) \Leftrightarrow  x\rho^r_T w</math>  


Dowodzimy, że  <math>{\rho^r_T}</math> jest prawą kongruencją.<br>
Dowodzimy, że  <math>{\rho^r_T}</math> jest prawą kongruencją.<br>
<math>\forall x,y \in S</math><br>
<math>\forall x,y \in S</math><br>
<math> x\rho^r_T y \Rightarrow (\forall z,w \in S\; xzw \in T  
<math>x\rho^r_T y \Rightarrow (\forall z,w \in S\; xzw \in T  
\Longleftrightarrow yzw \in T) \Leftrightarrow (\forall z \in S\; xz\rho^r_T yz  
\Longleftrightarrow yzw \in T) \Leftrightarrow (\forall z \in S\; xz\rho^r_T yz  
)</math>.
)</math>.
Linia 123: Linia 128:


: (4) <math>(\mathbb{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">
Najmniejszym zbiorem generatorów jest zbiór <math>\{-1, 1\}</math>, choć nie jest to jedyny możliwy taki zbiór generatorów: warunek ten spełnia również na przykład zbiór <math>\{-2, 3\}</math>. Aby to pokazać, wystarczy dowieść, że da się z niego wygenerować elementy '''1''' oraz '''-1''' i skorzystać z tego, że <math>\{-1, 1\}</math> jest zbiorem generatorów. Mamy <math>1 = (-2)+3</math> oraz <math>-1 = (-2)+(-2)+3</math>.   
Najmniejszym zbiorem generatorów jest zbiór <math>\{-1, 1\}</math>, choć nie jest to jedyny możliwy taki zbiór generatorów: warunek ten spełnia również na przykład zbiór <math>\{-2, 3\}</math>. Aby to pokazać, wystarczy dowieść, że da się z niego wygenerować elementy '''1''' oraz '''-1''' i skorzystać z tego, że <math>\{-1, 1\}</math> jest zbiorem generatorów. Mamy <math>1 = (-2)+3</math> oraz <math>-1 = (-2)+(-2)+3</math>.   
Linia 149: Linia 154:


Które z tych monoidów są wolne? W rozwiązaniu wykorzystaj twierdzenie 2.3 z wykładu 1 (patrz [[Języki, automaty i obliczenia/Wykład 1: Słowa, katenacja - elementy teorii półgrup, półgrupy i monoidy wolne#zainteresowani_2|twierdzenie 2.3.]])
Które z tych monoidów są wolne? W rozwiązaniu wykorzystaj twierdzenie 2.3 z wykładu 1 (patrz [[Języki, automaty i obliczenia/Wykład 1: Słowa, katenacja - elementy teorii półgrup, półgrupy i monoidy wolne#zainteresowani_2|twierdzenie 2.3.]])
 
}}
<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">
Niech <math>S=M_1 \backslash \{1\}</math>. Po pierwsze, zauważmy, że <math>\{ab,ba,a\} \subset S \backslash S^2</math>. Weźmy element <math>aba \in S</math>. Ma on dwa rozkłady na elementy zbioru <math>S \backslash S^2</math>, mianowicie: <math>aba=a \cdot ba = ab \cdot a</math>, zatem monoid <math>M_1</math> nie jest wolny.
Niech <math>S=M_1 \backslash \{1\}</math>. Po pierwsze, zauważmy, że <math>\{ab,ba,a\} \subset S \backslash S^2</math>. Weźmy element <math>aba \in S</math>. Ma on dwa rozkłady na elementy zbioru <math>S \backslash S^2</math>, mianowicie: <math>aba=a \cdot ba = ab \cdot a</math>, zatem monoid <math>M_1</math> nie jest wolny.
</div></div>
</div></div>
}}
 
<center>ZADANIA DOMOWE</center>   
<center>ZADANIA DOMOWE</center>   


<div class="thumb tright"><div style="width:350px;">
[[File:ja-lekcja01-c-rys1.svg|350x150px|thumb|right|Rysunek 1]]
<flash>file=ja-lekcja01-c-rys1.swf|width=350|height=150</flash>
<div.thumbcaption>Rysunek 1</div></div></div>


{{cwiczenie|11||
{{cwiczenie|11||

Aktualna wersja na dzień 10:27, 5 wrz 2023

Ć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

Ćwiczenie 3

Znajdź wszystkie podpółgrupy (podmonoidy) następujących półgrup (monoidów):

(1) (mod 6,+),
(2) (mod 7,+),
(3) (mod 4,),
(4) ({0,1},).
Rozwiązanie punktu 1

Ć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

Ćwiczenie 8

Określ minimalny zbiór generatorów monoidów:

(1) (,+,0),
(2) (,,1),
(3) (mod 5,,1),
(4) (mod 4,+,0).
Rozwiązanie punktu 1


Ćwiczenie 9

Dana jest półgrupa {a,b}+ oraz jej podpółgrupa generowana przez dwuelementowy zbiór słów {a,ba}. Opisz słownie elementy tej podpółgrupy.

Rozwiązanie


Ćwiczenie 10

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

(1) M1={ab,ba,a}*,
(2) M2={aa,ba}*.

Które z tych monoidów są wolne? W rozwiązaniu wykorzystaj twierdzenie 2.3 z wykładu 1 (patrz twierdzenie 2.3.) }}

Rozwiązanie punktu 1
ZADANIA DOMOWE
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 S/ρ jest skończona.

Ćwiczenie 16

Rozważmy monoid S=(,+) i ustalmy k. Znajdź monoidy ilorazowe S/ρ, 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.)