MD9 (permutacje) id 290222 Nieznany

background image

Matematyka dyskretna

© Andrzej Łachwa, UJ, 2013

andrzej.lachwa@uj.edu.pl

9/15

background image

Zadanie *

Przyjmujemy, że dwa numery rejestracyjne są podobne, gdy reprezen-
tują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 4-
elementowego. 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”.

background image

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ł?

background image

Rozwiązanie pierwsze

Klasy haseł o 5 różnych cyfrach można utworzyć na





5

10

sposobów.

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

840

3

9

10

=





sposobów.

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

720

8

9

10

=

sposobów, bo

najpierw wybieramy cyfrę pojedynczą, potem inną cyfrę podwójną i

znowu jeszcze inną cyfrę podwójną. Klasę drugiego rodzaju na





2

9

10

sposobów, bo ...

background image

To rozwiązanie nie jest poprawne!

background image

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ę

zadaną przez poniższą tabelę:

Funkcja jest bijekcją z

w

, zatem jest permutacją i

.

Dla dowolnych permutacji

skończonego zbioru X złożenia

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

.

background image

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

zachodzi powyższa

równość, to jest tak dla wszystkich

, 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

dla dowolnie

wybranego

.

background image

Niech

α

będzie permutacją n-elementowego zbioru X. Permutację

α

nazywamy cyklem k-elementowym (k

n

) jeżeli dla pewnego

k

-elementowego podzbioru I={i

1

, i

2

, … i

k

} zbioru X zachodzi

α

( i

1

)= i

2

,

α

( i

2

)= i

3

, …

α

( i

k-

1

)= i

k

,

α

( i

k

)= i

1

oraz

α

(i)= i dla wszystkich i

I.

Piszemy wtedy

α

=(i

1

, i

2

, … i

k

), ale również

α

=( i

2

, i

3

, … i

k

, i

1

) …

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.

background image

Rozważmy

daną przez

Sekwencja ,

,

,

,

,

pokrywa

całe

, zatem

jest cyklem.

background image

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

, który nie jest jeszcze w żadnym

cyklu,



iteruj permutację

α

otrzymując kolejno:

aż do

uzyskania

,



dodaj do rozkładu cykl

,



jeśli w zbiorze X pozostały jeszcze elementy niepokryte przez żaden

cykl, to wróć do pierwszego punktu.

background image

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:

,

,

,

,

,

,

,

,

,

.

background image

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

.

background image

ZADANIE

Ile jest par postaci

, gdzie

, gdy

?

Dla pary

rozważ funkcję

zdefiniowaną jako:

i wywnioskuj, że

.

background image

k=1…n

OSZACOWANIE GAUSSA

(n!)

2

=

k(n+1–k), przy czym najmniejszy z tych czynników ma wartość n

a największy dla k =

(n+1)/2 ma wartość (n+1)

2

/4

zatem n

n

(n!)

2

((n+1)

2

/4)

n

i stąd oszacowanie

n

n

n

n

n

+

2

1

!

2

.

Np. 11

5,5

≤ 11! ≤ 6

11

czyli 534 146 ≤ 39 916 800 ≤ 362 797 056

background image

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:

252

5

10

=





,

210

4

10

=





,

120

3

10

=





,

45

2

10

=





,

10

1

10

=





Szukanych klas jest 252+210+120+45+10 = 637.

background image

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 4-
elementowego. 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+





2

4

)(





5

10

+





4

10

+





3

10

+





2

10

+





1

10

) = 10

⋅⋅⋅⋅

(252+210+120+45+10) = 6370

background image

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?

background image

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

background image

A gdyby to były hasła 3-cyfrowe?

Wtedy dodajemy

120

3

10

=





,

45

2

10

=





,

10

1

10

=





, 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 10

3

.

background image

Przeprowadźmy podobne rozumowanie dla haseł 4-cyfrowych.

Mamy

210

4

10

=





,

120

3

10

=





,

45

2

10

=





,

10

1

10

=





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.

background image

I dla haseł 5-cyfrowych.

W każdej grupie typu „34567” mamy 5! różnych haseł, a grup takich jest

252

5

10

=





, łącznie mamy tu 252

120=30240.

Grup typu „3456” jest

210

4

10

=





, a 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

120

3

10

=





. 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ł.

background image

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

45

2

10

=





, 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ć 2

5

czyli 32, ale dwa z nich nas nie interesują (33333, 44444).

background image

Wreszcie grup typu „3” jest 10.

Sprawdzamy: 30240+210

⋅⋅⋅⋅

240+120

⋅⋅⋅⋅

(60+90)+45

⋅⋅⋅⋅

30+10=30240+50400+18000+1350+10 = 100 000.

background image

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.

1

234

2

134

3

124

1

243

2

143

3

142

1

324

2

314

1

342

2

341

1

423

2

413

1

432

2

431

background image

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.

1

234

2

1

34

23

1

4

1

243

2

1

43

24

1

3

1

324

3

1

24

1

342

4

1

23

1

423

3

1

42

1

432

4

1

32

background image

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.

1

234

1

324

1

342

2

1

34

3

1

24

3

1

42

23

1

4

32

1

4

234

1

324

1

background image

i = 0 … n-1

Generowanie podzbiorów

Weźmy n-elementowy zbiór X={x

1

, x

2

… x

n

}. Każdemu podzbiorowi Y

X

przyporządkujemy ciąg binarny b

0

b

1

b

n-1

określony następująco:

=

+

+

Y

x

Y

x

b

i

i

i

1

1

:

1

:

0

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, 2

n

–1] postaci

b

i

2

i

oznaczanymi dalej przez [b

n

-1

b

0

].

Ciąg binarny stanowi wygodną reprezentację maszynową podzbioru X,
a kolejne liczby binarne określą wszystkie podzbiory zbioru X.

background image

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 C

1

, C

2

, … C

m

zawiera wszystkie 2

k

ciągi binarne długości k, przy

czym C

i

różni się od C

i

+1

na dokładnie jednej pozycji (i=1, 2 … m-1), to ciąg

postaci C

1

0, C

2

0, … C

m

0, C

m

1, C

m

-1

1, … C

1

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

background image

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 x

1

, x

2

, … x

n

, odpowiednio o krotnościach

k

1

, k

2

, … k

n

. Licznością zbioru X nazwiemy sumę krotności, czyli

|X| = k

1

+ k

2

+ … + k

n

.

Każdemu podzbiorowi A

X

odpowiada jednoznacznie ciąg (m

1

, … m

n

),

gdzie 0

m

1

k

1

, … 0

m

n

k

n

.

Wniosek: wszystkich podzbiorów torby X jest (k

1

+1)∙(k

2

+1)∙ … ∙(k

n

+1).

Generowanie podzbiorów można przeprowadzić w sposób podobny do
tego opartego na kodzie Greya.

background image

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 X

2

, czyli 2

nn

.

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 n

2

n, więc relacji

zwrotnych jest 2

n

(n-1)

.

background image

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 2

n

(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.


Wyszukiwarka

Podobne podstrony:
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany
perf id 354744 Nieznany
interbase id 92028 Nieznany
Mbaku id 289860 Nieznany
Probiotyki antybiotyki id 66316 Nieznany
miedziowanie cz 2 id 113259 Nieznany
LTC1729 id 273494 Nieznany
D11B7AOver0400 id 130434 Nieznany
analiza ryzyka bio id 61320 Nieznany
pedagogika ogolna id 353595 Nieznany
Misc3 id 302777 Nieznany
cw med 5 id 122239 Nieznany
D20031152Lj id 130579 Nieznany

więcej podobnych podstron