You are on page 1of 22

Univerzitet u Novom Sadu

Prirodno-matematički fakultet
Departman za matematiku i informatiku

Dragan Mašulović

Diskretne strukture 2
Deo 1: Uvod u kombinatoriku

Novi Sad, 2018.



c 2018. Dragan Mašulović. Sva prava zadržana.
Glava 1

Reči i skupovi

Konačni nizovi objekata i konačne kolekcije objekata predstavljaju najjedno-


stavnije kombinatorne konfiguracije. U ovoj glavi ćemo analizirati i brojati upravo
takve konfiguracije. Analiziraćemo sve reči date dužine nad datim alfabetom, po-
tom sve reči date dužine kod kojih se slova ne ponavljaju, upoznaćemo permu-
tacije, a videćemo i šta se dešava sa “komutativnim alfabetima” kod kojih redo-
sled slova nije bitan, kao što je to slučaj u osnovnoškolskoj algebri (na primer,
xyz = xzy = zxy). Daćemo i nekoliko algoritama za generisanje svih nizova sa
nekim osobinama, kao i svih podskupova datog skupa sa nekim osobinama.

1.1 Reči
Alfabet je proizvoljan neprazan konačan skup. Elemente alfabeta A ćemo zvati
slova, a reč nad A je svaki niz simbola iz A. Preciznije, reč dužine k nad alfabetom
A je proizvoljan element skupa Ak . Prilikom zapisivanja reči nećemo pisati zareze
i zagrade kako bi reči više ličile na reči na koje smo navikli.

Primer 1.1 Evo nekoliko reči nad alfabetom A = {a, b, n}: banana, abba, aa, ili
prosto n. Prva od njih ima šest slova, slede reč sa četiri slova, reč sa dva slova i na
kraju reč od jednog slova.

Dopuštamo i reči bez slova. Na proizvoljnom alfabetu postoji tačno jedna takva
reč koju zovemo prazna reč i označavamo je sa ε . To je reč dužine 0. Važno je
razumeti da su reči sa kojima ćemo raditi u ovom kursu formalne reči, dakle, nizovi
simbola kojima nije pridruženo nikakvo značenje. Prema tome, nbbaaa je jednako
validna reč kao banana. Problem značenja reči ćemo prepusiti drugim granama
nauke.

1
2 GLAVA 1. REČI I SKUPOVI

Neka je w reč nad alfabetom A. Dužinu reči w ćemo označiti sa |w|. Za


slovo a ∈ A sa |w|a označavamo broj pojavljivanja slova a u reči w.

Primer 1.2 Neka je A = {a, b, c, n} i neka je w = banana reč nad A. Tada je |w| =
6, |w|a = 3, |w|b = 1, |w|c = 0 i |w|n = 2.
Tako jednostavni objekti kao što su reči nemaju bogatu strukturnu teoriju. Naj-
uzbudljivija stvar koju za sada možemo da uradimo sa rečima je da pokušamo da
ih prebrojimo.

Teorema 1.3 Neka je A = {a1 , a2 , . . . , an } alfabet sa n > 1 slova i neka je k ∈ N0


proizvoljno. Broj reči dužine k nad alfabetom A je nk .
Dokaz. Skup svih reči dužine k nad alfabetom A je Ak . Dakle, traženih reči ima
|Ak | = |A| · . . . · |A| = nk .
| {z }
k
Pogledajmo sada manje formalan, ali zato upotrebljiviji način da dodemo do
istog rezultata. Reč sa k slova izgleda ovako:
1. 2. 3. k.
...

Imamo n kandidata za prvo mesto, n kandidata za drugo mesto, . . . , n kandidata za


k-to mesto:
1. 2. 3. k.
...
n · n · n · · n

Sve skupa dobijamo n · . . . · n} = nk načina da popunimo kućice.


| · n {z 
k

Definicija 1.4 Reč dužine k nad alfabetom sa n slova zove se još i varijacija sa
ponavljanjem od n elemenata k-te klase.
Prirodno je zapitati se zašto bi neko uveo tako komplikovano ime za takve u
osnovi jednostavne objekte. Odgovor je jednostavan. U tamnoj prošlosti diskretne
matematike terminologija je bila opskurna kao vremena u kojima su termini nastali.
1.2. REČI BEZ PONAVLJANJA SLOVA 3

Od tog perioda do danas, matematika je prevalila veliki put i donela mnoga po-
jednostavljenja, kako po pitanju terminologije, tako i u pogledu razumevanja feno-
mena.

Definicija 1.5 Reči nad dvoelementnim alfabetom {0, 1} su od posebnog interesa


i zato ćemo im dati ime, zvaćemo ih 01-reči.
Primetimo, prvo, da ako se dve 01-reči b1 b2 . . . bk i c1 c2 . . . ck razlikuju na i-tom
mestu, onda je bi = 1− ci zato što je jedan od brojeva bi , ci jednak 0, a onda drugi je
jednak 1. Slova u 01-reči ćemo često zvati bitovi zbog sličnosti sa odgovarajućim
fenomenom iz računarstva, a operaciju x 7→ 1 − x, gde je x ∈ {0, 1} ćemo zvati
komplementiranje bitova.

1.2 Reči bez ponavljanja slova


Pored svih reči, interesantno je posmatrati i reči kod kojih se slova ne pona-
vljaju. Pogledajmo koliko ima takvih reči.

Problem 1.6 (a) Koliko ima reči nad alfabetom A kod kojih se svako slovo iz A
javlja tačno jednom?
(b) Koliko ima reči dužine k nad alfabetom A kod kojih su sva slova različita?
Rešenje. (a) Imamo n kandidata za prvo mesto, ali samo n− 1 za drugo mesto, zato
što se slovo koje je upotrebljeno na prvom mestu ne sme ponoviti. Slično, imamo
n − 2 kandidata za treće mesto zato što se slova upotrebljena na prvom i drugom
mestu ne smeju ponavljati, i tako dalje. Na kraju, ostaje nam samo jedan kandidat
za poslednje mesto:
1. 2. 3. n.
...

n n−1 n−2 1

što sve skupa daje n · (n − 1) · . . . · 1 mogućnosti. Zato što se ovakav proizvod često
javlja u kombinatorici, uvodimo posebnu oznaku. Faktorijel nenegativnog celog
broja n ∈ N0 definišemo ovako:

0! = 1
n! = 1 · 2 · . . . · n, za n > 1.

Dakle, nad alfabetom A sa n slova ima tačno n! reči kod kojih se svako slovo iz A
javlja tačno jednom.
4 GLAVA 1. REČI I SKUPOVI

(b) Kao pod (a), imamo n kandidata za prvo mesto, n − 1 za drugo mesto zato
što se slovo koje je upotrebljeno na prvom mestu ne sme ponoviti, n − 2 kandidata
za treće mesto i tako dalje. Na kraju, imamo n − (k − 1) kandidata za k-to mesto,
jer smo na prethodnih k − 1 mesta već potrošili k − 1 slova:
1. 2. 3. k.
...

n n−1 n−2 n − (k − 1)
n!
što sve skupa daje n · (n − 1) · . . . · (n − k + 1) = mogućnosti. Naravno,
(n − k)!
na ovaj način možemo rezonovati samo ako je k 6 n. U slučaju k > n takvih reči
nema. Primetimo da je problem (a) specijalan slučaj ovog problema za k = n. 

Definicija 1.7 Varijacija bez ponavljanja od n elemenata k-te klase je reč dužine
k nad alfabetom sa n slova kod koje se svako slovo alfabeta javlja najviše jednom
(i zato su sva slova u reči nužno različita). Permutacija bez ponvaljanja je reč kod
koje se svako slovo alfabeta javlja tačno jednom.
Okrugli sto je ušao u kombinatornu praksu negde u vreme kralja Arthura i nje-
govih vitezova i od tada je to veoma važan kombinatorni objekt. Pošto za okruglim
stolom nema trona (za kralja), dva rasporeda sedenja smatramo istim ako se mogu
dobiti jedan od drugog nekom rotacijom. Na primer, sledeća tri rasporeda ne sma-
tramo za različite:
a e c

c d d b b a

b e a c e d

Problem 1.8 Na koliko različitih načina n ljudi može da sedne za okrugli sto sa n
mesta?
Rešenje. Pošto su sve stolice ravnopravne, prva osoba može da sedne za sto gde
god želi. Sada nastavljamo da redamo ljude za sto tako što krenemo od prve osobe
i idemo u smeru kazaljke na satu. Za mesto desno od prve osobe imamo n −
1 kandidata. Za jedino slobodno mesto do druge osobe za stolom imamo n − 2
kandidata, i tako dalje. Zato n ljudi može da sedne oko okruglog stola na 1 · (n −
1) · (n − 2) · . . . · 1 = (n − 1)! načina. 
1.3. JOŠ O PERMUTACIJAMA 5

1.3 Još o permutacijama


Reč a1 a2 . . . an nad alfabetom A nije ništa drugo do preslikavanje f : {1, . . . , n} →
A dato sa  
1 2 ... n
f= .
a1 a2 . . . an
Dakle, permutacije bez ponavljanja tačno odgovaraju bijektivnim preslikavanjima
{1, . . . , n} → A, što u slučaju A = {1, . . . , n} poprima sledeći oblik:

Definicija 1.9 Permutacija skupa A je svako bijektivno preslikavanje skupa A na


sebe.
Dakle, permutaciju skupa {1, 2, . . . , n} možemo da predstavimo kao reč kod
koje se svako slovo alfabeta javlja tačno jednom, ili kao bijektivnu funkciju
{1, . . . , n} → {1, . . . , n}. Od ovog trenutka nećemo praviti razliku izmedu ove dve
reprezentacije, pre svega zato što je prelazak sa jedne na drugu veoma jednostavan,
kako pokazuje sledeći primer:
 
1 2 3 4 5 6 7 8
←→ 37128645.
3 7 1 2 8 6 4 5
Tretiraćemo permutacije nekad kao reči, nekad kao bijekcije, u zavisnosti od toga
šta nam je u tom trenutku pogodnije.

Definicija 1.10 Neka je f = a1 a2 . . . an permutacija skupa {1, 2, . . . , n}. Inverzija


permutacije f je par (ai , a j ) sa osobinom i < j i ai > a j . Broj inverzija permuta-
cije f označavamo sa inv( f ). Za permutaciju kažemo da je parna ili neparna u
zavisnosti od toga da li je inv( f ) paran ili neparan broj.

3 7 1 2 8 6 4 5

Slika 1.1: Sve inverzije permutacije 37128645

Primer 1.11 Neka je f = 37128645. Inverzije permutacije f su (3, 1), (3, 2),
(7, 1), (7, 2), (7, 6), (7, 4), (7, 5), (8, 6), (8, 4), (8, 5), (6, 4) i (6, 5), Sl. 1.1. Da-
kle, inv( f ) = 12 i ova permutacija je parna.
6 GLAVA 1. REČI I SKUPOVI

Teorema 1.12 Neka je f = a1 . . . an permutacija skupa {1, . . . , n}.


(a) Neka je g = a1 . . . ai−1 ai+1 ai ai+2 . . . an permutacija dobijena od f tako što
dva susedna slova zamene mesta. Tada je inv(g) = inv( f ) ± 1.
(b) Neka je g = a1 . . . ai−1 a j ai+1 . . . a j−1 ai a j+1 . . . an permutacija dobijena od f
tako što dva ne nužno susedna slova zamene mesta. Tada brojevi inv(g) i inv( f )
nisu iste parnosti (tj. jedan od njih je paran, a drugi neparan).
Dokaz. (a) Zamena mesta slovima ai i ai+1 ne utiče niti na inverzije oblika (a j , ak )
gde j, k ∈/ {i, i + 1}, niti na inverzije oblika (a j , ai ), (ai , a j ), (a j , ai+1 ), (ai+1 , a j )
gde j ∈/ {i, i+ 1}. Dakle, zamena mesta dva susedna slova ili dodaje jednu inverziju
kada je ai < ai+1 , ili oduzima jednu inverziju kada je ai > ai+1 . U prvom slučaju
je inv(g) = inv( f ) + 1, a u drugom inv(g) = inv( f ) − 1.
(b) Zamena mesta slovima ai i a j gde je i < j može se realizovati putem 2( j −
i − 1) + 1 operacija zamene mesta dva susedna slova:

zameniti mesta slovima na mestima j i j − 1 


zameniti mesta slovima na mestima j − 1 i j − 2 
.. j − i − 1 zamena
. 



zameniti mesta slovima na mestima i + 2 i i + 1

zameniti mesta slovima na mestima i + 1 i i 1 zamena

zameniti mesta slovima na mestima i + 1 i i + 2  
.. 

. j − i − 1 zamena
zameniti mesta slovima na mestima j − 2 i j − 1  


zameniti mesta slovima na mestima j − 1 i j

Dakle, inv(g) = inv( f ) ± 1 ± 1 . . . ± 1 (gde je broj operacija ±1 jednak 2( j −


i − 1) + 1), pa inv( f ) i inv(g) ne mogu imati istu parnost. 

Teorema 1.13 Ako je n > 2, broj parnih permutacija skupa {1, . . . , n} jednak je
broju neparnih permutacija tog skupa.
Dokaz. Neka je En skup parnih permutacija, a On skup neparnih permutacija skupa
{1, . . . , n}. Definišimo ϕ : En → On sa

ϕ (a1 a2 a3 . . . an ) = a2 a1 a3 . . . an .

Preslikavanje ϕ je dobro definisano i bijektivno. 

Svaka permutacija f skupa {1, . . . , n} je bijektivno preslikavanje tog skupa,


pa ima inverzno preslikavanje f −1 koje je takode permutacija skupa {1, . . . , n}.
1.4. SKUPOVI 7

Zaključićemo razmatranja u ovom odeljku važnim rezultatom koji kaže da permu-


tacija i njoj inverzna permutacija imaju isti broj inverzija.

Teorema 1.14 Neka je f permutacija skupa {1, . . . , n}. Tada je inv( f ) = inv( f −1 ).

Dokaz. Neka je (ai , a j ) inverzija permutacije f . To znači da je i < j i ai > a j :


 
... i ... j ...
f= .
. . . ai . . . a j . . .

Zato što je ai > a j , u permutaciji f −1 ćemo imati sledeću situaciju:


 
−1 . . . a j . . . ai . . .
f = .
... j ... i ...

Dakle, ako je (ai , a j ) inverzija permutacije f , onda je ( j, i) inverzija permutacije


f −1 , odakle sledi da je inv( f ) 6 inv( f −1 ). Sada lako zaključujemo da je inv( f ) 6
inv( f −1 ) 6 inv(( f −1 )−1 ) = inv( f ). 

1.4 Skupovi
Pošto smo (doduše, iz istorijskih razloga) za reči izumeli veoma komplikovana
imena, red je da na komplikovan način imenujemo i konačne skupove.

Definicija 1.15 Svaki k-elementni podskup n-elementnog skupa zovemo kombi-


nacija bez ponavljanja od n elemenata k-te klase. Broj k-elementnih podskupova
n-elementnog skupa se označava ovako:
 
n
[čitamo: “n nad k”].
k

 
n n!
Teorema 1.16 Neka je n, k > 0. Ako je n > k onda = . U suprot-
  k k!(n − k)!
n
nom je = 0.
k

Dokaz. Neka je n > k. Iako skupovi usled nedostatka strukture na prvi pogled
deluju jednostavniji od reči, uredene strukture (reči u ovom slučaju) je uglavnom
8 GLAVA 1. REČI I SKUPOVI

lakše prebrojati. Skup sa k elemenata može biti predstavljen pomoću svake od k!


njegovih permutacija. Na primer:
{a, b, c, d} → abcd bacd cabd dabc
abdc badc cadb dacb
acbd bcad cbad dbac
acdb bcda cbda dbca
adbc bdac cdab dcab
adcb bdca cdba dcba.
Zato je

Broj podskupova Broj reči dužine k kod


k! · =
sa k elemenata kojih su sva slova različita
Kako je broj reči dužine k nad alfabetom sa n slova kod kojih su sva slova različita
n!
dat sa , lako dobijamo
(n − k)!
 
n 1 n!
= · .
k k! (n − k)!
 
n
S druge strane, ako je k > n tada je = 0 pošto n-elementni skup ne može imati
k
podskup sa više od n elemenata. 

Neka je A = {a1 , a2 , . . . , an } konačan skup sa n elemenata. Svaki podskup


B = {ai1 , ai2 , . . . , aik } skupa A je jednoznačno odreden strogo rastućim nizom bro-
jeva koga čine indeksi njegovih elemenata. Pri tome, za niz brojeva i1 , i2 , . . . , ik
kažemo da je strogo rastući ako je i1 < i2 < . . . < ik . Na primer, za A = {a1 , a2 , a3 ,
a4 , a5 , a6 , a7 , a8 }, njegov podskup B = {a4 , a1 , a6 , a3 , a8 } je jednoznačno odreden
strogo rastućim nizom 13468. Na osnovu toga se lako dokazuje sledeća teorema:

Teorema 1.17 Broj načina da  od elemenata skupa A = {1, 2, . . . , n} formira


 se
n
strogo rastući niz dužine k je .
k
Problem 1.18 Koliko ima 01-reči dužine m + n sa tačno m nula i tačno n jedinica?
Rešenje. Posmatrajmo skup A = {a1 , a2 , . . . , am+n } sa m + n elemenata. Svaka
01-reč dužine m + n sa m nula i n jedinica odgovara nekom n-elementnom pod-
skupu skupa A. Zato je broj takvih 01-reči jednak broju n-elementnih podskupova
skupa A, a to je  
m+n
.
n
1.4. SKUPOVI 9

Evo drugog načina da dodemo do istog rezultata. Posmatrajmo niz m + n praznih


kućica koje treba da popunimo sa n nula i m jedinica:

1. 2. 3. (m + n).
...

 
m+n
Na načina možemo odabrati m kućica u koje ćemo upisati nule. U preo-
m
stalih n kućica upisaćemo jedinice. 

   
n n
Teorema 1.19 (a) = za sve n > k > 0;
k n−k
     
n n−1 n−1
(b) = + za sve n > k > 1 (Pascalov identitet).
k k−1 k
Dokaz. (a) Ova veza sledi na osnovu jednostavnog računa:
   
n n! n! n
= = = .
n−k (n − k)!(n − (n − k))! (n − k)!k! k

Ovakvi “računski” dokazi se često nazivaju algebarski dokazi kombinatornih iden-


titeta. Veliki broj kombinatornih identiteta se može dokazati i na drugi način:
pronademo odgovarajuću kolekciju objekata i prebrojimo njene elemente na dva
različita načina. Izrazi koje na taj način dobijemo moraju biti jednaki zato što smo
brojali elemente jednog skupa. Dokaze zasnovane na ovoj ideji zovemo kombina-
torni dokazi, a ideja koja je u osnovi kombinatornih dokaza ima posebno ime:

Dvostruko brojanje: Ako elemente istog skupa prebrojimo na dva


različita načina, izrazi dobijeni na taj način moraju biti jednaki.

Sada ćemo dati kombinatorni  dokaz


 ovog identiteta. Posmatrajmo 01-reči
n
dužine n sa tačno k nula. Imamo načina da odaberemo k mesta na koja ćemo
k  
n
upisati nule, pa je broj ovakvih reči jednak . S druge strane, možemo prvo na
  k
n
načina odabrati n − k mesta na koje ćemo upisati jedinice, pa je i time dat
n−k    
n n
broj posmatranih reči. Dakle, = .
k n−k
10 GLAVA 1. REČI I SKUPOVI

(b) Algebarski dokaz Pascalovog identiteta je jednostavan:


   
n−1 n−1 (n − 1)! (n − 1)!
+ = +
k−1 k (k − 1)!(n − k)! k!(n − k − 1)!
 
(n − 1)! 1 1
= +
(k − 1)!(n − k − 1)! n − k k
 
(n − 1)! n n
= · = .
(k − 1)!(n − k − 1)! k(n − k) k

Daćemo sada kombinatorni dokaz istog identiteta. Neka je S = {1, 2, . . . , n}


skup sa n elemenata čije k-elementne podskupove
  ćemo prebrojati. Kao što znamo,
n
broj k-elementnih podskupova skupa S je . S druge strane, sve k-elementne
k
podskupove skupa S možemo podeliti u dve klase: na one koji sadrže 1i na one  koji
n−1
ne sadrže 1. Broj k-elementnih podskupova skupa S koji sadrže 1 je zato
k−1
što treba odabrati još k − 1 element iz (n − 1)-elementnog skupa S′ = {2, . . . , n}.
n−1
Broj k-elementnih podskupova skupa S koji ne sadrže 1 je zato što sada
k  
n
svih k elemenata treba odabrati iz skupa S′ . Dakle, prema Principu zbira, =
    k
n−1 n−1
+ . 
k−1 k
 
n
Zbog sledećeg važnog rezultata brojevi se često zovu i binomni koefici-
k
jenti:

Teorema 1.20 (Newtonova binomna formula) Za sve k ∈ N0 je


k  
k
(a + b)k = ∑ j ak− j b j .
j=0

Dokaz. Daćemo kombinatorni dokaz Newtonove binomne formule, koji se zasniva


na jednoj jednostavnoj činjenici. Jasno je da je

(a + b)k = (a + b) · (a + b) · . . . · (a + b)
| {z }
k puta

pa kada sve izmnožimo i zapišemo sabirke u obliku reči dužine k nad alfabetom
{a, b} bez uobičajenog skraćenog zapisivanja kao što je a · a · a = a3 , dobijamo sve
1.5. MONOMI 11

moguće reči dužine k. Na primer,

(a + b)4 = aaaa + aaab + aaba + aabb + abaa + abab + abba + abbb


+ baaa + baab + baba + babb + bbaa + bbab + bbba + bbbb.
 
k
U sumi se javlja reči koje kraće možemo da zapišemo kao ak− j b j (Pro-
j
k  
k k− j j
blem 1.18). Odatle, (a + b) = ∑
k
a b. 
j=0 j

       
n n n n
Teorema 1.21 + + + ...+ = 2n .
0 1 2 n
Dokaz. Algebarski dokaz sledi iz Newtonove binomne formule:
 
n n  
n n−k k n
2 = (1 + 1) = ∑
n n
1 1 =∑ .
k=0 k k=0 k

Ni kombinatorni dokaz nije težak. Prebrojmo sve podskupove n-elementnog sku-


pa A. Kao što znamo, broj elemenata skupa P(A) je 2n . S druge strane, podeli-
ćemo elemente skupa P(A) u disjunktne kolekcije S0 , S1 , . . . , Sn tako da Sk
sadrži sve k-elementne podskupove skupa A. Jasno je da je

|P(A)| = |S0 | + |S1 | + . . . + |Sn |.


 
n
Medutim, |Sk | = prema Teoremi 1.16, čime je dokaz završen. 
k

1.5 Monomi
Operacija nadovezivanja reči (koja se još zove i konkatenacija) nije komutativ-
na, jer ab · cd = abcd, dok je cd · ab = cdab 6= abcd. Medutim, postoje situacije
kada se redosled slova u reči smatra nebitnim. Na primer, u osnovnoškolskoj alge-
bri konačne proizvode predstavljamo rečima, tako da umesto x · y · z pišemo samo
xyz, pa kako je množenje brojeva komutativno i asocijativno, uzimamo da je

xyz = xzy = yxz = yzx = zxy = zyx.

Jedino što je bitno je koliko se puta koje slovo pojavilo u proizvodu:

xyxzx = xxxyz 6= xxyyz.


12 GLAVA 1. REČI I SKUPOVI

Zato se, u slučaju da je operacija sa kojom radimo komutativna i asocijativna, do-


govaramo da promenljive u proizvodu uvek pišemo nekim ustaljenim redom (re-
cimo, prvo svi x-ovi, onda svi y-ni i na kraju svi z-ovi), kao i da algebraske izraze
zapisujemo u “skraćenom” obliku, na primer ovako:

zzxyxyxyzxzx = xxxxxyyyzzzz = x5 y3 z4 .

Pri tome se još dogovorimo da situaciju kada se neko slovo ne javlja u izrazu
označimo eksponentom 0:
xxxxxzzzz = x5 y0 z4 .
Time je motivisana sledeća definicija:

Definicija 1.22 Neka je A = {a1 , a2 , . . . , an } alfabet sa n slova u kome je utvrden


redosled slova. Monom nad alfabetom A je izraz oblika am 1 m2 mn
1 a2 . . . an , gde su
m1 , . . . , mn ∈ N0 nenegativni celi brojevi. Broj k = m1 + . . . + mn zovemo stepen
monoma am 1 m2 mn
1 a2 . . . an .
m1 m2 p1 p2 pn
Monomi a1 a2 . . . am n i a1 a2 . . . an su jednaki ako i samo ako je m1 = p1 ,
n

m2 = p2 , . . . , mn = pn .
Ako nam je dat monom am 1 m2 mn
1 a2 . . . an stepena k = m1 +. . .+mn , koliko različitih
reči dužine k nad alfabetom A = {a1 , . . . , an } odgovara ovom monomu? Na pri-
mer, monomu x3 yz2 odgovara čak 60 različitih reči: xxxyzz, xxxzyz, xxxzzy, xxyxzz,
xxyzxz, xxyzzx, xxzxyz, xxzxzy, xxzyxz, . . . , zzyxxx. Problem se može formulisati
i ovako: koliko ima reči w dužine k nad alfabetom A = {a1 , . . . , an } sa osobinom
|w|a j = m j za sve j ∈ {1, . . . , n}?

Definicija 1.23 Neka je A = {a1 , . . . , an } alfabet. Permutacija sa ponavljanjem ili


permutacija tipa (m1 , . . . , mn ) je svaka reč w dužine k = m1 + m2 + . . . + mn nad
alfabetom A sa osobinom |w|a j = m j za sve j ∈ {1, . . . , n}.

Teorema 1.24 Neka je A = {a1 , . . . , an } alfabet sa n slova i neka su m1 , . . . , mn ∈


N0 . Broj permutacija tipa (m1 , . . . , mn ) nad alfabetom A dat je izrazom
 
k k!
= .
m1 , . . . , mn m1 ! · m2 ! · . . . · mn !

Dokaz. Neka je k = m1 + . . . + mn . Prema uslovu problema, reči koje treba da


prebrojimo imaju dužinu k:
1. 2. 3. k.
1.5. MONOMI 13

i slovo a j se u reči javlja tačno m j puta. Od


 k slobodnih
 mesta možemo odabrati
k
m1 mesta na koja ćemo upisati slovo a1 na načina:
m1
1. 2. 3. k.
a1 a1 a1

Od preostalih k − m1 slobodnih


 mesta možemo odabrati m2 mesta na koja ćemo
k − m1
upisati slovo a2 na načina:
m2
1. 2. 3. k.
a2 a1 a1 a1

i tako dalje. Na kraju, od preostalih k − m1 − m2 − . . . − mn−1 slobodnih mesta


 
k − m1 − m2 − . . . − mn−1
možemo odabrati mn mesta za slovo an na načina:
mn
1. 2. 3. k.
a2 a1 a3 a1 a3 a1

Prema tome, traženi broj reči je


       
k k − m1 k − m1 − m2 k − m1 − m2 − . . . − mn−1
· · · ... · =
m1 m2 m3 mn

k! (k − m1 )! (k − m1 − m2 − . . . − mn−1 )!
= · · ... · =
m1 !(k − m1 )! m2 !(k − m1 − m2 )! mn !(k − m1 − m2 − . . . − mn )!

k!
= ,
m1 ! · m2 ! · . . . · mn !
gde smo na samom kraju koristili činjenicu da je k = m1 + m2 + . . . + mn . 

Sada ćemo dokazati analogon Newtonove binomne formule koji se odnosi na


slučaj stepena sume sa više od dva sabirka.

Teorema 1.25 (Multinomna formula) Za sve k > 0,


 
k
(a1 + a2 + . . . + an )k
= ∑ l1 , l2 , . . . , ln
al11 al22 . . . alnn .
l1 ,l2 ,...,ln ∈N0
l1 +l2 +...+ln =k
14 GLAVA 1. REČI I SKUPOVI

Dokaz. Daćemo kombinatorni dokaz multinomne formule koji je analogan dokazu


Teoreme 1.20. Jasno je da je
(a1 + . . . + an )k = (a1 + . . . + an ) · (a1 + . . . + an ) · . . . · (a1 + . . . + an )
| {z }
k puta

pa kada sve izmnožimo i zapišemo sabirke u obliku reči dužine k nad alfabetom
{a1 , . . . , an } bez uobičajenog skraćenog zapisivanja, dobijamo sve moguće reči
dužine k. Na primer,
(a + b + c)4 = aaaa + aaab + aaac + aaba + aabb + aabc + aaca + aacb + aacc
+ abaa + abab + abac + abba + abbb + abbc + abca + abcb + abcc
+ ...
+ ccaa + ccab + ccac + ccba + ccbb + ccbc + ccca + cccb + cccc.
 
k
Na osnovu Teoreme 1.24, u ovoj sumi se javlja reči koje kraće možemo
l1 , . . . , ln
da zapišemo kao al11 . . . alnn . Odatle,
 
k
(a1 + a2 + . . . + an ) k
= ∑ l ,
1 2 l , . . . , ln
al11 al22 . . . alnn ,
l1 ,l2 ,...,ln ∈N0
l1 +l2 +...+ln =k

čime je tvrdenje pokazano. 

Pogledajmo sada koliko ima različitih monoma stepena k. Prvo ćemo rešiti
jedan jednostavniji problem.

Teorema 1.26 Neka je k > 0. Broj nenegativnih celobrojnih  rešenja


 jednačine
n+k−1
x1 + x2 + . . . + xn = k sa n nepoznatih x1 , . . . , xn dat je sa .
k
Dokaz. Neka je S = {(x1 , x2 , . . . , xn ) ∈ (N0 )n : x1 + x2 + . . . + xn = k} skup svih
rešenja gornje jednačine, a W = {w ∈ {0, 1}k+n−1 : |w|0 = k i |w|1 = n − 1} skup
svih 01-reči dužine k + n − 1 sa tačno k nula i n − 1 jedinica. Definišimo preslika-
vanje ϕ : S → W ovako:
ϕ (x1 , x2 , . . . , xn ) = 00 . . . 0} 1 |00{z
| {z . . . 0} 1 . . . 1 |00{z
. . . 0} .
x1 x2 xn

Lako se vidi da je ϕ dobro definisano i bijektivno.


 Odatle je |S | = |W |, a na
k+n−1
osnovu Problema 1.18 znamo da je |W | = . Tim izrazom je, dakle, dat
k
broj nenegativnih celobrojnih rešenja date jednačine. 
1.5. MONOMI 15

Teorema 1.27 Neka je A = {a1 , a2 , . . . , an } alfabet sa n slova u kome je utvrden re-


neka je k ∈N0 proizvoljno. Broj različitih monoma nad A stepena k
dosled slova, i 
n+k−1
dat je izrazom .
k

Dokaz. Lako se vidi da postoji bijekcija izmedu skupa svih monoma stepena k
nad alfabetom A = {a1 , . . . , an } sa n slova i skupa svih nenegativnih celobrojnih
rešenja jednačine x1 + x2 + . . . + xn = k sa n nepoznatih x1 , . . . , xn . Naime, rešenju
(x1 , . . . , xn ) jednoznačno odgovara monom ax11 . . . axnn stepena k i obratno. Dakle,
broj monoma sepena k nad alfabetom A jednakje broju nenegativnih  celobrojnih
n+k−1
rešenja jednačine x1 + x2 + . . . + xn = k, a to je . 
k

Definicija 1.28 Monom stepena k nad alfabetom sa n slova zove se kombinacija


sa ponavljanjem od n elemenata k-te klase.

Videli smo ranije da su kombinacije bez ponavljanja u tesnoj vezi sa strogo


rastućim nizovima celih brojeva. Kombinacije sa ponavljanjem su u tesnoj vezi
sa neopadajućim nizovima celih brojeva. Pri tome, za niz brojeva x1 , x2 , . . . , xk
kažemo da je neopadajući ako je x1 6 x2 6 . . . 6 xk .

Teorema 1.29 Broj neopadajućih x1 6 x2 6 . . . 6 xk čiji elementi su iz


 nizova 
n+k−1
skupa {1, 2, . . . , n} jednak je sa .
k

Dokaz. Neka je A = {a1 , a2 , . . . , an } konačan skup sa n elemenata sa ustanovljenim


redosledom elemenata. Svaki monom am 1 m2 mn
1 a2 . . . an stepena k nad alfabetom A
možemo da zapišemo u “razvijenom obliku” ovako:

a1 . . . a1 a2 . . . a2 . . . an . . . an .
| {z } | {z } | {z }
m1 m2 mn

odakle se lako vidi da je svaki monom nad A jednoznačno odreden neopadajućim


nizom brojeva

| .{z
1 . . 1} 2
| .{z
. . 2} . . . n
| .{z
. . n},
m1 m2 mn

uz dogovor da se u gornjem spisku broj j ne pojavljuje ako je m j = 0.


16 GLAVA 1. REČI I SKUPOVI

Na primer, ako je A = {x, y, z} onda su monomi stepena 3 nad A i odgovarajući


neopadajući nizovi indeksa dati u sledećoj tabeli:

x3 y0 z0 = xxx 7→ 111
x2 y1 z0 = xxy 7 → 112
x2 y0 z1 = xxz 7 → 113
x1 y2 z0 = xyy 7 → 122
x1 y1 z1 = xyz 7 → 123
x1 y0 z2 = xzz 7 → 133
x0 y3 z0 = yyy 7 → 222
x0 y2 z1 = yyz 7 → 223
x0 y1 z2 = yzz 7 → 233
x0 y0 z3 = zzz 7 → 333

(1 označava prvo slovo alfabeta – x, 2 označava drugo slovo alfabeta – y, a 3


označava treće slovo alfabeta – z). Dakle, broj neopadajućih nizova x1 6 x2 6
. . . 6 xk čiji elementi su iz skupa{1, 2, . . . ,
n} jednak je broju monoma stepena k
n+k−1
nad alfabetom sa n slova, a to je . 
k

Zadaci za vežbu
1.1. Koliko memorije može da adresira procesor čija adresna magistrala ima
širinu 32 bita?
1.2. FORTRAN IV, jedan od najstarijih programskih jezika, imao je mnoga
ograničenja. Jedno od njih se odnosilo na identifikatore (reči koje kori-
stimo kao imena promenljivih i procedura). Identifikator u FORTRANU IV
može da se sastoji od najviše 6 simbola, cifara (0, 1, . . . , 9) ili velikih slova
engleskog alfabeta (A, B, . . . , Z), s tim da prvi simbol mora biti slovo. Ko-
liko različitih identifikatora se može deklarisati u FORTRANU IV?
1.3. Za realan broj x, sa ⌊x⌋ označavamo najveći ceo broj koji nije veći od x.
Na primer, ⌊1.99⌋ = 1, ⌊4⌋ = 4, ⌊0.65⌋ = 0, dok je ⌊−1.02⌋ = −2.
Neka je n pozitivan ceo broj i p prost broj. Dokazati da je najveće k sa
osobinom pk | n! dato sa
     
n n n
k= + 2 + 3 + ...
p p p

Broj 1000! se završava sa mnogo nula. Koliko?


ZADACI ZA VEŽBU 17

1.4. Za n ∈ N, sa τ (n) označavamo broj pozitivnih delilaca broja n. Na primer,


τ (12) = 6 zato što su 1, 2, 3, 4, 6 i 12 svi pozitivni delioci broja 12. Neka
je n = pk11 · pk22 · . . . · pks s faktorizacija broja n gde su 1 < p1 < p2 < . . . < ps
prosti brojevi. Dokazati da je

τ (n) = (1 + k1 )(1 + k2 ) . . . (1 + ks ).

(Uputstvo: Ako m | n onda je m = pl11 · pl22 · . . . · plss i 0 6 li 6 ki za sve i.)


1.5. Neka je A skup svih 01-reči w dužine 2009 sa osobinom |w|0 = |w|1 + 1, a
B skup svih 01-reči w dužine 2009 sa osobinom |w|1 = |w|0 + 1. Dokazati
da je |A| = |B|. (Uputstvo: Uspostaviti bijekciju.)
1.6. Neka je A = {n ∈ N : 1 6 n 6 999 999 i zbir cifara broja n je 20} i B = {n ∈
N : 1 6 n 6 999 999 i zbir cifara broja n je 34}. Dokazati da je |A| = |B|.
(Uputstvo: Uspostaviti bijekciju.)
1.7. Za dva topa na šahovskoj tabli kažemo da su nezavisni ako se ne napa-
daju. Na koliko načina se na šahovsku tablu n × n može postaviti n > 1 po
parovima nezavisnih topova?
1.8. Na koliko načina se na šahovsku tablu n × m može postaviti k po parovima
nezavisnih topova, pri čemu je n, m > k > 1?
1.9. Na koliko načina n studenata može da stane u red pred studentskom men-
zom, ali tako da dva uočena studenta A i B

(a) stoje jedan do drugog?

(b) ne stoje jedan do drugog?


1.10. Na koliko načina n studenata B1 , . . . , Bn i n studentkinja G1 , . . . , Gn mogu
da formiraju red pred menzom, ali tako da je B1 pored G1 , B2 pored G2 ,
. . . , Bn pored Gn ?
1.11. Odrediti broj parova (A, B) podskupova skupa {1, . . . , n} sa osobinom
A ∩ B = ∅.
1.12. Celobrojna rešetka se sastoji od svih tačaka u ravni koje imaju celobrojne
koordinate. Takve tačke zovemo celobrojne tačke.
18 GLAVA 1. REČI I SKUPOVI

y
Rastući put u celobrojnoj rešetki je
niz celobrojnih tačaka (x1 , y1 ), (x2 , y2 ),
. . . , (xk , yk ) takav da za svako i ∈
{1, . . . , k − 1} važi:

• ili xi+1 = xi + 1 i yi+1 = yi , x


• ili xi+1 = xi i yi+1 = yi + 1.

Odrediti broj rastućih puteva u celo-


brojnoj rešetki koji polaze iz (0, 0) i
završavaju u (p, q), gde je p, q ∈ N.
1.13. Dokazati da je
n  
k n
(a) ∑ 2 = 3n ;
k=0 k
           
n n n n n n
(b) + + + ... = + + + . . .;
0 2 4 1 3 5
n  
n
(c) ∑ k = n · 2n−1 .
k=0 k
1.14. Dokazati:
   
n n n−1
(a) = za sve n > k > 1;
k k k−1
     
n m n n−k
(b) = za sve n > m > k > 0;
m k k m−k
             
n m n m n m n m n+m
(c) + + +. . .+ =
0 k 1 k−1 2 k−2 k 0 k
za sve n, m > k > 0.
 2  2  2  2  
n n n n 2n
(d) + + + ... + = za sve n > 0.
0 1 2 n n
         
k k+1 k+2 k+ j k+ j+1
(e) + + + ...+ =
0 1 2 j j
za sve k, j > 0. (Uputstvo: Koristiti indukciju po j.)
1.15. Odrediti broj 01-reči dužine 2n kod kojih je broj nula na prvih n mesta
jednak broju nula na poslednjih n mesta.
1.16. (a) Odrediti broj celobrojnih rešenja jednačine x1 + x2 + . . . + xn = k sa n
nepoznatih x1 , x2 , . . . , xn uz uslov xi > 1 za sve i.
ZADACI ZA VEŽBU 19

(b) Odrediti broj celobrojnih rešenja jednačine x1 + x2 + . . . + xk+1 = n − k


sa k + 1 nepoznatih x1 , x2 , . . . , xk+1 uz uslov x1 > 0, xk+1 > 0 i xi > 1 za
sve i ∈ {2, . . . , k}.
1.17. Odrediti broj celobrojnih rešenja nejednačine x1 + x2 + . . . + xn 6 k sa n
nepoznatih x1 , x2 , . . . , xn uz uslov xi > 0 za sve i. (Uputstvo: Zbog k ∈ N0 ,
ova nejednačina je ekvivalentna sa

x1 + x2 + . . . + xn = 0 ili x1 + x2 + . . . + xn = 1 ili . . .
. . . ili x1 + x2 + . . . + xn = k.

Odrediti broj rešenja svake od ovih k + 1 jednačina i sumirati koristeći


Zadatak za vežbu 1.14 (e).)
1.18. Za celobrojno rešenje (x1 , . . . , xn ) jednačine x1 + x2 + . . . + xn = k, k > 1,
sa n nepoznatih x1 , x2 , . . . , xn kažemo da je parno ako je x1 paran broj.
Inače kažemo da je neparno. Pokazati da je broj parnih rešenja navedene
jednačine veći od broja neparnih rešenja, ako se zna da je n > 3. (Uputstvo:
Pokazati da je ϕ : (x1 , x2 , x3 , . . . , xn ) 7→ (x1 − 1, x2 + 1, x3 , . . . , xn ) injektivno
preslikavanje skupa neparnih rešenja u skup parnih rešenja te jednačine, i
primetiti da postoji parno rešenje koje nije u slici preslikavanja ϕ ).
1.19. Za okruglim stolom sedi n vitezova. Odrediti broj načina da se odabere k
od njih tako da medu odabranih k vitezova ne postoje dva koji sede jedan
do drugog. (Uputstvo: Odabrati proizvoljnog viteza A i potom podeliti
sve izbore u dve klase – one u kojima A učestvuje i one u kojima A ne
učestvuje.)
1.20. Dokazati da je broj svih preslikavanja {1, . . . , n} → {1, . . . , k} jednak kn .
1.21. Uredena k-particija konačnog skupa A je k-torka (B1 , . . . , Bk ) takva da je
{B1 , . . . , Bk } particija skupa A. Neka su n1 , . . . , nk prirodni brojevi sa oso-
binom n1 + . . . + nk = |A|. Odrediti broj uredenih k-particija (B1 , . . . , Bk )
skupa A kod kojih je |Bi | = ni , za sve i.
1.22. Neka je a1 a2 . . . a2005 permutacija skupa {1, 2, . . . , 2005}. Dokazati da je

(a1 + 1)(a2 + 2) . . . (a2005 + 2005)

paran broj.
1.23. Odrediti broj permutacija a1 a2 . . . an skupa {1, 2, . . . , n}, n > 3, koje imaju
osobinu |a1 − a2 | > 1.
†1.24. Odrediti broj premutacija f skupa {1, 2, . . . , n} sa osobinom inv( f ) = 2.
20 GLAVA 1. REČI I SKUPOVI
 
n
1.25. Dokazati da je ∑ l1 , l2 , . . . , lk
= kn .
l1 ,l2 ,...,lk ∈N0
l1 +l2 +...+lk =n

1.26. Neka su m1 , . . . , mn ∈ N pozitivni celi brojevi i N = m1 + . . . + mn . Doka-


zati da je
     
N N −1 N −1
= + + ...
m1 , m2 , . . . , mn m1 − 1, m2 , . . . , mn m1 , m2 − 1, . . . , mn
 
N −1
... + .
m1 , m2 , . . . , mn − 1

1.27. Napraviti algoritam koji generiše sve reči dužine k nad alfabetom {1, . . . , n}
u poretku koji je suprotan leksikografskom. To znači da je prva reč na spi-
sku nn . . . n, a poslednja 11 . . . 1.
1.28. Napisati rekurzivan algoritam koji generiše niz razlika Grayovog koda
reda k. Na osnovu toga napisati rekurzivan algoritam koji generiše Grayov
kod reda k.
1.29. Simetrična razlika skupova A i B je skup A∆B = (A \ B) ∪ (B \ A). Za sku-
pove A i B kažemo da se razlikuju za tačno jedan element ako je |A∆B| = 1.
Napraviti algoritam koji ispisuje sve podskupove skupa {1, 2, . . . , n} ali
tako da se svaka dva susedna podskupa na spisku koji nastaje na ovaj način
razlikuju za tačno jedan element. Na primer, za n = 3 algoritam treba da
generiše sledeći spisak podskupova skupa {1, 2, 3}:

∅, {1}, {1, 2}, {2}, {2, 3}, {1, 2, 3}, {1, 3}, {3}.

1.30. Napisati program koji generiše sve reči dužine k nad alfabetom {1, 2, . . . , n}
kod kojih su sva slova različita. Pretpostavlja se da je n > k > 1.

You might also like