symetria CM1

Transkrypt

symetria CM1
Matematyka dyskretna
© Andrzej Łachwa, UJ, 2013
[email protected]
9/15
Zadanie *
Przyjmujemy, że dwa numery rejestracyjne są podobne, gdy reprezentujące je zbiory znaków są takie same. Ile różnych niepodobnych
numerów rejestracyjnych można utworzyć, jeśli pierwszą literą jest K,
pozostałe dwie należą do zbioru {R, W, T, A}, a potem występuje pięć
cyfr?
Część literową można utworzyć wybierając jedną literę, np. KRR, i można
to zrobić na 4 sposoby. Można też wybrać dwie litery ze zbioru 4elementowego. Uwaga: wybór liter R, A pozwala na utworzenie numerów
podobnych KRA i KAR. Mamy zatem 4+6 możliwych wyborów. Część
numeryczną rozwiążemy jako osobne „pod-zadanie”.
Pod-zadanie **
Tworzymy 5-cyfrowe hasła (z cyfr 0, 1, … 9). Hasła uważamy za podobne,
gdy zbiory cyfr, z których się składają są takie same. Np. hasło 27311 jest
podobne do hasła 77312, bo ich zbiory cyfr to {1,2,3,7}.
Ile jest niepodobnych haseł?
Rozwiązanie pierwsze
10 
Klasy haseł o 5 różnych cyfrach można utworzyć na   sposobów.
5


Zbiór haseł o 4 takich samych cyfrach składa się z haseł, w których jedna
cyfra powtarza się dwukrotnie. Każdą taką klasę haseł można utworzyć
przez wybór cyfry powtarzającej się i wybór trzech innych cyfr, czyli na
9
10 ⋅   = 840 sposobów.
 3
Każda klasa haseł o 3 cyfrach składa się z haseł, w których albo dwie cyfry
występują dwukrotnie, albo jedna cyfra występuje trzykrotnie. Klasę
pierwszego rodzaju można wybrać na 10 ⋅ 9 ⋅ 8 = 720 sposobów, bo
najpierw wybieramy cyfrę pojedynczą, potem inną cyfrę podwójną i
9
znowu jeszcze inną cyfrę podwójną. Klasę drugiego rodzaju na 10 ⋅  2 
 
sposobów, bo ...
To rozwiązanie nie jest poprawne!
Permutacje
Permutacja zbioru skończonego X to bijekcja z X w X. Zbiór permutacji
zbioru oznaczamy przez , a permutacje małymi literami greckimi.
Np. rozważ funkcję
Funkcja
jest bijekcją z
zadaną przez poniższą tabelę:
w
, zatem jest permutacją i
.
skończonego zbioru X złożenia
są
Dla dowolnych permutacji
permutacjami X, oraz
jest permutacją X taką, że jej złożenie z α daje
funkcję identycznościową.
Zbiór n-elementowy ma dokładnie n! permutacji, czyli
.
Niech α będzie permutacją n-elementowego zbioru X.
Cykl zbioru n-elementowego X to taka permutacja zbioru X, dla której
, przy dowolnym
.
Łatwo zauważyć, że jeśli dla pewnego
równość, to jest tak dla wszystkich
zachodzi powyższa
, czyli α jest cyklem na X.
Weźmy bowiem {α(x), α2(x), … αn-1(x), αn(x)}. Ten zbiór jest równy X, bo
jest to α(X). Zatem αn(x)=x.
Cykl α zbioru X zapisujemy jako
wybranego
.
dla dowolnie
Niech α będzie permutacją n-elementowego zbioru X. Permutację α
nazywamy cyklem k-elementowym (k≤n) jeżeli dla pewnego
k-elementowego podzbioru I={i1, i2, … ik} zbioru X zachodzi
α( i1)= i2, α( i2)= i3, … α( ik-1)= ik, α( ik)= i1 oraz α(i)= i dla wszystkich i∉I.
Piszemy wtedy α=(i1, i2, … ik), ale również α=( i2, i3, … ik, i1 ) …
Permutacja tożsamościowa to cykl 1-elementowy!
Dwa cykle nazwiemy rozłącznymi jeżeli ich zbiory wskaźników nie mają
wspólnych elementów.
Rozważmy
Sekwencja ,
całe , zatem
daną przez
,
,
,
jest cyklem.
,
pokrywa
ROZKŁAD PERMUTACJI NA ROZŁĄCZNE CYKLE
Dowolną permutację α zbioru X można rozłożyć na rozłączne cykle
w sposób następujący:
wybierz dowolny element
cyklu,
, który nie jest jeszcze w żadnym
iteruj permutację α otrzymując kolejno:
uzyskania
,
dodaj do rozkładu cykl
aż do
,
jeśli w zbiorze X pozostały jeszcze elementy niepokryte przez żaden
cykl, to wróć do pierwszego punktu.
Jeśli permutacja α złożona jest z k rozłącznych cykli, to zapisujemy
, gdzie w kolejnych nawiasach są
elementy kolejnych cykli startujące od odpowiednio:
.
Przykład: Rozważmy jeszcze raz permutację
:
Rozkład α na cykle:
,
,
,
,
,
.
,
,
,
,
ZADANIE
Ile jest tras wycieczkowych odwiedzających kolejno 3 miejscowości?
Odp: 3!=6
ZADANIE
Na ile sposobów można rozstawić 8 wież na ponumerowanych polach
szachownicy 8x8 w taki sposób, by żadne dwie nie znajdowały się w polu
wzajemnego rażenia?
Rozważamy rozłożenia ośmiu wież, w taki sposób aby w każdej linii i w
każdej kolumnie znajdowała się dokładnie jedna wieża. Każde takie
rozłożenie jednoznacznie wyznacza bijekcję ze zbioru wierszy
w zbiór kolumn
. Jest ich zatem
.
ZADANIE
Ile jest par postaci
Dla pary
, gdzie
, gdy
rozważ funkcję
?
zdefiniowaną jako:
i wywnioskuj, że
.
OSZACOWANIE GAUSSA
(n!)2 = ∏ k(n+1–k), przy czym najmniejszy z tych czynników ma wartość n
k=1…n
a największy dla k = (n+1)/2 ma wartość (n+1)2/4
 n + 1
zatem n ≤ (n!) ≤ ((n+1) /4) i stąd oszacowanie n ≤ n!≤ 
 .
 2 
n
2
2
n
Np. 115,5 ≤ 11! ≤ 611
czyli 534 146 ≤ 39 916 800 ≤ 362 797 056
n
2
n
Pod-zadanie ** – cd
Zbiór cyfr 5-cyfrowego hasła może mieć od 5 do 1 elementów. Każdy taki
zbiór reprezentuje klasę haseł podobnych. Trzeba więc dodać do siebie
liczby podzbiorów pięcio, cztero, trzy, dwu i jednoelementowych:
10 
  = 252 ,
5
10 
  = 210 ,
4
10 
  = 120 ,
3
10 
  = 45 ,
2
10 
  = 10
1
Szukanych klas jest 252+210+120+45+10 = 637.
Rozwiązanie * w całości
Część literową można utworzyć wybierając jedną literę, np. KRR, i można
to zrobić na 4 sposoby. Można też wybrać dwie litery ze zbioru 4elementowego. Uwaga: wybór liter R, A pozwala na utworzenie numerów
podobnych KRA i KAR. Mamy zatem 4+6 możliwych wyborów.
Część numeryczną reprezentuje co najwyżej 5-elementowy podzbiór
zbioru 10-elementowego.
Mamy zatem
 4
(4+  2  )(
 
10  10  10  10  10 
  +   +   +   +   )
5 4 3 2 1
= 10⋅(252+210+120+45+10) = 6370
W rozwiązaniu pierwszym – wadliwym: wybór grupy haseł 4-cyfrowych
polegał na wyborze cyfry powtarzającej się, a następnie 3 cyfr z
pozostałych dziewięciu. Wybór taki można dla konkretnego przypadku
oznaczyć jako {8, {7, 6, 5}}, a różnych grup jest 840.
W rozwiązaniu poprawnym odpowiedni wybór możemy oznaczyć jako
{8, 7, 6, 5}, a różnych grup jest 210. Dlaczego jest ich 4 razy mniej?
Bo grupa {8, 7, 6, 5} składa się z haseł podobnych należących do 4
podgrup postaci:
{8, {7,6,5}}
{7, {8,6,5}}
{6, {8,7,5}}
{5, {8,7,6}} .
A gdyby to były hasła 3-cyfrowe?
Wtedy dodajemy
10 
  = 120 ,
3
10 
  = 45 ,
2
10 
  = 10 ,
1
czyli 120+45+10=175.
Dla takich 3-cyfrowych haseł policzmy ile jest elementów w każdej
grupie haseł podobnych?
Na przykład niech „345” oznacza grupę haseł złożonych z tych trzech cyfr.
Można je uporządkować na 3! sposobów, więc w każdej takiej grupie jest
6 haseł podobnych. Niech „34” oznacza grupę haseł złożonych tylko z
dwóch takich cyfr. Należą do niej 334, 343, 433, 443, 434, 344, czyli 6
haseł. Niech „3” oznacza grupę haseł zbudowanych z cyfry 3. Należy do
niej tylko jedno hasło.
Sprawdzamy: 120 grup po 6 haseł i 45 grup po 6 haseł i 10 grup po 1 haśle
daje łącznie 720+270+10=1000. I to się zgadza, bo 3-cyfrowych liczb
dziesiętnych jest 103.
Przeprowadźmy podobne rozumowanie dla haseł 4-cyfrowych.
Mamy
10 
  = 210 ,
4
10 
  = 120 ,
3
10 
  = 45 ,
2
10 
  = 10
1
grup cztero, trzy, dwu i
jednoelementowych, łącznie 210+120+45+10 = 385 grup.
W każdej grupie typu „2345” mamy 4! różnych haseł. W grupie typu
„234” – 36 haseł, bo na 3 sposoby wybieramy cyfrę, która wystąpi
dwukrotnie (np. będzie to cyfra 4), pozostałe dwie cyfry mogą wystąpić w
różnej kolejności (2 przypadki: 23 i 32), a wybraną cyfrę można wstawić
do każdej pary cyfr na 6 sposobów (4423, 4243, 4234, 2443, 2434, 2344).
W grupie typu „56” będzie 14 haseł, bo 8 haseł z potrojoną cyfrą (5556,
5565, 5655, 6555, 6665, 6656, 6566, 5666) i 6 haseł z podwojonymi
cyframi (5566, 5656, 5665, 6655, 6565, 6556). I na koniec w grupie typu
„5” będzie jedno hasło postaci 5555.
Sprawdzamy: 210⋅24+120⋅36+45⋅14+10=5040+4320+630+10=10000.
I dla haseł 5-cyfrowych.
W każdej grupie typu „34567” mamy 5! różnych haseł, a grup takich jest
10 
  = 252 , łącznie mamy tu
5
Grup typu „3456” jest
252⋅120=30240.
10 
  = 210 , a
4
w każdej z nich jest 240 haseł, mamy
bowiem 4!=24 permutacje i dla każdej z nich 10 haseł (np. dla permutacji
6543 mamy hasła 66543, 65643, 65463, 65436, 65543, 65453, 65435,
65443, 65434, 65433). Łącznie jest tu 210⋅24⋅10=50400.
Grup typu „345” jest
10 
  = 120 .
3
Każdą taką grupę podzielimy na podgrupę
z potrojoną cyfrą i podgrupę z dwoma podwojonymi cyframi. W pierwszej
z nich najpierw wybieramy potrojoną cyfrę (3 sposoby wyboru), następnie
ustalamy kolejność dwóch pozostałych (2 sposoby) i wstawiamy cyfrę
potrojoną na 10 sposobów. Razem jest w takiej podgrupie 60 haseł.
Przykład: potrojona niech będzie cyfra 5, a wybrana kolejność
pozostałych, to 34. Wtedy mamy hasła: 55534, 55354, 55345, 53554,
53545, 53455, 35554, 35545, 35455, 34555.
W drugiej podgrupie mamy 90 haseł. Bierze się to stąd, że najpierw
wybieramy cyfrę niepodwojoną (3 sposoby). Dalej, cyfry podwojone mogą
utworzyć ciągi 3355, 3535, 3553, 5335, 5353, 5533. Do każdego z tych
ciągów można wstawić cyfrę niepodwojoną na 5 sposobów, np. do ciągu
3355 wstawiamy cyfrę 4: 43355, 34355, 33455, 33545, 33554.
Każda grupa typu „345” ma ostatecznie 150 haseł. Razy 120 grup daje
nam 18000 haseł.
Grup typu „34” jest
10 
  = 45 ,
2
a w każdej z nich jest 30 haseł. Jest tak
dlatego, że 5-elementowych łańcuchów z dwóch znaków można
zbudować 25 czyli 32, ale dwa z nich nas nie interesują (33333, 44444).
Wreszcie grup typu „3” jest 10.
Sprawdzamy: 30240+210⋅240+120⋅(60+90)+45⋅
30+10=30240+50400+18000+1350+10 = 100 000.
GENEROWANIE PERMUTACJI
Algorytm 1: Aby wygenerować n! permutacji wygeneruj wszystkie (n-1)!
permutacji zaczynających się od 1, potem od 2, … i na koniec od n.
1234
1243
1324
1342
1423
1432
2134
2143
2314
2341
2413
2431
3124
3142
…
Algorytm 2: Aby wygenerować n! permutacji wygeneruj wszystkie (n-1)!
permutacji zbioru {2, … n} i umieść 1 na pierwszej pozycji każdej z nich.
Powtórz to umieszczając 1 na drugiej pozycji, itd. aż do n-tej pozycji.
1234
1243
1324
1342
1423
1432
2134
2143
3124
4123
3142
4132
2314
2413
…
Algorytm 3: Aby wygenerować n! permutacji wygeneruj wszystkie (n-1)!
permutacji zbioru {2, … n}. Dla każdej z tych permutacji umieść 1 na
kolejnych n możliwych pozycjach.
1234
2134
2314
2341
1324
3124
3214
3241
1342
3142
…
Generowanie podzbiorów
Weźmy n-elementowy zbiór X={x1, x2 … xn}. Każdemu podzbiorowi Y⊂X
przyporządkujemy ciąg binarny b0b1 … bn-1 określony następująco:
0 : xi +1 ∉ Y
bi = 
1 : xi +1 ∈ Y
Otrzymujemy wtedy wzajemnie jednoznaczną odpowiedniość pomiędzy
elementami P(X) a ciągami binarnymi długości n, czyli liczbami binarnymi
z przedziału [0, 2n–1] postaci
∑ b2
i
i
oznaczanymi dalej przez [bn-1 … b0].
i = 0 … n-1
Ciąg binarny stanowi wygodną reprezentację maszynową podzbioru X,
a kolejne liczby binarne określą wszystkie podzbiory zbioru X.
W wielu sytuacjach zależy nam, by kolejny generowany podzbiór niewiele
różnił się od poprzedniego. W tym celu zamiast kolejnych liczb binarnych
generuje się kolejne liczby tzw. kodu Greya.
Kod ten powstaje w wyniku zastosowania następującej obserwacji:
Jeżeli ciąg C1, C2, … Cm zawiera wszystkie 2k ciągi binarne długości k, przy
czym Ci różni się od Ci+1 na dokładnie jednej pozycji (i=1, 2 … m-1), to ciąg
postaci C10, C20, … Cm0, Cm1, Cm-11, … C11 zawiera wszystkie ciągi binarne
długości k+1 oraz każde dwa sąsiednie ciągi binarne różnią się na
dokładnie jednej pozycji.
Przykład dla k=4
0000, 1000, 1100, 0100, 0110, 1110, 1010, 0010,
0011, 1011, 1111, 0111, 0101, 1101, 1001, 0001.
ZBIÓR Z POWTÓRZENIAMI
A=B wtw gdy mają te same elementy w tych samych krotnościach.
A⊂B wtw jeśli każdy element z A występuje w B (krotność każdego
elementu w A jest nie większa od krotności tego elementu w B).
Niech X zawiera elementy x1, x2, … xn, odpowiednio o krotnościach
k1, k2, … kn. Licznością zbioru X nazwiemy sumę krotności, czyli
|X| = k1+ k2+ … + kn.
Każdemu podzbiorowi A⊂X odpowiada jednoznacznie ciąg (m1, … mn),
gdzie 0≤ m1≤ k1, … 0≤ mn≤ kn.
Wniosek: wszystkich podzbiorów torby X jest (k1+1)∙(k2+1)∙ … ∙(kn+1).
Generowanie podzbiorów można przeprowadzić w sposób podobny do
tego opartego na kodzie Greya.
Zliczanie relacji
Ile jest różnych relacji binarnych określonych na skończonym zbiorze X?
Każda taka relacja jest podzbiorem X×X. Jest więc tych relacji tyle, co
różnych podzbiorów X2, czyli 2nn.
Każdą relację na X można przedstawić w postaci kwadratowej tablicy,
a liczba relacji to liczba możliwych układów jedynek w takiej tablicy.
A jeśli chcielibyśmy policzyć tylko relacje zwrotne?
Każda relacja zwrotna ma jedynki na przekątnej, w pozostałych miejscach
mogą być zera lub jedynki. Tych pozostałych miejsc jest n2–n, więc relacji
zwrotnych jest 2n(n-1).
Ile jest różnych relacji symetrycznych?
Relacja symetryczna ma dowolnie wypełnione pole na przekątnej i pod
przekątną. Nad przekątną musi się znaleźć lustrzane odbicie układu pod
przekątną. Relację symetryczną możemy więc określić wpisując jedynki do
n(n+1)/2 pól, relacji takich jest więc 2n(n+1)/2.
Ile jest relacji równoważności?
Każda taka relacja to podział na bloki (klasy abstrakcji). Liczba podziału
zbioru n-elementowego na k bloki to tzw. liczba Stirlinga drugiego
rodzaju.
Liczba wszystkich podziałów zbioru n-elementowego (liczba wszystkich
relacji równoważności) to tzw. liczba Bella. Jest to suma n-tego wiersza
trójkąta Stirlinga dla podziałów.

Podobne dokumenty