background image

Graf (lub

siec)

sklada

si~ ze zbioru

punkt6w

zwanych

wierzcholkami,

pol~czonych

parami

przez

zbi6r

linii

zwanych

galeziami

(takze

zwanych

kraw~dziami

lub wi~zaniami).

Na

przyklad

rysunek

1.1 przedstawia

graf z 6 wierzcholkami

i 8

gal~ziami.

M6wimy,

ze j akas gal~i

pol~czona

z wierzcholkiem

jest

incydentna

z tym wierzcholkiem.

Pytla jest

gal~zi~,

kt6ra

l~czy

dany wierzcholek

ze samym

sob~.

Graf bez p~tli jest

zwany

prostym.

Wierzcholek,

kt6ry

nie ma gal~zi

incydentnych

z nim jest

zwany

izolowanym.

Graf jest

zwany

pohczonym

(lub w pelni

zdefiniowanym),

jesli

nie ma

wierzcholk6w

izolowanych.

We wszystkich

trzech

pro blemach

wspomnianych

wczesniej

zakladamy,

ze zwi~zane

z nimi

grafy

s~

proste

i POfqCZone.

Lancuch

pomi~dzy

dwoma

wierzcholkami

jest

sekwencj~

gal~zi,

l~cz~cych

te dwa wierzcholki.

Na przyklad

sekwencja

gal~zi

(1, 2),

(2, 5), i (5, 3) tworzy

lancuch

l~cz~cy

wierzcholki

1 i 3.

Sciezka

jest

skierowanym

lancuchem.

Na przyklad

w powyzszym

lancuchu

jesli

wyszczeg61nimy

kierunek

podr6zy

od wierzcholka

1

do 3 (jak odwrotnosc

3 do 1), lancuch

jest

sciezk~.

'

background image

Cykl jest

lancuchem,

kt6ry

l~czy wierzcholek

ze samym

sob~. Na

przyklad

lancuch

(1,2),

(2, 3) i (3, 1) jest

cyklem.

Podgraf

moze

bye tworzony

przez

usuni~cie

pewnych

gal~zi

z grafu.

Drzewo

jest

pol~czonym

podgrafem

bez cykli.

Gal~i

ze zwrotem

kierunku

jest

zwana

skierowana.

Graf,

kt6rego

wszystkie

gal~zie

s~ skierowane

jest

nazywany

skierowanym

(lub

zorientowanym)

grafem.

Rysunek

1.2 przedstawia

skierowany

graf z

6 wierzcholkami

i 11 gal~ziami.

W grafie

skierowanym

moze nie bye sciezki

mi~dzy

dwoma

wierzcholkami,

np. jesli

odwr6cimy

kierunek

gal~zi

(5, 2) nie ma

sciezki

mi~dzy

wierzcholkami

1 a 2.

background image

PROBLEM

NAJKROTSZEJ

SCIEZKI.

Problem

najkr6tszej

seiezki

lub najkr6tszej

trasy

jest

zwi~zany

ze

znajdowaniem

najkr6tszej

trasy

z jednego

polozenia

(wierzeholka)

do inllego

polozenia

(wierzeholka)

w pol~ezonej

sieei.

Pierwsze

polozenie

moze bye poez~tkiem

sieei,

a inne polozenie

moze bye

eelem

lub koneem

sieei.

Inaezej

m6wi~e

zalezy

nam na znalezieniu

najkr6tszej

odleglosei

pomi~dzy

punktem

nadania

i punktem

odbioru

w Sleel.

Problem

najkr6tszej

seiezki

moze bye rozwazany

w kategoriaeh

odleglosei,

ezasu,

kosztu,

itp.

Algorytm

najkr6tszej

seiezki

zapewnia

najkr6tsz~

drog~

przejazdu

z punktu

nadania

do kazdego

wierzeholka

w sieei.

Znajduje

on kolejno

najkr6tsz~

seiezk~

do kazdego

wierzeholka

w

sieei,

ulozonyeh

w porz~dku

ieh najkr6tszyeh

odleglosei

od punktu

nadania.

Znaleze

najkr6tsz~

drog~ z X do Y.

Algorytm

1. Znajdujemy

wierzeholek

najblizszy

punktowi

nadania

X.

2. Znajduje'my

drugi

llajblizszy

wierzeholek

w stosunku

do X i

kolejne

najblizsze

...

3. W trakeie

realizaeji

proeedury

skreslamy

kazdtt

ga1ttz sieei,

ktora

nie znajduje

si~ na najkr6tszej

seiezee

z poprzednio

rozwazanego

wierzcholka

do nast~pnego

- najblizszego

wierzcholka,

kt6ry

wlasnie

okreslilismy.

background image

PROBLEM

MINIMALNIE

ROZGALEZIONEGO

DRZEW A.

Problem

drzewa

rozgal~zionego

dotyczy

wybierania

gal~zi

w

pelni

zdefiniowanej

sieci,

kt6re

maj~ najkr6tsz~

calkowit~

dlugose,

podczas

gdy wyznaczaj~

tras~

l~cz~c~

kazdy

wierzcholek.

Gal~zie

musz~

bye wybierane

w taki

spos6b,

ze siee wynikowa

tworzy

drzewo

z minimaln~

calkowit~

dlugosci~

gal~zi.

Inaczej,

minimalnie

rozgal~zione

drzewo

to zbi6r

gal~zi

w sieci,

kt6re

l~cz~ wszystkie

wierzcholki

w taki

spos6b,

aby

zagwarantowae

minimaln~

dlugose

calkowit~

dla calego

zbioru.

Wartosci

numeryczne

przypisane

do gal~zi

oznaczaj~

odleglosci,

koszty

lub wartosci

czasu.

Problem

ten jest

typowym

problemem

sieci

transportowych

i

dystrybucyjnych.

Rysunek

2.1 pokazuje

siee w pelni

zdefiniowanq,

przedstawiaj~cq

10 wierzcholk6w

i 18 gal~zi,

kt6re

l~czq pary wierzcholk6w.

Wartosci

przedstawione

w s~siedztwie

gal~zi

Sq

odleglosciami

pomi~dzy

kazd'l

pol'lczon'l

par'l

wierzcholk6w.

5

Rysunek

2.2 pokazuje

drzewo

rozgal~zione,

niekoniecznie

minimalnie

rozgal~zione

drzewo

sieci

pokazanej

na rysunku

2.1.

background image

Algorytm

1. Wybierz

dowolny

wierzcholek.

2. Znajdz

wierzcholek

najblizszy

do niego

i pol,!:cz dwa wierzcholki

ze sob,!:.

3. Znajdz

wierzcholek

niepol,!:czony

najblizszy

dowolnego

wierzcholka

pol&.czonego

i pol&.cz te dwa wierzcholki

ze sob&..

4. Powt6rz

krok

3 az do momentu,

gdy wszystkie

wierzcholki

zostan&. pol&.czone.

CD

background image

Problem

maksymalnego

przeplywu

wybiera

te sciezki

w sieci,

ktore b~d(l maksymalizowaly

przeplyw

od zrodla

(pocz(ltku)

sieci do

ujscia

(konca)

sieci.

Poszukuje

si~ max przeplywu

np. pojazdow,

ktore mog(l przejechac

przez

siec w ustalonym

czasie.

Kazda

gal(lz sieci ma ustalon(l

gorn(l granic~

przeplywu

w danym

kierunku

w ustalonym

przedziale

czasowym.

Ie granice

S(l

przepustowosciami

przeplywu

(gal~zi).

Rysunek

3.1 pokazuje

siec w pelni

zdefiniowan(l,

przedstawiaj(lc(l

6

wierzcholkow

i 9 gal~zi,

ktore l(lcz(l pary wierzcholkow.

Wartosci

przedstawione

w s(lsiedztwie

gal~zi

S(l pojemnosciami

maksymalnego

przeplywu

kazdej

gal~zi we wskazanym

kierunku.

Zanim zastosujemy

algorytm

b'tdziemy

si

y

starac

rozwi&ezac problem

metod~

przegl~du

rozwi~zania.

Aby uzyc metod't

przegl&:du

rozwi&:zania,

rozpoczynamy

od identyfikacji

wszystkich

mozliwych

sciezek

w sieci.

Mozliwe

sciezki

s&:pokazane

w tabeli

3.

background image

Tabela

3

Mozliwe

sciezki

w sieci

Sciezka

!\1aksymalny

przeplyw

1-2-4-6

10

1-2-5-6

10

1-3-5-6

10

1-3-2-5-6

10

1-3-2-4-6

10

1-3-5-4-6

10

1-3-2-5-4-6

25

J esli wybierzemy

sciezk~

z maksymalnym

przeplywem

rownym

25

jednostkom,

wtedy

mozemy

rowniez

uzyc

sciezki

1-2-4-6

dla 5

jednostek

i sciezki

1-3-5-6

dla

10 jednostek.

Te trzy

sciezki

wtedy

stworz<l: maksymalny

przeplyw

40 jednostek

w sieci.

Algorytm

1. Zakladamy

wstltpnie,

ze do zadnej

gal~zi

sieci

nie przypisano

zadnego

przeplywu.

2. Znalezc

aowoln<l: sciezklt

ze zrodla

do ujscia,

ktora

ma

przepustowosci

w kierunku

przeplywu,

ktore

przewyzszaj::t

0 dla

wszystkich

ga1ltzi na sciezce.

Jesli

nie mozna

znalezc

takiej

sciezki

przej dz do kroku

5.

3. Znajdz

najmniejsz<l:

przepustowosc

na sciezce

(w kierunku

przeplywu),

powiedzmy

F, przypisz

przeplyw

F do wszystkich

ga1ltzi na sciezce

i nastltpnie:

background image

a) zredukuj

wszystkie

przepustowosci

na sciezce

w kierunku

przeplywu

0

F,

b) zwi~ksz wszystkie

przepustowosci

na sciezce

0

F w kierunku

przeclwnym.

4. Powro6 do kroku 2.

5. Maksymalny

przeplyw

jest sum:t wszystkich

przeplywow

F

przypisanych

podczas

wykonania

kroku 3.

6. Przydzialy

przeplywow,

ktore generuj:t

maksymalny

przeplyw

s:t

sum:t przeplywow

przydzielonych

do kazdej

gal~zi w kroku 3.

background image