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
Rogoda (dyskusja | edycje)
Rogoda (dyskusja | edycje)
Linia 46: Linia 46:
: (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|[Uzupelnij]||
{{cwiczenie|1.4||


Niech <math>f: S \rightarrow T</math> będzie homomorfizmem półgrup. Pokaż, że  
Niech <math>f: S \rightarrow T</math> będzie homomorfizmem półgrup. Pokaż, że <math>\mbox{Ker}_f</math> jest kongruencją.
<math>\mbox{Ker}_f</math> jest kongruencją.
}}
}}


ROZWIĄZANIE. Niech <math>f: S \rightarrow T</math> będzie homomorfizmem  
<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">
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> Weźmy więc dowolne <math>x, y, z \in S</math> i załóżmy, że  
\mbox{Ker}_f yz.</math></center>  
<math>x \mbox{Ker}_f y</math>. Z definicji <math>\mbox{Ker}_f</math> mamy, że <math>f(x)=f(y)</math>,  
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ć.
zatem zachodzą także równości <math>f(x)f(z)=f(y)f(z)</math> oraz  
</div></div>
<math>f(z)f(x)=f(z)f(y)</math>. Ponieważ <math>f</math> jest homomorfizmem mamy  
{{cwiczenie|1.5||
<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ć.
 
{{cwiczenie|[Uzupelnij]||


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


ROZWIĄZANIE. Połóżmy <math>h(0)=h(2)=0</math>, <math>h(1)=h(3)=1</math>. Sprawdź, że <math>h</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">
jest homomorfizmem oraz zauważ, że obrazem elementu neutralnego  
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>.
monoidu <math>\mathds{Z}_{mod\ 4}</math> przez homomorfizm <math>h</math> jest element  
</div></div>
neutralny monoidu <math>\mathds{Z}_{mod\ 2}</math>.
{{cwiczenie|1.6||
 
{{cwiczenie|[Uzupelnij]||


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>).
}}
}}


ROZWIĄZANIE. <math>\forall m' \in M' \;\exists m \in M :m'=h(m)</math><br>
<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">
<math>\forall m' \in M' \;\exists m \in M :m'=h(m)</math><br>
<math>m'h(1_M)=h(m)h(1_M)=h(m1_M)=h(m)</math> oraz<br> <math>h(1_M)m'=h(1_M)h(m)=h(1_Mm)=h(m)</math>.
<math>m'h(1_M)=h(m)h(1_M)=h(m1_M)=h(m)</math> oraz<br> <math>h(1_M)m'=h(1_M)h(m)=h(1_Mm)=h(m)</math>.
</div></div>
{{cwiczenie|1.7||


{{cwiczenie|[Uzupelnij]||
Niech <math>(S,\cdot)</math> będzie dowolną półgrupą, a <math>T \subset S</math> dowolnym podzbiorem <math>{S}</math>. Udowodnij, że relacja <math>{\rho^r_T} \subset S^2</math> taka, że <math>\forall x,y \in S</math>   
 
<center><math>x  
Niech <math>(S,\cdot)</math> będzie dowolną półgrupą, a <math>T \subset S</math> dowolnym  
podzbiorem <math>S</math>. Udowodnij, że relacja <math>{\rho^r_T} \subset S^2</math> taka,  
że <math>\forall x,y \in S</math>  <center><math>x  
{\rho^r_T} y \Longleftrightarrow (\forall z \in S\; xz \in T  
{\rho^r_T} y \Longleftrightarrow (\forall z \in S\; xz \in T  
\Longleftrightarrow yz \in T)</math></center> jest prawą kongruencją,   
\Longleftrightarrow yz \in T)</math></center> jest prawą kongruencją,   
Linia 99: Linia 89:
}}
}}


ROZWIĄZANIE. <br>
<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">
Dowodzimy, że <math>{\rho^r_T}</math> jest relacją równoważności.<br> <math>\forall  
Dowodzimy, że <math>{\rho^r_T}</math> jest relacją równoważności.<br> <math>\forall  
x,y,w \in S</math>
x,y,w \in S</math>


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


; symetria
: '''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>
:   <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>


; przechodniość
 
:   <math> x\rho^r_T y ,  y\rho^r_T w \Leftrightarrow (\forall z \in S\; xz \in T  
: '''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) \Leftrightarrow  (\forall z \in S\; xz \in T \Longleftrightarrow wz \in T) \Leftrightarrow  x\rho^r_T w </math>  
\Longleftrightarrow yz \in T), (\forall z \in S\; yz \in T  
\Longleftrightarrow ywz \in T) \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>
Linia 123: Linia 106:
\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>.
 
</div></div>
{{cwiczenie|[Uzupelnij]||
{{cwiczenie|1.8||


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

Wersja z 10:01, 8 sie 2006

Ćwiczenia 1

Ćwiczenie 1.1

Pokaż, że jeśli w zbiorze Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle \mathds{Z}} określimy działanie
xy=x+yxy,
to Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}, \star)} jest monoidem. Sprawdź, czy jest to monoid przemienny.
Rozwiązanie

Ćwiczenie 1.2

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

Rozwiązanie

Ćwiczenie 1.3

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

(1) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 6}, +)} ,
(2) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 7}, +)} ,
(3) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 4}, \cdot)} ,
(4) ({0,1},).
Rozwiązanie punktu 1

Ćwiczenie 1.4

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

Rozwiązanie

Ćwiczenie 1.5

Skonstruuj odwzorowanie Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle h: \mathds{Z}_{mod\ 4} \rightarrow \mathds{Z}_{mod\ 2}} tak, aby było homomorfizmem monoidu Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 4}, \cdot, 1)} w monoid Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 2}, \cdot, 1)} .

Rozwiązanie

Ćwiczenie 1.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 1.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

Ćwiczenie 1.8

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

  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}, +, 0)} ,
  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}, \cdot, 1)} ,
  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 5}, \cdot, 1)} ,
  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 4}, +, 0)} .

ROZWIĄZANIE punktu 1. Najmniejszym zbiorem generatorów jest zbiór {1,1}, choć nie jest to jedyny możliwy taki zbiór generatorów: warunek ten spełnia również na przykład zbiór {2,3}. Aby to pokazać, wystarczy dowieść, że da się z niego wygenerować elementy 1 oraz -1 i skorzystać z tego, że {1,1} jest zbiorem generatorów. Mamy 1=(2)+3 oraz 1=(2)+(2)+3.

Ćwiczenie [Uzupelnij]

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. Jest to zbiór wszystkich (i tylko takich) słów, które nie kończą się literą b oraz w których nie występuje podsłowo bb.

Ćwiczenie [Uzupelnij]

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

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

Które z tych monoidów są wolne? W rozwiązaniu wykorzystaj twierdzenie Uzupelnic tw:b| z wykładu ja-lekcja1-w.

ROZWIĄZANIE punktu 1. Niech S=M1{1}. Po pierwsze, zauważmy, że {ab,ba,a}SS2. Weźmy element abaS. Ma on dwa rozkłady na elementy zbioru SS2, mianowicie: aba=aba=aba, zatem monoid M1 nie jest wolny.

ZADANIA DOMOWE

Ćwiczenie [Uzupelnij]

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. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}, +)} ,
  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}, \cdot)} ,
  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{R}, +)} ,
  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{R}, \cdot)} ,
  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\;5}, +)} ,
  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\;6}, \cdot)} ,
  1. ({0,1},),
  1. ({0,1},),
  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (M_n(\mathds{R}), +)} , gdzie Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle M_n(\mathds{R})} jest

rodziną macierzy o wymiarze n×n o elementach rzeczywistych,

  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (M_n(\mathds{R}), \cdot)} , gdzie Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle M_n(\mathds{R})} jest zdefiniowane jak powyżej,
  1. Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (n\mathds{Z}, +)} , gdzie Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle n\mathds{Z}=\{mn:\ m \in \mathds{Z}\}} jest zbiorem liczb

całkowitych podzielnych przez Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle n \in \mathds{N}} ,

  1. zbiór B wszystkich drzew binarnych wraz z działaniem +,

zdefiniowanym w następujący sposób:

RYSUNEK NR 1 (plik JA-lekcja1-c-rys1.bmp)

(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 [Uzupelnij]

Które z półgrup i monoidów z zadania Uzupelnic zad1| są przemienne?

Ćwiczenie [Uzupelnij]

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),
  1. (S×S,), gdzie =S i (s1,s2)(s3,s4)=(s1s4,s2s3).

Ćwiczenie [Uzupelnij]

Podaj przykłady:

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

Ćwiczenie [Uzupelnij]

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 [Uzupelnij]

Rozważmy monoid Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle S=(\mathds{Z}, +)} i ustalmy Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle k \in \mathds{N}} . 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 [Uzupelnij]

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ą,
  1. relacja ρTS2 taka, że x,yS
    xρTy(z1,z2Sz1xz2Tz1yz2T)
    jest kongruencją.

Ćwiczenie [Uzupelnij]

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

  1. M3={a,bb,ab}*,
  1. M4={ab2,ab2a,aba,ba}*.

Które z tych monoidów są wolne? W rozwiązaniu wykorzystaj twierdzenie Uzupelnic tw:b| z wykładu ja-lekcja1-w.