Matematyka dyskretna 2004 01 Podstawowe pojęcia, oznaczenia

background image

Matematyka Dyskretna

Andrzej Szepietowski

25 marca 2004 roku

background image
background image

Rozdział 1

Podstawowe poj˛ecia, oznaczenia

1.1

Sumy

Maj ˛

ac dany sko ´nczony ci ˛

ag

a

1

,

a

2

,...

a

k

, sum˛e jego elementów zapisujemy jako

k

X

i

=1

a

i

.

Niezbyt formalnie mo˙zemy to zapisa´c

k

X

i

=1

a

i

= a

1

+ a

2

+ · · · + a

k

.

Jako przykład zastosujmy symbol sumy do zapisu wzoru na sum˛e ci ˛

agu arytmetycznego).

k

X

i

=1

i = 1 + 2 + · · · + k =

(k + 1)k

2

(1.1)

oraz wzoru na sum˛e ci ˛

agu geometrycznego).

k

X

i

=0

x

i

= 1 + x + x

2

+ · · · + x

k

=

x

k

+1

− 1

x − 1

,

(1.2)

(wzór (1.2) jest słuszny dla ka˙zdego

x 6= 1)

B˛edziemy te˙z u˙zywa´c zapisu typu

X

1≤i≤6

a

i

= a

1

+ a

2

+ a

3

+ a

4

+ a

5

+ a

6

.

W tym przypadku zbiór indeksów okre´slony jest za pomoc ˛

a warunku pod znakiem sumy.

Warunek okre´slaj ˛

acy indeksy, po których nale˙zy sumowa´c mo˙ze by´c bardziej skompliko-

wany, na przykład

X

1

≤i≤6

i parzyste

a

i

= a

2

+ a

4

+ a

6

.

3

background image

4

Rozdział 1. Podstawowe poj˛ecia, oznaczenia

Stosowa´c b˛edziemy tak˙ze zapis

X

i∈I

a

i

oznaczaj ˛

acy sum˛e tych elementów

a

i

, których indeksy nale˙z ˛

a do sko ´nczonego zbioru

indeksów

I. Na przykład, je˙zeli I = {1, 3, 5, 7}, to

X

i∈I

a

i

= a

1

+ a

3

+ a

5

+ a

7

.

Mo˙zemy te˙z sumowa´c ci ˛

agi, których elementy zale˙z ˛

a od dwóch indeksów,

X

1

≤i≤3

2

≤j≤3

a

ij

=

X

1≤i≤3

X

2≤j≤3

a

ij

a

12

+ a

13

+ a

22

+ a

23

+ a

32

+ a

33

.

Za pomoc ˛

a podwójnej sumy mo˙zemy, na przykład, przedstawi ´c uogólnione prawo roz-

dzielno´sci mno˙zenia wzgl˛edem dodawania:

X

1≤i≤m

a

i

·

X

1≤j≤n

b

j

=

X

1

≤i≤m

1

≤j≤n

a

i

b

j

(1.3)

a tak˙ze wzór na podnoszenie sumy do kwadratu:

X

1≤i≤m

a

i

2

=

X

1≤i≤m

a

2

i

+

X

1≤i<j≤m

2a

i

a

j

(1.4)

1.2

Iloczyny

Aby zapisa´c iloczyn elementów ci ˛

agu

a

1

,

a

2

,...,

a

k

, stosujemy zapis

k

Y

i

=1

a

i

.

Znów niezbyt formalnie mo˙zemy to zapisa´c jako

k

Y

i

=1

a

i

= a

1

· a

2

· · · · · a

k

.

1.3

Zbiory

∅ oznacza zbiór pusty, który nie zawiera ˙zadnych elementów.
N oznacza zbiór liczb naturalnych N

= {0, 1, 2, 3, . . .}.

Z oznacza zbiór liczb całkowitych.

background image

1.3. Zbiory

5

Q oznacza zbiór liczb wymiernych.
R oznacza zbiór liczb rzeczywistych.

a ∈ A oznacza, ˙ze elment a nale˙zy do zbioru A, a /

∈ A, ˙ze elment a nie nale˙zy do

zbioru

A. Najprostszy sposób zdefiniowania zbioru polega na wypisaniu jego elementów

w nawiasach klamrowych. Na przykład zbiór

{1, 2, 3} zawiera elementy 1,2,3. Inny spo-

sób definiowania zbioru polega na podaniu własno´sci, któr ˛

a spełniaj ˛

a elementy zbioru.

Na przykład

{x | x ∈ N, 3 < x < 7} oznacza zbiór liczb naturalnych wi˛ekszych od 3 i

mniejszych od 7.

|A| oznacza moc zbioru A, czyli liczb˛e jego elementów.

|{3, 6, 9}| = 3,

|∅| = 0.

A ∪ B oznacza sum˛e zbiorów, czyli zbiór zawieraj ˛

acy elementy, które nale˙z ˛

a do

A lub do

B:

A ∪ B = {x : x ∈ A lub x ∈ B}.

A zatem suma

A ∪ B zawiera wszystkie elementy zbioru A i wszystkie elementy zbioru

B.

A ∩ B oznacza iloczyn lub przekrój zbiorów, czyli zbiór zawieraj ˛

acy elementy, które

nale˙z ˛

a do obu zbiorów naraz.

A ∩ B = {x : x ∈ A i x ∈ B}.

A − B oznacza ró˙znic˛e zbiorów, czyli zbiór zawieraj ˛

acy elementy, które nale˙z ˛

a do

A

i nie nale˙z ˛

a do

B.

A − B = {x : x ∈ A i x /

∈ B}.

Przykład 1.1 Dla

A = {1, 2, 4} i B = {1, 4, 6} mamy:

A ∪ B = {1, 2, 4, 6},

A ∩ B = {1, 4},

A − B = {2}.

A ⊆ B oznacza, ˙ze zbior A zawiera si˛e w zbiorze B, to znaczy wszystkie elementy zbioru
A nale˙z ˛

a do zbioru

B.

{2, 1} ⊆ {1, 2, 3}

Dwa zbiory s ˛

a równe je˙zeli zawieraj ˛

a te same elementy, lub inaczej

A = B wtedy i tylko

wtedy gdy

A ⊆ B i B ⊆ A.

{1, 4, 2, 3} = {4, 1, 3, 2}.

Jak wida´c kolejno´s´c elementów w zapisie zbioru nie ma znaczenia. I tak na przykład
{1, 2} = {2, 1}. Taki zbiór dwuelementowy nazywamy par ˛

a nieuporz ˛

adkowan ˛

a.

W poni˙zszym lemacie zebrano podstawowe własno´sci operacji sumy i iloczynu zbio-

rów.

Lemat 1.2

• A ∪ B = B ∪ A

(przemienno´s´c sumy).

• A ∩ B = B ∩ A

(przemienno´s´c iloczynu).

background image

6

Rozdział 1. Podstawowe poj˛ecia, oznaczenia

• A ∪ (B ∪ C) = (A ∪ B) ∪ C

(ł ˛

aczno´s´c sumy).

• (A ∩ B) ∩ C = A ∩ (B ∩ C)

(ł ˛

aczno´s´c iloczynu).

• (A ∪ B) ∩ C = A ∩ C ∪ B ∩ C

(rozdzielno´s´c sumy wzgl˛edem iloczynu).

• (A ∩ B) ∪ C = (A ∪ C) ∩ (B ∪ C)

(rozdzielno´s´c iloczynu wzgl˛edem sumy).

• A ∪ ∅ = A,

A ∩ ∅ = ∅,

A ∪ A = A,

A ∩ A = A,

Dowód: Udowodnimy tylko rozdzielno´s´c sumy wzgl˛edem iloczynu. W tym celu poka˙ze-
my dwa zawierania:

(A ∪ B) ∩ C ⊂ A ∩ C ∪ B ∩ C oraz A ∩ C ∪ B ∩ C ⊂ (A ∪ B) ∩ C.

Aby udowodni´c zawieranie

(A ∪ B) ∩ C ⊂ A ∩ C ∪ B ∩ C, we˙zmy dowolny element

x ∈ (A ∪ B) ∩ C, wtedy x ∈ A ∪ B oraz x ∈ C, a to oznacza, ˙ze x nalezy do C i do
jednego ze zbiorów

A lub B (lub do obu), czyli nale˙zy do A ∩ C lub do B ∩ C, a wi˛ec

x ∈ A ∩ C ∪ B ∩ C. Pokazali´smy wi˛ec, ˙ze dowolny element z (A ∪ B) ∩ C nale˙zy do
A ∩ C ∪ B ∩ C.

Aby udowodni´c zawieranie

A ∩ C ∪ B ∩ C ⊂ (A ∪ B) ∩ C. we˙zmy dowolny element

x ∈ A ∩ C ∪ B ∩ C, wtedy x ∈ A ∩ C lub x ∈ B ∩ C, a to oznacza, ˙ze x nalezy do C
i do jednego ze zbiorów

A lub B (lub do obu), czyli nale˙zy do A ∪ B oraz do C, a wi˛ec

x ∈ (A ∪ B) ∩ C. Pokazali´smy wi˛ec, ˙ze dowolny element z A ∩ C ∪ B ∩ C nale˙zy do
(A ∪ B) ∩ C.

2

1.4

Ró˙znica symetryczna zbiorów

A ⊕ B oznacza ró˙znic˛e symetryczn ˛

a zbiorów, która zawiera elementy nale˙z ˛

ace tylko do

jednego z dwóch zbiorów:

A ⊕ B = (A − B) ∪ (B − A).

Przykład 1.3

{1, 2, 4} ⊕ {1, 4, 6} = {2, 6}.

W poni˙zszym lemacie zebrano podstawowe własno´sci ró˙znicy symetrycznej zbiorów.

Lemat 1.4

• A ⊕ B = B ⊕ A

(przemienno´s´c).

• (A ⊕ B) ⊕ C = A ⊕ (B ⊕ C)

(ł ˛

aczno´s´c).

• (A ⊕ B) ∩ C = A ∩ C ⊕ B ∩ C

(rozdzielno´s´c wzgl˛edem iloczynu).

• A ⊕ ∅ = A,

A ⊕ A = ∅.

Je˙zeli A ⊕ B = ∅, to A = B.

Dowód:

Udowodnimy, tylko dwie to˙zsamo´sci, dowód pozostałych pozostawiamy czytelnikowi

jako ´cwiczenie.

background image

1.5. Iloczyn kartezja ´nski

7

Aby pokaza´c, ˙ze ró˙znica symetryczna jest ł ˛

aczna wystarczy zauwa˙zy ´c, ˙ze zbiór

A ⊕

(B⊕C) lub (A⊕B)⊕C zawiera te elementy, które nale˙z ˛

a do nieparzystej liczby zbiorów,

czyli te, które nale˙z ˛

a tylko do

A, B lub C, plus te, które nale˙z ˛

a do przekroju

A ∩ B ∩ C.

Udowodnimy teraz ostatni ˛

a implikacj˛e. Je˙zeli

A ⊕ B = ∅, to

A = A ⊕ ∅ = A ⊕ (A ⊕ B) = (A ⊕ A) ⊕ B = ∅ ⊕ B = B.

2

Twierdzenie 1.5 Ró˙znica symetryczna

n zbiorów:

A

1

⊕ A

2

⊕ . . . ⊕ A

n

zawiera elementy, które nale˙z ˛

a do nieparzystej liczby spo´sród zbiorów

A

1

,

A

2

, . . . , A

n

.

Dowód przez indukcj˛e ze wzgl˛edu na

n. Twierdzenie jest oczywiste dla n = 1 lub

n = 2. Załó˙zmy teraz, ˙ze jest ono prawdziwe dla n i rozpatrzmy:

A

1

⊕ . . . ⊕ A

n

⊕ A

n

+1

= (A

1

⊕ . . . ⊕ A

n

) ⊕ A

n

+1

.

Zbiór ten zawiera te elementy, które nale˙z ˛

a do

(A

1

⊕ . . . ⊕ A

n

) i nie nale˙z ˛

a do

A

n

+1

,

oraz te, które nie nale˙z ˛

a do

(A

1

⊕ . . . ⊕ A

n

) i nale˙z ˛

a do

A

n

+1

. W pierwszym przypad-

ku s ˛

a to elementy, które nie nale˙z ˛

a do

A

n

+1

i na mocy zało˙zenia indukcyjnego nale˙z ˛

a

do jakiej´s nieparzystej liczby zbiorów spo´sród

A

1

, . . . , A

n

. W drugim przypadku s ˛

a to

elementy, które nale˙z ˛

a do

A

n

+1

, a tak˙ze do pewnej parzystej liczby zbiorów spo´sród

A

1

, . . . , A

n

. Razem mamy wszystkie elementy nale˙z ˛

ace do nieparzystej liczby zbiorów

spo´sród

A

1

, . . . , A

n

+1

.

2

1.5

Iloczyn kartezja ´nski

Para uporz ˛

adkowana jest to dwuelementowy ci ˛

ag

(x, y). Mamy (x, y) = (u, v) wtedy i

tylko wtedy gdy

x = u oraz y = v. Dopuszczalne jest tak˙ze x = y.

A × B oznacza iloczyn kartezja´nski zbiorów A i B. Jest to zbiór wszystkich uporz ˛

ad-

kowanych par

(a, b), w których a ∈ A i b ∈ B. Inaczej

A × B = {(a, b) | a ∈ A, b ∈ B}.

Przykład 1.6 Dla

A = {1, 3, 5} i B = {3, 4} mamy

A × B = {(1, 3), (1, 4), (3, 3), (3, 4), (5, 3), (5, 4)}.

Mo˙zna łatwo wykaza´c, ˙ze

|A × B| = |A| · |B|.

background image

8

Rozdział 1. Podstawowe poj˛ecia, oznaczenia

1.6

Rodzina zbiorów

Czasami b˛edziemy mieli do czynienia ze zbiorem, którego elementami s ˛

a zbiory. Przez

P(A)

lub

2

A

b˛edziemy oznacza´c zbiór wszystkich podzbiorów zbioru

A.

Przykład 1.7 Dla

A = {a, b}

P(A) = {∅, {a}, {b}, {a, b}}.

Zbiór zbiorów nazywamy czasami rodzin ˛

a zbiorów. Na przykład

A = {A

1

, A

2

, A

3

, A

4

}

jest rodzin ˛

a zawieraj ˛

ac ˛

a cztery zbiory

A

1

,

A

2

,

A

3

i

A

4

, s ˛

a to elementy zbioru

A. Mo˙zemy

te˙z zapisa´c

A = {A

i

| 1 ≤ i ≤ 4}.

Mo˙zemy sumowa´c zbiory z rodziny. Suma

k

[

i

=1

A

i

zawiera te elementy, które nale˙z ˛

a do którego´s ze zbiorów

A

1

,

A

2

, ... ,

A

k

, czyli

k

[

i

=1

A

i

= {x | ∃

i

1≤i≤k

x ∈ A

i

}.

Inaczej mo˙zemy to zapisa´c:

k

[

i

=1

A

i

= A

1

∪ A

2

∪ . . . ∪ A

k

.

B˛edziemy te˙z u˙zywa´c zapisu

[

i∈I

A

i

na oznaczenie sumy wszystkich zbiorów

A

i

, których indeksy nale˙z ˛

a do zbioru

I. Zacho-

dzi wtedy

[

i∈I

A

i

= {x | ∃

i∈I

x ∈ A

i

}.

Zbiór indeksów sumowania mo˙ze by´c okre´slony za pomoc ˛

a warunku.

[

1<i<6

A

i

= A

2

∪ A

3

∪ A

4

∪ A

5

.

Dla sumy zbiorów zachodzi prawo rozdzielno´sci sumy wzgl˛edem przekroju:

Lemat 1.8

C ∩

[

i∈I

A

i

=

[

i∈I

(C ∩ A

i

)

background image

1.6. Rodzina zbiorów

9

Dowód: We´zmy dowolny element

x ∈ C ∩

S

i∈I

A

i

. Wtedy

x nale˙zy do C i do którego´s

ze zbiorów

A

i

, czyli dla jakiego´s

i ∈ I, x nale˙zy do C ∩A

i

, a to znaczy, ˙ze

x ∈

S

i∈I

(C ∩

A

i

).

We´zmy z kolei dowolny element

x ∈

S

i∈I

(C ∩ A

i

). Wtedy x nale˙zy do C ∩ A

i

dla jakiego´s

i ∈ I, czyli x nale´zy do C i do sumy

S

i∈I

A

i

, czyli nale˙zy do przekroju

C ∩

S

i∈I

A

i

.

2

Mo˙zemy te˙z bra´c przekroje zbiorów z rodziny. Przekrój

k

\

i

=1

A

i

zawiera te elementy, które nale˙z ˛

a do wszystkich zbiorów

A

1

,

A

2

, ... ,

A

k

, czyli

k

\

i

=1

A

i

= {x | ∀

i

1≤i≤k

x ∈ A

i

}.

Inaczej mo˙zemy to zapisa´c:

k

\

i

=1

A

i

= A

1

∩ A

2

∩ . . . ∩ A

k

.

B˛edziemy te˙z u˙zywa´c zapisu

\

i∈I

A

i

na oznaczenie przekroju wszystkich zbiorów

A

i

, których indeksy nale˙z ˛

a do zbioru

I.

Zachodzi wtedy

\

i∈I

A

i

= {x | ∀

i∈I

x ∈ A

i

}.

Zbiór indeksów przekroju mo˙ze by´c okre´slony za pomoc ˛

a warunku:

\

1<i<6

A

i

= A

2

∩ A

3

∩ A

4

∩ A

5

.

Przykład 1.9 We´zmy rodzin˛e zło˙zon ˛

a z trzech zbiorów

A

1

= {4, 6, 8}, A

2

= {4, 5, 6},

A

3

= {4, 5, 8, 9}.

3

[

i

=1

A

i

= {4, 5, 6, 8, 9},

3

\

i

=1

A

i

= {4}.

Przykład 1.10 Niech

I = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} b˛edzie zbiorem indeksów. Dla ka˙z-

dego

i ∈ I okre´slamy zbór A

i

= {x ∈ N | 1 ≤ x ≤ i}. Mamy:

[

i∈I

A

i

= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},

\

i∈I

A

i

= {1},

[

1<i<7

A

i

= {1, 2, 3, 4, 5, 6},

\

1<i<7

A

i

= {1, 2}.

background image

10

Rozdział 1. Podstawowe poj˛ecia, oznaczenia

1.7

Grafy (nieskierowane)

Definicja 1.11 Graf (nieskierowany)

G = (V, E) jest to para składaj ˛

aca si˛e ze sko´nczo-

nego zbioru wierzchołków

V oraz ze zbioru kraw˛edzi E, gdzie kraw˛edzie to pary wierz-

chołków.

E ⊆ {{u, v} | u, v ∈ V, u 6= v}.

O kraw˛edzi

e = {u, v} mówimy, ˙ze ł ˛

aczy wierzchołki

u i v, a o wierzchołkach u i v, ˙ze

s ˛

a ko´ncami kraw˛edzi

e. Wierzchołki poł ˛

aczone kraw˛edzi ˛

a nazywamy s ˛

asiednimi. Stopie´n

wierzchołka

v, oznaczany przez d(v), jest to liczba kraw˛edzi wychodz ˛

acych z

v.

Graf przedstawiamy na rysunku jako zbiór punktów (lub kółek) poł ˛

aczonych odcin-

kami (lub łukami).

Rysunek 1.1: Przykład grafu

a

b

c

d

e

f

g

Przykład 1.12 Rysunek 1.1 przedstawia graf

G = (V, E) ze zbiorem wierzchołków V =

{a, b, c, d, e, f, g} i zbiorem kraw˛edzi

E = {{a, b}, {a, d}, {a, e}, {a, g}, {b, c}, {c, g}, {c, f }, {d, f}, {e, f}, {f, g}}. Sto-

pie´n wierzchołków

a i f wynosi 4, wierzchołki c i g s ˛

a stopnia 3, wierzchołki

b, d i e

stopnia 2.

Graf

H = (V

H

, E

H

) nazywamy podgrafem grafu G = (V

G

, E

G

), je˙zeli V

H

⊆ V

G

oraz

E

H

⊆ E

G

.

Przykład 1.13 Graf przedstawiony na rysunku 1.3 jest podgrafem grafu z rysunku 1.1.

Graf pełny o

n wierzchołkach, oznaczany przez K

n

, jest to graf z

n wierzchołkami,

w którym ka˙zde dwa wierzchołki poł ˛

aczone s ˛

a kraw˛edzi ˛

a.

Droga lub ´scie˙zka w grafie

G = (V

G

, E

G

) jest to ci ˛

ag wierzchołków

v

0

, v

1

, . . . , v

k

,

taki, ˙ze dla ka˙zdego

i, 1 ≤ i ≤ k, wierzchołki v

i−

1

,

v

i

s ˛

a poł ˛

aczone kraw˛edzi ˛

a, czyli

{v

i−

1

, v

i

} ∈ E

G

. O drodze

v

0

, v

1

, . . . , v

k

mówimy, ˙ze ł ˛

aczy wierzchołki

v

0

i

v

k

. Mówi-

my tak˙ze, ˙ze wierzchołek

v

k

jest osi ˛

agalny z wierzchołka

v

0

. Droga jest zamkni˛eta je˙zeli

background image

1.7. Grafy (nieskierowane)

11

Rysunek 1.2: Graf pełny

K

6

.

a

b

c

d

e

f

v

0

= v

k

. Droga jest prosta, je˙zeli wszystkie wyst˛epuj ˛

ace w niej wierzchołki s ˛

a ró˙zne.

Drog˛e

v

0

, v

1

, . . . , v

k

nazywamy cyklem je˙zeli

v

0

= v

k

,

k ≥ 3 oraz wszystkie wierzchołki

v

1

, . . . , v

k

s ˛

a ró˙zne.

Przykład 1.14 W grafie z rysunku 1.1 ci ˛

ag

e, a, d, a, b, c, g jest drog ˛

a, a ci ˛

ag

a, e,

f , d, a jest cyklem. Ci ˛

ag

a, e, f, d, a, b, c, g, a jest drog ˛

a zamkni˛et ˛

a, ale nie jest cyklem.

Graf

G jest spójny, je˙zeli dla ka˙zdych dwóch wierzchołków u, v ∈ V

G

istnieje ´scie˙zka

ł ˛

acz ˛

aca

u i v.

Lemat 1.15 Je˙zeli istnieje droga ł ˛

acz ˛

aca wierzchołki

u i v, u 6= v, to istnieje te˙z droga

prosta ł ˛

acz ˛

aca

u i v.

Dowód: Niech

u = v

0

, v

1

, . . . , v

k

= v, b˛edzie najkrótsz ˛

a drog˛e ł ˛

acz ˛

ac ˛

a

u i v. Droga

ta jest prosta. Przypu´s´cmy bowiem, ˙ze

v

i

= v

j

, dla jakiego´s

i < j; mieliby´smy wtedy

krótsz ˛

a drog˛e

u = v

0

, . . . , v

i

, v

j

+1

, . . . , v

k

= v, ł ˛

acz ˛

ac ˛

a

u i v, wbrew zało˙zeniu.

2

Dowolne dwa wierzchołki w cyklu mog ˛

a by´c poł ˛

aczone dwoma drogami prostymi.

Na przykład w cyklu

a, b, c, g, a na rysunku 1.1, wierzchołki a i c ł ˛

aczy droga

a, b, c oraz

droga

a, g, c. Tak, wi˛ec, je˙zeli w grafie s ˛

a cykle, to istniej ˛

a pary wierzchołkow, które s ˛

a

poł ˛

aczone dwoma drogami prostymi. Ale i na odwrót.

Lemat 1.16 Je˙zeli w grafie istniej ˛

a dwa wierzchołki

u i v, u 6= v które mo˙zna poł ˛

aczy´c

dwoma ró˙znymi drogami prostymi, to w grafie istnieje cykl.

Dowód: Niech

u = v

0

, v

1

, . . . , v

k

= v oraz u = w

0

, w

1

, . . . , w

l

= v, b˛ed ˛

a dwoma

ro˙znymi prostymi drogami ł ˛

acz ˛

acymi

u i v. Mo˙zemy zało˙zy´c, ˙ze v

1

6= w

1

(w przeciw-

nym przypadku mo˙zemy usun ˛

a´c wspólny pocz ˛

atek obu dróg). Niech

v

i

b˛edzie pierw-

szym wierzchołkiem po

v

0

, który wyst˛epuje w drodze

w

0

, w

1

, . . . , w

m

, i niech

v

i

= w

j

.

background image

12

Rozdział 1. Podstawowe poj˛ecia, oznaczenia

Wierzchołki

v

1

, . . . , v

i−

1

nie wyst˛epuj ˛

a w drodze

w

0

, w

1

, . . . , w

m

i droga

v

0

, . . . , v

i

=

w

j

, w

j−

1

, . . . , w

1

, w

0

= v

0

tworzy cykl (w drodze tej wyst˛epuj ˛

a conajmniej trzy ró˙zne

wierzchołki

v

0

,

v

1

oraz

w

1

).

2

Z tego lematu wynika, ˙ze graf jest acykliczny (nie ma cykli) wtedy i tylko wtedy, gdy

ka˙zde dwa wierzchołki grafu mo˙zna poł ˛

aczy´c co najwy˙zej jedn ˛

a drog ˛

a prost ˛

a.

1.8

Drzewa

Definicja 1.17 Spójny i acykliczny (bez cykli) graf to drzewo.

Rysunek 1.3: Przykład drzewa

a

b

c

d

e

f

g

Z rozwa˙za´n z poprzedniego podrozdziału wynika:

Lemat 1.18 Graf jest drzewem wtedy i tylko wtedy, gdy ka˙zde dwa jego wierzchołki mo˙z-
na poł ˛

aczy´c dokładnie jedn ˛

a prost ˛

a drog ˛

a.

1.9

Drzewa ukorzenione

Definicja 1.19 Drzewo ukorzenione to drzewo z wyró˙znionym jednym wierzchołkiem.
Wyró˙zniony wierzchołek nazywamy korzeniem drzewa.

Ka˙zdy wierzchołek

v ró˙zny od korzenia jest z nim poł ˛

aczony dokładnie jedn ˛

a drog ˛

a

prost ˛

a. S ˛

asiad le˙z ˛

acy na drodze do korzenia nazywamy ojcem wierzchołka

v. Pozastali

s ˛

asiedzi s ˛

a synami wierzchołka

v. Korze ´n drzewa nie ma ojca, wszyscy jego s ˛

asiedzi s ˛

a

jego synami. Wierzchołek, który nie posiada syna nazywamy li´sciem.

Przykład 1.20 Je˙zeli w drzewie z rysunku 1.3 wyró˙znimy wierzchołek

d jako korze´n, to

ojcem wierzchołka

a jest wierzchołek d, synami wierzchołka a s ˛

a wierzchołki

e, g i b.

Wierzchołki

f , e, g oraz c s ˛

a li´sciami.

background image

1.10. Grafy skierowane

13

Rysunek 1.4: Drzewo ukorzenione

d

f

a

e

g

b

c

Zwykle drzewo ukorzenione rysujemy tak jak na rysunku 1.4. Korze´n jest na górze,

poni˙zej le˙z ˛

a jego synowie i ogólnie ka˙zdy wierzchołek le˙zy poni˙zej swojego ojca i powy˙zej

swoich synów.

1.10

Grafy skierowane

Definicja 1.21 Graf skierowany (zorientowany) to dowolna para

G = (V, E), ze sko´n-

czonym zbiorem wierzchołków

V i zbiorem kraw˛edzi E ⊆ V × V .

Rysunek 1.5: Graf skierowany

a

b

c

d

e

W grafie skierowanym kraw˛ed´z

e = (u, v) jest skierowana od wierzchołka u do wierz-

chołka

v. Wierzchołek u nazywamy pocz ˛

atkiem kraw˛edzi, a wierzchołek

v ko ´ncem. Na

rysunkach kraw˛edzie skierowane b˛edziemy przedstawia ´c jako strzałki. Droga w grafie
skierowanym jest to ci ˛

ag wierzchołków

v

0

, v

1

, . . . , v

k

, taki, ˙ze dla ka˙zdego

i, 1 ≤ i ≤ k,

background image

14

Rozdział 1. Podstawowe poj˛ecia, oznaczenia

wierzchołki

v

i−

1

,

v

i

s ˛

a poł ˛

aczone kraw˛edzi ˛

a, czyli

(v

i−

1

, v

i

) ∈ E. Kraw˛ed´z typu (u, u),

w której pocz ˛

atek i koniec pokrywaj ˛

a si˛e, nazywamy p˛etl ˛

a.

1.11

Słowa

Słowa s ˛

a to ci ˛

agi liter lub symboli z jakiego´s sko´nczonego zbioru

Σ. Zbiór Σ nazywamy

wtedy alfabetem. Zbiór wszystkich słów nad alfabetem

Σ oznaczamy przez

Σ

.

W´sród słów wyró˙zniamy słowo puste

λ, które nie zawiera ˙zadnych liter.

Przykład 1.22 Na przykład, je˙zeli

Σ = {a, b}, to Σ

zawiera słowo puste

λ, dwa słowa

jednoliterowe

a i b, cztery słowa dwuliterowe aa, ab, ba i bb, osiem słów trzyliterowych

aaa, aab, aba i abb, baa, bab, bba i bbb, i tak dalej.

Długo´s´c słowa

w ∈ Σ jest to liczba jego liter, b˛edziemy j ˛

a oznacza ´c przez

|w|. Dłu-

go´s´c słowa pustego

|λ| = 0. Zbiór wszystkich słów długo´sci n nad alfabetem Σ oznacza-

my przez

Σ

n

.

Dla słów mo˙zemy okre´sli´c operacj˛e konkatenacji, lub składania słów. Konkatenacja (lub
zło˙zenie) dwóch słów

u, v ∈ Σ, oznaczana przez uv, jest to sklejenie słów u i v. Do słowa

u dopisujemy na ko´ncu słowo v. Dla dowolnego słowa v ∈ Σ

zachodzi

λv = vλ = v.

Przykład 1.23 Konkatenacja słów

u = aaba i v = abba to sówo uv = aabaabba.

Słowo

u jest prefiksem lub przedrostkiem słowa v, je˙zeli istnieje takie słowo w, ˙ze

v = uw. Podobnie, słowo u jest sufiksem lub przyrostkiem słowa v, je˙zeli istnieje takie
słowo

w, ˙ze v = wu.

Przykład 1.24 Na przykład

aba jest prefiksem słowa abaaab, a słowo ab jest sufiksem

słowa

abaaab. Słowo puste jest prefixem i sufiksem dowolnego słowa v. Ka˙zde słowo v

jest swoim własnym prefiksem i sufiksem.

Zwykle alfabet jest zbiorem uporz ˛

adkowanym, lub mówi ˛

ac inaczej mamy pewn ˛

a ko-

lejno´s´c liter w alfabecie. Na przykład w zbiorze

Σ = {a, b} litera a stoi przed b. Mo˙zemy

wtedy uporz ˛

adkowa´c zbiór słów nad alfabetem

Σ.

Jeden porz ˛

adek nazywa si˛e porz ˛

adkiem leksykograficznym. Jest to porz ˛

adek słów w

słownikach. Aby porówna´c dwa słowa

u, v ∈ Σ, szukamy pierwszej pozycji, na której te

dwa słowa si˛e ró˙zni ˛

a. Słowo, które ma na tej pozycji wcze´sniejsz ˛

a liter˛e, jest wcze´sniejsze

w porz ˛

adku leksykograficznym. Je˙zeli takiej pozycji nie ma, to albo

u = v, albo jedno

ze słów jest prefiksem drugiego, wtedy wcze´sniejszy w porz ˛

adku leksykograficznym jest

prefiks.

Przykład 1.25 W porz ˛

adku leksykograficznym słowo

ab jest wcze´sniejsze od słowa ababa,

a to jest wcze´sniejsze od

abb.

background image

1.12. Zaokr ˛

aglenia

15

Porz ˛

adek leksykograficzny jest wygodny, je˙zeli zbiór słów jest sko ´nczony. Zauwa˙zmy, ˙ze

w zbiorze wszystkich słów

{a, b}

niesko´nczenie wiele słów (wszystkie słowa zło˙zone

tylko z litery

a) poprzedza słowo b. Dlatego czasami stosuje si˛e inny porz ˛

adek, tak zwany

porz ˛

adek kanoniczny.

Słowo

u poprzedza słowo v w porz ˛

adku kanonicznym, je˙zeli:

• albo |u| < |v|,

• albo |u| = |v| i u poprzedza v w porz ˛

adku leksykograficznym.

Przykład 1.26 Pocz ˛

atkowe słowa zbioru

{a, b}

uporz ˛

adkowane według porz ˛

adku kano-

nicznego to:

λ, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab, bba, bbb, aaaa, . . .

1.12

Zaokr ˛

aglenia

Wprowad´zmy dwa oznaczenia na zaokr ˛

aglenie liczby rzeczywistej. Dla dowolnej liczby

rzeczywistej

x

dxe oznacza zaokr ˛

aglenie

x w gór˛e do najbli˙zszej liczby całkowitej.

bxc oznacza zaokr ˛

aglenie

x w dół do najbli˙zszej liczby całkowitej.

Zaokr ˛

aglenie

dxe nazywamy sufitem z x, a zaokr ˛

aglenie

bxc nazywamy podłog ˛

a z

x.

Przykład 1.27

d4e = 4,

d4.3e = 5,

d−4e = −4,

d−4.3e = −4.

b4c = 4,

b4.3c = 4,

b−4c = −4,

b−4.3c = −5.

1.13

Przedrostki

W przypadku bardzo du˙zych lub bardzo małych warto´sci u˙zywa si˛e czasami jednostek
miar b˛ed ˛

acych wielokrotno´sciami lub podwielokrotno´sciami podstawowych jednostek.

Takie jednostki wyra˙za si˛e przez dodanie do nazwy jednostki odpowiedniego przedrostka,
a do oznaczenia tej jednostki dodaje si˛e oznaczenie przedrostka. W nast˛epuj ˛

acej tabeli

zebrano te przedrostki.

background image

16

Rozdział 1. Podstawowe poj˛ecia, oznaczenia

Przedrostek

Oznaczenie

Wielokrotno´s´c

exa

E

10

18

peta

P

10

15

tera

T

10

12

giga

G

10

9

mega

M

10

6

kilo

k

10

3

hekto

h

10

2

deka

da

10

Przedrostek

Oznaczenie

Podwielokrotno´s´c

decy

d

10

1

centy

c

10

2

mili

m

10

3

mikro

µ

10

6

nano

n

10

9

piko

p

10

12

femto

f

10

15

atto

a

10

18

Przykładami tak utworzonych jednostek s ˛

a: centymetr (cm), milimetr (mm), hehtopa-

skal, hektolitr, kilogram (kg), kilowat (kW). Do mierzenia pr˛edko´sci (zegara) procesora
u˙zywa si˛e megahertzów. Jeden megahertz (MHz) to jednostka cz˛esto´sci równa miliono-
wi impulsów na sekund˛e. Kilobajtów, megabajtów i gigabajtów u˙zywa si˛e do mierzenia
liczby komórek pami˛eci. Cz˛esto przyjmuje si˛e, ˙ze kilobajt ma

1024 bajtów, megabajt

1024 × 1024 bajtów, a gigabajt 1024 × 1024 × 1024 bajtów.

1.14

Notacja asymptotyczna

W analizie jakiego´s algorytmu (programu) wa˙zne jest oszacowanie jego czasu działania.
Jako przykład we´zmy algorytm sortowania b ˛

abelkowego, który ustawia elementy ci ˛

agu

wej´sciowego w porz ˛

adku niemalej ˛

acym.

Algorytm sortowania b ˛

abelkowego.

Dane wej´sciowe: ci ˛

ag

a

1

,

a

2

, ... ,

a

n

.

Dane wyj´sciowe: elementy ci ˛

agu w porz ˛

adku niemalej ˛

acym.

n − 1 razy wykonuj

(1) wska˙z na pierwszy element,
(2)

n − 1 razy wykonuj:

(2a) porównaj wskazany element z elementem nast˛epnym,
(2b) je˙zeli porównane elementy s ˛

a w niewła´sciwej kolejno´sci,

to zamie´n je miejscami,

(2c) wska˙z na nast˛epny element.

W poni˙zszej tabeli zilustrowano zastosowanie algorytmu dla ci ˛

agu

(3, 4, 1, 2).

background image

1.14. Notacja asymptotyczna

17

ˆ

3

4

1

2

3

ˆ

4

1

2

3

1

ˆ

4

2

ˆ

3

1

2

4

1

ˆ

3

2

4

1

2

ˆ

3

4

ˆ

1

2

3

4

1

ˆ

2

3

4

1

2

ˆ

3

4

Kolejne wiersze przedstawiaj ˛

a ci ˛

ag po kolejnych porównaniach. Element aktualnie wska-

zany jest zaznaczony daszkiem.

Poprawno´s´c powy˙zszego algorytmu wynika z faktu, ˙ze po pierwszym wykonaniu ze-

wn˛etrznej p˛etli (instrukcje (1) i (2)) najwi˛ekszy element ci ˛

agu znajdzie si˛e na ko ´ncu, po

drugim wykonaniu p˛etli drugi najwi˛ekszy element ci ˛

agu znajdzie si˛e na przedostatniej

pozycji, i tak dalej. Po ka˙zdym kolejnym wykonaniu p˛etli kolejny najwi˛ekszy element
znajdzie swoj ˛

a wła´sciw ˛

a pozycj˛e. Czas działania algorytmu zale˙zy od

n — liczby ele-

mentów w ci ˛

agu. P˛etla zewn˛etrzna (instrukcje (1) i (2)) jest wykowywana

n − 1 razy.

W ka˙zdej iteracji p˛etli zewn˛etrznej p˛etla wewn˛etrzna (instrukcje (2a), (2b) i (2c)) rów-
nie˙z jest wykonywana

n − 1 razy. W ka˙zdym kolejnym wykonaniu p˛etli wewn˛etrznej

algorytm wykonuje kilka kroków. Tak wi˛ec, aby posortowa ´c ci ˛

ag długo´sci

n algorytm w

sumie wykonuje

c(n − 1)

2

kroków, gdzie

c jest pewn ˛

a stał ˛

a.

Czas pracy powy˙zszego algorytmu został oszacowany z dokładno´sci ˛

a do stałej. Jest

to powszechna praktyka i b˛edziemy tak post˛epowa´c w tej ksi ˛

a˙zce. Do szacowania czasu

pracy algorytmu (jego zło˙zono´sci czasowej) i do porównywania algorytmów pod wzgl˛e-
dem czasu działania b˛edziemy u˙zywa´c notacji asymptotycznej. Niech

f i g b˛ed ˛

a dwiema

funkcjami okre´slonymi na zbiorze liczb naturalnych o warto´sciach w zbiorze dodatnich
liczb rzeczywistych

f, g : N → {x|x ∈ R, x > 0}.

Wtedy:

• g(n) = O(f (n)), je˙zeli istnieje dodatnia stała c > 0 taka, ˙ze g(n) ≤ c · f (n)

dla prawie wszystkich

n ∈ N, to znaczy istnieje n

0

, takie, ˙ze

g(n) ≤ c · f (n) dla

ka˙zdego

n ≥ n

0

. W takim przypadku mówimy, ˙ze funkcja

g jest O du˙ze od f .

• g(n) = o(f (n)), je˙zeli lim

n→∞

g

(n)

f

(n)

= 0. W takim przypadku mówimy, ˙ze funk-

cja

g jest o małe od f .

• g(n) = Ω(f (n)), je˙zeli istnieje dodatnia stała c > 0 taka, ˙ze g(n) ≥ c · f (n) dla

prawie wszystkich

n ∈ N. W takim przypadku mówimy, ˙ze funkcja g jest Omega

du˙ze od

f .

• g(n) = Θ(f (n)), je˙zeli istniej ˛

a dwie dodatnie stałe

c

1

, c

2

> 0 takie, ˙ze c

1

· f (n) ≤

g(n) ≤ c

2

· f (n) dla prawie wszystkich n ∈ N. W takim przypadku mówimy, ˙ze

funkcja

g jest Theta du˙ze od f .

background image

18

Rozdział 1. Podstawowe poj˛ecia, oznaczenia

Je˙zeli

g(n) = O(f (n)), to mówimy, ˙ze funkcja f ogranicza z góry funkcj˛e g(n) (z

dokładno´sci ˛

a do stałej), albo, ˙ze rz ˛

ad funkcji

g jest nie wi˛ekszy od rz˛edu funkcji f .

Przykład 1.28

Czas działania algorytmu sortowania b ˛

abelkowego jest

O(n

2

).

• n = O(3n − 2).

• 3n − 2 = O(n).

• n

3

+ n

2

− n = O(n

3

).

• n

3

= O(2

n

).

• n

2

log n = O(n

3

).

B˛edziemy dopuszcza´c notacj˛e asymptotyczn ˛

a tak˙ze wobec funkcji, które s ˛

a dodatnie

dla prawie wszystkich liczb naturalnych. Na przykład

n

2

− 3n = O(n

2

).

Je˙zeli

g(n) = o(f (n)), to mówimy, ˙ze g jest ni˙zszego rz˛edu ni˙z f .

Przykład 1.29

• n

2

= o(n

3

).

• n = o(n log n).

• n

3

= o(2

n

).

Je˙zeli

g(n) = Θ(f (n)), to g i f s ˛

a tego samego rz˛edu, czyli

g(n) = O(f (n)) oraz

f (n) = O(g(n)).

Przykład 1.30

• n

2

= Θ(n

2

+ n).

• n = Θ(n + log n).

Nast˛epuj ˛

acy lemat jest bardzo u˙zyteczny przy szacowaniu asymptotycznym. Jego do-

wód zostawiamy jako ´cwiczenie.

Lemat 1.31 Je˙zeli granica

lim

g

(n)

f

(n)

istnieje i jest wła´sciwa (nie jest równa

), to g(n) =

O(f (n)).

Wniosek 1.32 Je˙zeli

g(n) = o(f (n)), to g(n) = O(f (n)).

Nast˛epuj ˛

acy przykład pokazuje, ˙ze oszacowanie asymptotyczne mo˙ze by ´c czasem zawod-

ne.

Przykład 1.33 We´zmy dwie funkcje

f (n) = 300n oraz g(n) = n log

2

n. Mamy f (n) =

o(g(n)), ale f (n) ≥ g(n) dla wszystkich n ≤ 2

300

, czyli dla wszystkich liczb mniejszych

od liczby atomów w naszej galaktyce (porównaj podrozdział du˙ze liczby w rozdziale o
arytmetyce).

background image

1.15. Wielomiany

19

Z drugiej jednak strony oszacowanie asymptotyczne wystarczy do naszych celów i

jest łatwiejsze do uzyskania.

Przykład 1.34 Rozwa˙zmy trzy algorytmy: pierwszy działaj ˛

acy w czasie

f

1

(n) = c

1

n,

drugi w czasie

f

2

(n) = c

2

n

3

i trzeci w czasie

f

3

(n) = c

3

2

n

. Funkcje te okre´slaj ˛

a czas

działania na pewnym konkretnym komputerze. Niech

n

1

,

n

2

i

n

3

oznazczaj ˛

a długo´sci

wej´s´c, dla których algorytmy daj ˛

a odpowied´z w ci ˛

agu jednej sekundy, to znaczy

f

1

(n

1

) =

f

2

(n

2

) = f

3

(n

3

) = 1s.

Przypu´s´cmy teraz, ˙ze mamy 1000 razy szybszy komputer i pytamy jakie wej´scia teraz

mog ˛

a by´c policzone przez te algorytmy w ci ˛

agu jednej sekundy.

Dla pierwszego algorytmu działaj ˛

acego w czasie liniowym mo˙zemy teraz oblicza´c

1000 razy dłu˙zsze dane wej´sciowe, poniewa˙z

f

1

(1000n

1

) = 1000f

1

(n

1

). Dla drugie-

go algorytmu działaj ˛

acego w czasie sze´sciennym mo˙zemy teraz oblicza´c 10 razy dłu˙zsze

dane wej´sciowe, poniewa˙z

f

2

(10n

2

) = 1000f

2

(n

2

). Dla trzeciego algorytmu działaj ˛

a-

cego w czasie wykładniczym mo˙zemy teraz oblicza´c tylko dane wej´sciowe o 10 dłu˙zsze,
poniewa˙z

f

3

(n

3

+ 10) = 1024f

3

(n

3

).

1.15

Wielomiany

Wielomian jest to funkcja postaci

P (x) = a

n

· x

n

+ · · · + a

0

,

gdzie

x jest zmienn ˛

a rzeczywist ˛

a, a

a

0

,

a

1

, ... ,

a

n

s ˛

a stałymi rzeczywistymi, nazywanymi

współczynnikami wielomianu. Stopniem wielomianu

P (x) jest najwi˛eksze takie k, ˙ze

a

k

6= 0, stopie´n oznaczamy, przez st(W (x)). Zwykle pisz ˛

ac

P (x) = a

n

· x

n

+ · · · + a

0

b˛edziemy zakłada´c, ˙ze

a

n

6= 0, czyli ˙ze stopie´n st(P (x)) = n. U˙zywaj ˛

ac symbolu sumy

wielomian mo˙zemy przedstawi´c w nast˛epuj ˛

acy sposób:

P (x) =

n

X

i

=0

a

i

x

i

.

Wielomian, którego wszystkie współczynniki s ˛

a równe zeru nazywamy wielomianem ze-

rowym. Dwa wielomiany

P (x) =

P

n
i

=0

a

i

x

i

oraz

Q(x) =

P

n
i

=0

b

i

x

i

s ˛

a równe je˙zeli

maj ˛

a takie same wspólczynniki, to znaczy je˙zeli

a

i

= b

i

dla ka˙zdego

i.

Wielomiany mo˙zna dodawa´c, odejmowa´c lub mno˙zy´c. Suma, ró˙znica i iloczyn wie-

lomianów

P (x) i Q(x) okre´slone s ˛

a nast˛epuj ˛

aco:

• P (x) + Q(x) =

P

n
i

=0

(a

i

+ b

i

)x

i

,

• P (x) − Q(x) =

P

n
i

=0

(a

i

− b

i

)x

i

,

• P (x) · Q(x) =

P

2n
i

=0

c

i

x

i

,

gdzie

c

i

=

P

i
k

=0

a

k

· b

i−k

oraz

a

k

= 0 i b

k

= 0

dla wszystkich

k > n.

background image

20

Rozdział 1. Podstawowe poj˛ecia, oznaczenia

Wzór na iloczyn wielomianów wygl ˛

ada skomplikowanie, ale jest on równowa˙zny szkol-

nemu sposobowi mno˙zenia wielomianów, gdzie wyrazy (jednomiany) obu wielomianów
wymna˙za si˛e ka˙zdy z ka˙zdym a nast˛epnie grupuje wyrazy według wykładników. Wielo-
mian

P (x) mo˙zna pomno˙zy´c przez stał ˛

a

a

a · P (x) =

n

X

i

=0

a · a

i

x

i

.

Przykład 1.35 Niech

P (x) = x

2

+ 2x + 1 oraz Q(x) = 2x

2

+ x. Wtedy

P (x) + Q(x) = 3x

2

+ 3x + 1

P (x) · Q(x) = 2x

4

+ 5x

3

+ 4x

2

+ x

3 · P (x) = 3x

2

+ 6x + 3

1.15.1

Dzielenie wielomianów

Wielomiany mo˙zna te˙z dzieli´c. Mamy

Twierdzenie 1.36 Dla dowolnych dwóch wielomianów

W (x) i V (x) istniej ˛

a dwa wielo-

miany

Q(x) i R(x) takie ˙ze

(a)

W (x) = V (x) · Q(x) + R(x)

(b)

st(R(x)) < st(V (x))

Wielomian

Q(x) nazywamy ilorazem a R(x) reszt ˛

a z dzielenia

W (x) przez V (x). Iloraz

i reszta s ˛

a wyznaczone jednoznacznie, to znaczy istnieje tylko jedna para

Q(x), R(x)

spełniaj ˛

aca warunki (a) i (b).

Dowód: Najpierw przedstawimy

Algorytm dzielenia wielomianów

Dane wej´sciowe: Dwa wielomiany

W (x) = a

n

x

n

+· · ·+a

0

oraz

V (x) = b

m

x

m

+· · ·+b

0

.

Zakładamy przy tym, ˙ze

a

n

6= 0 i b

m

6= 0, czyli ˙ze W (x) jest stopnia n, a V (x) jest

stopnia

m.

Dane wyj´sciowe: iloraz

Q(x) oraz reszta R(x)

Podstaw

Q(x) := 0 oraz R(x) := W (x);

dopóki

st(R(x)) = k ≥ m wykonuj:
Niech

c

k

x

k

b˛edzie składnikiem

R(x) z najwy˙zszym wykładnikiem.

Podziel

c

k

x

k

przez

b

m

x

m

.

Podstaw

Q(x) := Q(x) +

c

k

b

m

x

k−m

Podstaw

R(x) := R(x) −

c

k

b

m

x

k−m

· V (x)

Je˙zeli

st(R(x)) < m, to
koniec, para

Q(x), R(x) spełnia warunki (a) i (b).

background image

1.15. Wielomiany

21

Aby udowodni´c, ˙ze przedstawiony algorytm poprawnie oblicza iloraz i reszt˛e, poka-

˙zemy, przez indukcj˛e, ˙ze warunek (a) jest spełniony po ka˙zdym kolejnym wykonaniu p˛etli

dopóki. Na pocz ˛

atku welomiany

Q(x) = 0 oraz R(x) = W (x) spełniaj ˛

a warunek (a).

Oznaczmy warto´sci wielomianów

Q(x) i R(x) przed i -tym wykonaniem p˛etli dopóki

przez

Q

1

(x) i R

1

(x), a warto´sci po i -tym wykonanu p˛etli przez Q

2

(x) i R

2

(x). Zakła-

damy przy tym, ˙ze

W (x) = V (x) · Q

1

(x) + R

1

(x), ˙ze stopie´n st(R

1

(x)) ≥ m, oraz ˙ze

c

k

x

k

jest składnikiem

R

1

(x) z najwie˛ekszym wykładnikiem. W trakcie i-tego wykonania

p˛etli nast ˛

api ˛

a podstawienia

Q

2

(x) := Q

1

(x) +

c

k

b

m

x

k−m

oraz

R

2

(x) := R

1

(x) −

c

k

b

m

x

k−m

· V (x).

Mamy teraz

R

1

(x) :=

c

k

b

m

x

k−m

· V (x) + R

2

(x)

oraz

W (x) = Q

1

(x)·V (x)+R

1

(x) = (Q

1

(x)+

c

k

b

m

x

k−m

)·V (x)+R

2

(x) = Q

2

(x)·V (x)+R

2

(x),

czyli

Q(x) oraz R(x) spełniaj ˛

a warunek (a) po

i tym wykonaniu p˛etli.

Zauwa˙zmy, ˙ze stopie ´n wielomianu

R

2

(x) jest mniejszy od stopnia wielomianu R

1

(x),

poniewa˙z w wielomianie

R

2

(x) = R

1

(x) −

c

k

b

m

x

k−m

· V (x). współczynnik przy x

k

jest

równy

0 i stopie´n st(R

2

(x)) < k. Tak wi˛ec p˛etla (3) nie mo˙ze si˛e wykonywa´c wi˛ecej ni˙z

n − m razy. Po wyj´sciu z p˛etli stopie´n st(R(x) < st(V (x)), czyli spełniony jest warunek
(b).

Pokazali´smy wi˛ec, ˙ze wielomian

W (x) mo˙zna przedstawi´c w postaci W (x) = Q(x) ·

V (x) + R(x) tak, ˙zeby st(R(x)) < st(V (x)). Teraz poka˙zemy, ˙ze iloraz Q(x) i reszta
R(x) s ˛

a wyznaczone jednoznacznie. Przypu´s´cmy bowiem, ˙ze

W (x) = Q

1

(x)V (x) + R

1

(x)

oraz

W (x) = Q

2

(x)V (x) + R

2

(x)

i ˙ze

st(R

1

(x)), st(R

2

(x)) < st(V (x)). Po odj˛eciu tych równo´sci stronami otrzymamy

0 = (Q

1

(x) − Q

2

(x))V (x) + (R

1

(x) − R

2

(x)).

Je˙zeli wielomiany

Q

1

(x) 6= Q

2

(x), to wielomian (Q

1

(x) − Q

2

(x))V (x) ma stopie´n

wi˛ekszy lub równy od

st(V (x)), a wielomian R

1

(x) − R

2

(x) ma stopie´n mniejszy od

st(V (x)), wi˛ec ich suma nie mo˙ze by´c wielomianem zerowym. Doszli´smy wi˛ec do sprzecz-
no´sci, czyli

Q

1

(x) = Q

2

(x), z tego za´s wynika, ˙ze R

1

(x) = R

2

(x).

Przykład 1.37 Podzielmy wielomian

W (x) = 8x

3

+ 6x

2

+ 3x + 2 przez wielomian

V (x) = 2x − 1 według opisanego wy˙zej algorytmu.

background image

22

Rozdział 1. Podstawowe poj˛ecia, oznaczenia

Najpierw podstawiamy

Q(x) := 0 oraz R(x) := 8x

3

+ 6x

2

+ 3x + 2. Poniewa˙z

st(R(x)) = 3 > 1 = st(V (x)) przechodzimy do p˛etli dopóki Dzielimy składnik 8x

3

przez

2x otrzymuj ˛

ac

4x

2

i podstawiamy

R(x) := R(x) − 4x

2

V (x) = 8x

3

+ 6x

2

+ 3x + 2 − 4x

2

(2x − 1) = 10x

2

+ 3x + 2.

oraz

Q(x) := Q(x) + 4x

2

= 4x

2

.

Zauwa˙zmy, ˙ze spełniony jest warunek

W (x) = Q(x) · V (x) + R(x).

Poniewa˙z

st(R(x)) jest wi˛ekszy od 1 wykonujemy ponownie instrukcje p˛etli. Dzielimy

składnik

10x

2

przez

2x otrzymuj ˛

ac

5x i podstawiamy

R(x) := R(x) − 5xV (x) = 10x

2

+ 3x + 2 − 5x(2x − 1) = 8x + 2.

oraz

Q(x) := Q(x) + 5x = 4x

2

+ 5x.

(warunek

W (x) = Q(x) · V (x) + R(x) jest spełniony).

Stopie´n

st(R(x)) jest równy 1, wi˛ec wykonujemy ponownie instrukcje p˛etli. Dzielimy

składnik

8x przez 2x otrzymuj ˛

ac

4 i podstawiamy

R(x) := R(x) − 4V (x) = 8x + 2 − 4(2x − 1) = 6.

oraz

Q(x) := Q(x) + 4 = 4x

2

+ 5x + 4.

Warunek

W (x) = Q(x) · V (x) + R(x) jest spełniony i teraz stopie´n st(R(x)) = 0 < 1

wi˛ec algorytm ko´nczy prac˛e. Wielomian

Q(x) = 4x

2

+ 5x + 2 jest ilorazem a wielomian

R(x) = 6 reszt ˛

a.

1.15.2

Schemat Horna

Aby obliczy´c warto´s´c wielomianu

P (x) w jakim´s konkretnym punkcie x

0

mogliby´smy

bezpo´srednio skorzysta´c ze wzoru

P (x

0

) =

P

n
i

=0

a

i

x

i

0

. W ten sposób potrzebujemy, w

najgorszym przypadku, około

n

2

mno˙ze´n. Istnieje jednak sposób wymagaj ˛

acy tylko

n

mno˙ze´n. Nale˙zy oblicza´c warto´s´c wielomianu według schematu

P (x

0

) = ((. . . (a

n

· x

0

+ a

n−

1

) · x

0

+ a

n−

2

) · x

0

+ · · · a

1

) · x

0

+ a

0

.

Jest to tak zwany schemat Horna. Dokładniej mo˙zemy go przedstawi ´c nast˛epuj ˛

aco:

Algorytm obliczania warto´sci wielomianu, schemat Horna

Dane wej´sciowe: współczynniki

a

0

,

a

1

, ... ,

a

n

wielomianu

P (x) = a

n

· x

n

+ · · · + a

0

oraz argument

x

0

.

Dane wyj´sciowe: warto´s´c wielomianu

y

0

= P (x

0

) = a

n

x

n

0

+ · · · + a

1

x

0

+ a

0

.

y

0

:= a

n

;

dla kolejnych

i od 1 do n wykonuj

y

0

:= y

0

· x

0

+ a

n−i

background image

1.16. Zadania

23

1.15.3

Pierwiastki wielomianu

Pierwiastkiem wielomianu

W (x) jest ka˙zda liczba rzeczywista a, która podstawiona do

wielomianu da warto´s´c

W (a) = 0. Zachodzi

Twierdzenie 1.38 (Bézout) Liczba

a jest pierwiastkiem wielomianu W (x) wtedy i tylko

wtedy, gdy

W (x) dzieli si˛e przez x−a, czyli, gdy istnieje wielomian Q(x) taki, ˙ze W (x) =

Q(x)(x − a).

Dowód: Je˙zeli

W (x) = Q(x)(x − a), to W (a) = Q(a)(a − a) = 0.

Niech teraz

W (a) = 0. Podzielmy W (x) przez x − a, otrzymamy

W (x) = Q(x)(x − a) + R(x)

przy czym stopie ´n

R(x) jest mniejszy od 1, czyli jest stał ˛

a

R(x) = r. Wstawiaj ˛

ac teraz

a

do obu stron otrzymamy

0 = Q(a)(a − a) + r,

czyli

r = 0 i W (x) = Q(x)(x − a).

2

Wniosek 1.39 Je˙zeli wielomian nie jest to˙zsamo´sciowo równy zero, to liczba jego pier-
wiastków nie jest wi˛eksza od jego stopnia.

Dowód: Niech

a

1

,...,

a

k

b˛ed ˛

a ró˙znymi pierwiastkami wielomianu

W (x). Z twierdzenia

Bézout mamy

W (x) = Q

1

(x)(x − a

1

). Po podstawieniu a

2

mamy

0 = W (a

2

) =

Q

1

(a

2

)(a

2

− a

1

), czyli a

2

, jest pierwiastkiem wielomianu

Q

1

(x). Korzystaj ˛

ac znowu

z twierdzenia Bézout otrzymamy

W (x) = Q

2

(x)(x − a

2

)(x − a

1

), i tak dalej. W ko´ncu

otrzymamy, ˙ze

W (x) jest postaci W (x) = Q(x)(x − a

k

) · · · (x − a

2

)(x − a

1

), czyli

stopie´n

W (x) musi by´c wi˛ekszy od k.

1.16

Zadania

1. Oblicz: a)

P

4
i

=1

i2

i

,

b)

P

3
k

=1

k

3

,

c)

P

4
n

=1

(n

2

−1), d)

P

3
i

=1

P

2
j

=1

ij

2

,

e)

P

2
k

=1

P

4
n

=1

(k − n),

2. Oblicz: a)

Q

5
i

=1

(i + 1), b)

Q

4
k

=1

(2k + 1), c)

Q

4
n

=1

(n

2

− 1).

3. Niech

A = {1, 2, 3, 4, 5}, B = {1, 3, 5, 7} i C = {4, 5, 6, 7, 8}. Oblicz A ∪ B ∪ C,

A ∩ B ∩ C, A − B, A ∩ (B − C), A ⊕ B, A ⊕ B ⊕ C.

4. Niech

I = {1, 2, 3, 4, 5} b˛edzie zbiorem indeksów. Dla ka˙zdego i ∈ I okre´slamy

zbór

B

i

= {x ∈ N | i ≤ x ≤ 2i}. Oblicz

S

i∈I

B

i

,

T

i∈I

B

i

,

B

1

⊕ B

3

⊕ B

5

oraz

B1 ⊕ B

2

⊕ B

3

⊕ B

4

⊕ B

5

.

5. Niech

I = {1, 2, 3, 4, 5}. Dla ka˙zdego i ∈ I mamy A

i

= {3i − 3, 3i, 3i + 3}.

Oblicz

S

i∈I

A

i

,

T

i∈I

A

i

, oraz

A

1

⊕ A

2

⊕ B

3

⊕ B

4

⊕ A

5

.

background image

24

Rozdział 1. Podstawowe poj˛ecia, oznaczenia

6. Niech

I = {1, 2, 3, 4, 5} b˛edzie zbiorem indeksów. Dla ka˙zdego i ∈ I okre´slamy

zbór

C

i

= {x ∈ N | 1 ≤ x ≤ 30 oraz i dzieli x}. Oblicz

S

i∈I

C

i

oraz

T

i∈I

C

i

.

7. Niech

A = {1, 2, 3, 4}, B = {1, 2, 3}. Wypisz elementy A × B, B × A oraz

{(a, b) ∈ A × B | a < b}.

8. Niech

X = {a, b, c}. Wypisz elementy X

2

,

X

3

oraz

{(x, y) ∈ X

2

| x 6= y}.

9. Wypisz wszystkie podzbiory: a) zbioru pustego

∅, b) zbioru {a}, c) zbioru {a, b, c, d}.

10. Udowodnij, ˙ze

A ⊂ B wtedy i tylko wtedy gdy A ∩ B = A.

11. Narysuj wszystkie grafy ze zbiorem wierzchołków

V = {a, b, c}. Które z nich s ˛

a

spójne?

12. Narysuj wszystkie drzewa ze zbiorem wierzchołków

V = {a, b, c}.

13. Narysuj wszystkie grafy skierowane ze zbiorem wierzchołków

V = {a, b}.

14. Narysuj graf

G = (V, E), ze zbiorem wierzchołków V = {a, b, c, d, e} i zbiorem

kraw˛edzi

E = {{a, b}, {a, c}, {b, c}, {a, d}, {d, e}}. Czy graf G jest spójny? Czy

posiada cykle?

15. Narysuj graf skierowany

G = (V, E), ze zbiorem wierzchołków V = {a, b, c, d} i

zbiorem kraw˛edzi

E = {(a, b), (b, c), (c, b), (c, d), (d, d)}.

16. Wypisz 10 pierwszych słów zbioru

{a, b, c}

według porz ˛

adku leksykograficznego

i kanonicznego.

17. Wypisz wszystkie prefiksy i sufiksy słowa

aaba.

18. Uporz ˛

adkuj nast˛epuj ˛

acy zbiór słów według porz ˛

adku leksykograficznego i kano-

nicznego: słowik, wróbel, kos, jaskółka, kogut, dzi˛ecioł, gil, kukułka, szczygieł,
sowa, kruk, czubatka, drozd, sikora i dzierlatka, kaczka, g ˛

aska, jemiołuszka, dudek,

trznadel, po´smieciuszka, wilga, zi˛eba, bocian, szpak. [Fragment wiersza Ptasie ra-
dio Juliana Tuwima]

19. Udowodnij wzory (1.1), (1.2), (1.3), (1.4).

20. Udowodnij lemat 1.31,

21. Udowodnij zale˙zno´sci z przykładów 1.28, 1.29, 1.30.

22. Niech

x, y b˛ed ˛

a dowolnymi liczbami rzeczywistymi, a

k dowoln ˛

a liczb ˛

a całkowit ˛

a.

Udowodnij nast˛epuj ˛

ace zale˙zno´sci:

bx + yc ≥ bxc + byc.

bx + kc = bxc + k.

dx + ye ≤ dxe + dye.

dx + ke = dxe + k.

background image

1.16. Zadania

25

23. Podaj przykład liczb rzeczywistych

x i y, dla których zachodzi a) bx + yc > bxc +

byc, b) dx + ye < dxe + dye.

24. Podaj przykład liczby rzeczywistej

x i liczby całkowitej k, dla których zachodzi

dk · xe < k · dxe.

25. Za pomoc ˛

a algorytmu sortowania b ˛

abelkowego posortuj ci ˛

agi: a) 1,3,5,4,2;

b)

8,1,6,3,4,5,2,7.

26. Dane s ˛

a dwa wielomiany

U (x) = 4x

3

+ 3x + 2 oraz V (x) = 2x

4

+ x

2

+ 3x. Oblicz

ich sum˛e oraz iloczyn. Oblicz według schematu Horna warto´sci

U (1) oraz V (1).

27. Podziel wielomian

U (x) = 4x

4

+ 3x

2

+ x − 2 przez V (x) = x

2

+ x.


Wyszukiwarka

Podobne podstrony:
Matematyka dyskretna 2004 01 Podstawowe pojęcia, oznaczenia
Matematyka dyskretna 2002 01 Oznaczenia
Matematyka dyskretna 2002 01 Oznaczenia
Folie 01 Podstawowe pojęcia 2
01 podstawowe pojecia
Wykład 01 Podstawowe pojęcia 2010
Matematyka dyskretna 2004 04 Rachunek prawdopodobieństwa
Matematyka dyskretna 2004 06 Teoria liczb
01 Podstawowe pojecia rachunku zbiorow
Folie 01 Podstawowe pojecia 2010
01 Podstawowe pojęcia patofizjologiiid 2628 ppt
(27 53) 01 Podstawowe Pojęcia I Zasady Retoryki
Matematyka dyskretna 2004 04 Rachunek prawdopodobieństwa
Folie 01 Podstawowe pojęcia 2
Matematyka dyskretna 2004 06 Teoria liczb

więcej podobnych podstron