You are on page 1of 136

HC VIN CNG NGH BU CHNH VIN THNG

BI GING MN

TON RI RC 2

Ging vin: in thoi/E-mail: B mn:

TH.S. Phan Th H hathiphan@yahoo.com Cng ngh phn mm

Hc k/Nm bin son:I/2009-2010

BI GING MN

TON RI RC 2
NI DUNG Cc thut ng v th Biu din th v s ng cu Tnh lin thng ca th Tnh lin thng v bc ca nh ng i E v Ha Bi ton ng i ngn nht th phng T mu th Cy v cy khung ca th
GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2
GII THIU: L thuyt th

L mt trong nhng ngnh khoa hc c ra i t rt sm. c dng m hnh ha bng hnh hc v gii quyt nhiu bi ton trong thc t. Cc bi ton thng c m t thng qua cc nh v cc ng ni gia cc nh, th hin mi lin h gia chng.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
CHNG 1:Cc thut ng c bn v th 1.1. nh ngha v khi nim 1.2. th v hng 1.3. th c hng 1.4. th c trng s 1.5 th. phn i 1.6. Nhng th n c bit 1.7. Mt vi ng dng ca cc th c bit 1.8. th con

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim


nh ngha: th G l 1 cp G = (V,E), trong :
V: tp hp cc nh E: tp hp cc cnh, E [V]2

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim nh ngha khc v th


th l mt cp G = (V, F), trong :

- V l tp hp cc nh, - F: V 2V , c gi l nh x k.
S tng ng ca hai nh ngha: x, y V: (x, y) E y F(x).

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
Xt li v d 1

b
c a e d

nh x k ca cc nh trong hnh trn:


F(a) = {b, c}, F(b) = {c}, F(c) = , F(d) = {b, c} v F(e) = {a, b, d} .

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim th v hng v c hng


Cnh (x, y) E l cnh v hng khi cp nh (x, y) khng c th t th v hng l th ch cha cc cnh v hng Cnh (x, y) l cnh c hng khi cp nh x, y c th t th c hng l th ch cha cc cnh c hng

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim th i xng


th G = (V, E) c gi l i xng nu: x, y V : (x, y) E (y, x) E.

Cc th v hng u i xng.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim n th v a th


th G = (V, E) trong mi cp nh ch c ni ti a bng 1 cnh c gi l n th hay cn gi tt l th. th trong c t nht 1 cp nh c ni vi nhau nhiu hn mt cnh c gi l a th. Mt gi th G = (V, E) trong cc cp nh uwcj ni vi nhau l 1 hoc nhiu cnh v mi nh c th c khuyn. Tm li, gi th l loi th v hng tng qut
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
n T c hng(c th c khuyn nhng khng c cnh bi cng chiu)

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
Bng tng hp Loi th n th a th Gi th th c hng a th c hng Cnh VH VH VH CH CH C cnh bi? Khng C C Khng C C khuyn? Khng Khng C C C

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim th y


th v hng G = (V,E) c gi l th y , nu mi cp nh u c cnh ni gia chng. th c hng G = (V,E) c gi l th y , nu mi cp nh u c cung ni gia chng (chiu ca cung c th ty ).

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

R I RC 2 1.nh ngha v TON khi ni m


Bc ca nh trong T v hng Gi s G = (V, E) l mt th, ta gi bc ca mt nh l s cnh k vi nh . nh c lp l nh khng ni vi bt k nh no. nh treo l nh c bc bng 1. K hiu: d(v) l bc ca nh v trong th G.

Ch : khuyn ca th c tnh l bc 2.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim


Bc ca nh trong Tc hng Trong th c hng: bc- vo ca nh v k hiu l d-(v) l s cc cnh c nh cui l v. Bc- ra ca nh v k hiu l d+(v) l s cc cnh c nh u l v. (Nh vy mt khuyn ti mt nh s gp thm 1 n v vo bc vo v 1 n v vo bc ra ca nh ny).

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim


Bc ca nh L1( nh l bt tay):. Cho G = (V,E) l mt th v hng c e cnh. Khi 2e= d(v) (nh l ny ng c khi th c cnh bi hoc cc khuyn) nh l 2. Trong mt th vo hng s cc nh bc l l mt s chn.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim


th con v th ring Gi s G = (V, E) l mt th. th G = (V, E) c gi l th con ca th G nu: VV v EE. th G = (V, E) vi E E, c gi l th ring ca th G.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim


T/C th con v ring Mi tp con cc nh V ca th G tng ng duy nht vi mt th con. xc nh mt th con ta ch cn nu tp nh ca n. th ring l th gi nguyn tp nh v b bt mt s cnh.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim


th phn i Mt th n G c gi l th phn i nu tp cc nh V c th phn lm hai tp con khng rng, ri nhau V1 v V2 sao cho mi cnh ca th ni mt nh ca V1 vi mt nh ca V2.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.nh ngha v khi nim


S ng hnh Hai th G1= (V1, E1) v G2= (V2, E2 ) c gi l ng hnh vi nhau nu tn ti mt song nh S trn cc tp nh bo ton cc cnh: x, y V1: (x, y) E1 (S(x), S(y)) E2. Hai th ng hnh ch khc nhau v tn gi ca cc nh v cch biu din bng hnh v. Do vy, ta khng phn bit hai th ng hnh vi nhau

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
V d ng hnh

Hai th sau l ng hnh vi song nh: S(ai) = xi , i = 1, 2, 3, 4.


a1 a2 x1 x2 x3

a3

a4

x4

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
Chng2.Biu din th

Danh sch k Ma trn lin k Ma trn lin thuc Danh sach canh

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
1.Biu din bng ma trn lin k

Cho G = (V, E) l mt th c cc nh c nh s:1, 2, ... , n. Ma trn vung A cp n c gi l ma trn lin k ca th G nu: 1 nu gia I,j c cnh k
i, j V, A[i,j]=. 0___________khng c cnh k

th G l i xng khi v ch khi ma trn k A l i xng. Mt khuyn c tnh l 1 cnh


www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

Cho G = (V, E)mt ga th c cc nh c nh s:1, 2, ... , n. m nu gia I,j c m cnh


i, j V, A[i,j]=. 0 khng c cnh k

th G l i xng khi v ch khi ma trn k A l i xng. Mt khuyn c tnh l 1 cnh

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
VD
u1 u2

0 1 1 1

1 0 1 0

1 1 0 0

1 0 0 0
u3 u4

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

Ma trn k cng c th dng biu din th v hng c khuyn v c cnh bi. Khi c cnh bi ma trn lin k khng cn l ma trn khng-mt na, v phn t v tr (i,j) ca ma trn ny bng s cnh bi ni nh ui v nh uj. Khuyn ti nh ui c coi l cnh ni nh ui vi chnh n v c tnh l mt cnh. Tt c cc th v hng, k c a th v gi th u c ma trn lin k i xng.
GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2

0 3 0 2
www.ptit.edu.vn

3 0 2 0 1 1 1 1 2 1 2 0

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

2.Biu din bng danh sch k


Vi mi nh ca th ta xy dng mt danh sch mc ni cha cc nh k vi nh ny: Danh sch ny c gi l danh sch k. Mt th c biu din bng mt mng cc danh sch k.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
void Dske_To_MTke(void){ int dau, cuoi; char str[132], tu[12]; //Doc va chuyen doi thanh ma tran ke fp = fopen("DSKE.IN","r"); if(fp==NULL){ printf("\n Do thi khong ton tai"); getch(); return; } // doc gia so dinh cua do thi


www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

fgets(str, 132, fp);n = atoi(str); printf("\n So din do thi:%d",n);Init(); for( dau=1; dau<=n; dau++){ fgets(str,132,fp); for(int j=0, p=0; j<=strlen(str); j++){ //tach tu if(str[j]!=' '&&str[j]!='\t'&&str[j]!='\0'&& str[j]!='\n'){ tu[p]=str[j]; p++; } else if( p>0 && (str[j]==' '||str[j]=='\t'||str[j]=='\0'||str[j]=='\n')){ tu[p]='\0'; p=0;cuoi=atoi(tu); if(cuoi!=0) { m++; A[dau][cuoi]=1; } //thiet lap gia tri cho ma tran ke } } } fclose(fp);} GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2

fgets(str, 132, fp);n = atoi(str); printf("\n So din do thi:%d",n);Init(); for( dau=1; dau<=n; dau++){ fgets(str,132,fp); for(int j=0, p=0; j<=strlen(str); j++){ //tach tu if(str[j]!=' '&&str[j]!='\t'&&str[j]!='\0'&& str[j]!='\n'){ tu[p]=str[j]; p++; } else if( p>0 && (str[j]==' '||str[j]=='\t'||str[j]=='\0'||str[j]=='\n')){ tu[p]='\0'; p=0;cuoi=atoi(tu); if(cuoi!=0) { m++; A[dau][cuoi]=1; } //thiet lap gia tri cho ma tran ke } } } fclose(fp);} GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2

printf("\n Ghi vao Ma tran ke:"); fp=fopen("MATRANKE.OUT","w"); fprintf(fp,"%3d",n); for(int i=1; i<=n; i++){ printf("\n");fprintf(fp,"%s","\n"); for(int j=1; j<=n; j++){ printf("%3d",A[i][j]); fprintf(fp,"%3d",A[i][j]); } } fclose(fp); getch(); }
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

3.Ma trn lin thuc

Cc ma trn lin thuc cng c th c dng biu din cc cnh bi v khuyn. G = (V,E) V = {v1, v2, ..., vn} E = {e1, e2, ..., em} Ma trn lin thuc ca th G l M = [mij], trong mij =1 nu cnh ej lin thuc vi nh vi v = 0 nu cnh ej khng lin thuc vi nh vi .

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

4.S ng cu ca th TON RI RC 2

N: Cc th n G1 =(V1,E1) v G2 =(V2,E2) l ng cu nu c hm song nh f t V1 ln V2 sao cho cc nh a v b l lin k trong G1 nu v ch nu f(a) v f(b) l lin k trong G2 vi mi a v b trong V1. Hm f nh th c gi l mt ng cu. Hay: Hai th G = (V,E) v G = (V,E) gi l ng cu vi nhau nu :

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
4.S ng cu ca th

c mt php tng ng 1 1(song nh) gia 2 tp V, V v c mt php tng ng 1 1 gia 2 tp hp E, E Sao cho: nu cnh e = (v,w) E tng ng vi cnh e = (v,w) E th cp nh v, w V cng l tng ng ca cp nh v, w V G, G ng cu nu tn ti mt song nh : VV sao cho: (i, j) E ((i), (j)) E.
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
4.S ng cu ca th Nu G, G l ng cu qua nh x th hai th: C cng s nh, tc l |V| = |V| C cng s cnh: |E| = |E| C cng s nh vi bc cho sn S nh k vi nh i V v (i) V l nh nhau.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

Chng3. Tnh lin thng c a TON R I R C 2 th

ng i Tnh lin thng trong th v hng Tnh lin thng trong th c hng m ng i gia cc nh Phng php duyt th

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.ng i
Cho th G = (V, E) ng i trong th l mt dy cc nh: <x1, x2,, xi,, xk-1, xk> sao cho mi nh (tr nh u) u c cnh k vi nh trc . i = 2, 3, ... , k-1, k : (xi-1, xi) E. ng i ny i t nh u x1 n nh cui xk.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1.ng i
di ca ng i l tng cc cnh thuc ng i . ng i l ng i n nu cc cnh trn n xut hin khng qu 1 ln . ng i c gi l s cp nu n i qua mi nh ng 1 ln

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

2.Chu trnh
Chu trnh l mt ng i khp kn (nh cui trng vi nh u ca ng i).
[x1, x2,, xk-1, x1]

Tuy nhin cho gn, trong k hiu ca chu trnh, thng khng vit nh cui:
[x1, x2,, xk-1]

Chu trnh n: l chu trnh m cc nh trn n khc nhau tng i.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

3.Tnh lin thng trong th v hng


Mt th v hng c gi l lin thng nu c ng i gia hai inh bt k ca th.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
3.Tnh lin thng ca th v hng

nh l 1. Gia mi cp nh phn bit ca mt th v hng lin thng lun lun c ng i n.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

3.Tnh lin thng ca th c hng


N . th c hng c gi l lin thng mnh nu c ng i t a ti b v t b ti a vi mi nh a v b bt k ca th. N. th c hng c gi l lin thng yu nu c ng i gia hai nh bt k ca th v hng nn. (Nh vy th lin thng mnh th cng lin thng yu)

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

3.Tnh lin thng ca th v hng


nh ngha: th lin thng khng c bt k chu trnh no c gi l mt cy. mt nhm cy trong khng c 2 cy no c ni vi nhau c gi l mt rng. Rng bao trm ca mt th l rng v l th con ca th v cha tt c cc nt ca th; rng gm cc cy T1, T2,... ,Tm trong cy Ti cha tt c cc nt lin thng vi nt gc ca n trong th. Nu rng bao trm ch gm mt cy th cy c gi l Cy bao trm ca th .

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

4.m ng i gia cc nh
nh l 2. Cho G l mt th vi ma trn lin k A theo th t cc nh v1,v2, ...,vn (vi cc cnh v hng hoc c hng hay l cnh bi, hoc c th c khuyn). S cc ng i khc nhau di r t vi n vj trong r l mt s nguyn dng, bng gi tr ca phn t (i,j) ca ma trn Ar.(cm-SGK)

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
void nhan(int kq[][10],int a[][10],int n) { int tmp[10][10]; for(int i = 1; i <= n; i++) { for( int j = 1; j <= n;j ++) {tmp[i][j]=0; for( int k = 1 ; k <= n; k++) tmp[i][j] += kq[i][k]*a[k][j]; } } for(int i = 1; i <= n; i++){ for( int j = 1; j <= n;j ++){ kq[i][j]=tmp[i][j];}} GING VIN: TH.S.PHAN TH H } www.ptit.edu.vn

B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

5.Phng php duyt th Duyt th theo su (Depth - first traverse)


T tng c bn ca thut ton l bt u ti mt nh v0 no , chn mt nh u bt k k vi v0 v ly n lm nh duyt tip theo. Cch duyt tip theo c thc hin tng t nh i vi nh v0 vi nh bt u l u.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

kim tra vic duyt mi nh ng mt ln, chng ta s dng mt mng chuaxet[] gm n phn t (tng ng vi n nh), nu nh th i c duyt, phn t tng ng trong mng chuaxet[] c gi tr FALSE. Ngc li, nu nh cha c duyt, phn t tng ng trong mng c gi tr TRUE. Thut ton c th c m t bng th tc qui DFS () trong : chuaxet - l mng cc gi tr logic c thit lp gi tr TRUE. void DFS( int v){ Thm_nh(v); chuaxet[v] := FALSE; for ( u ke(v) ) { if (chuaxet[u] ) DFS(u); } }
GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

TON RI RC 2

www.ptit.edu.vn

BI GING MN

TON RI RC 2
Th tc DFS() s thm tt c cc nh cng thnh phn lin thng vi v mi nh ng mt ln. m bo duyt tt c cc nh ca th (c th c nhiu thnh phn lin thng), chng ta ch cn thc hin duyt nh sau: { for (i=1; i n ; i++) chuaxet[i] := TRUE; /* thit lp gi tr ban u cho mng chuaxet[]*/ for (i=1; i n ; i++) if (chuaxet[i] ) DFS( i); }
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
VD: duyt th sau theo chiu su

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
void DFS(int G[][MAX], int n, int v, int chuaxet[]){ int u; printf("%3d",v);chuaxet[v]=FALSE; for(u=1; u<=n; u++){ if(G[v][u]==1 && chuaxet[u]) DFS(G,n, u, chuaxet); } }

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

void main(void){ int G[MAX][MAX], n, chuaxet[MAX]; Init(G, &n); for(int i=1; i<=n; i++) chuaxet[i]=TRUE; printf("\n\n"); DFS( G,n, 2, chuaxet); getch(); }

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

Bc 1 (Khi to): Stack = ; Push(Stack, u); <Thm nh u>; Chuaxet[u] = False; Bc 2 (Lp): whlie( Stack ) { s = Pop(Stack); for each t Ke(s) do { if ( Chuaxet[t] ){ <Thm nh t>; Chuaxet[t] = False; Push(Stack, s) ; Push(Stack, t) ; break ; } } } Bc 3 (Tr li kt qu): Return(Tp nh duyt);
GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2

// thao tac voi stack #include<define.h> typedef struct{ int top; int node[100]; } stack; int empty(stack *ps){ if(ps->top==-1) return(1); return(0); } int viewpop(stack *ps){ Int x=ps->node[ps->top]; return(x)

int full(stack *ps){ if(ps->top==100-1) return(1); return(0); } void push(stack *ps,int p){ ps->top++; ps->node[ps->top]=p; } int pop(stack *ps){ return(ps->node[ps->top--]); }

}
GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2

void F09_1(void){ stack s; int x,a; printf("Moi ban nhap so :");scanf("%d",&x); printf(" he co so :");scanf("%d",&a); printf("Ket qua :"); s.top=-1; do { push(&s,x%a); x=x/a; } while (x>0); while (empty(&s)==0) { x=pop(&s); printf("%d",x); } getch(); } GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2
Hoc thut ton c th c ci t theo stack nh sau: void Dtraverse(kmatran a, kvecto &chuaxet, int k, int n) {stack S[20];int i,h; push(k);chuaxet[k]=false; while(!empty()) {h=pop(); printf("%5d",h); for(i=n;i>=1;i--) if(chuaxet[i] && a[h][i]) {push(i); chuaxet[i]=0;break;} } return; }
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

S dng kim tra tnh lin thng nh sau


int LienThong(kmatran a,int n) {Stack<int> S(20);int i,h;kvecto chuaxet; for(i=1;i<=n;i++) chuaxet[i]=true; S.push(1);chuaxet[1]=false; while(!S.empty()) {h=S.pop(); for(i=n;i>=1;i--) if(chuaxet[i] && a[h][i]) {S.push(i);chuaxet[i]=0; break;} } for(i=1;i<=n;i++) if(chuaxet[i]) return(false); return(true); } GING VIN: TH.S.PHAN TH H
B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2
Duyt th theo chiu rng rng, vi thut ton tm kim theo chiu su, nh thm cng mun s tr thnh nh sm c duyt xong. l kt qu tt yu v cc nh thm c np vo stack trong th tc qui. Khc vi thut ton tm kim theo chiu su, thut ton tm kim theo chiu rng thay th vic s dng stack bng hng i queue. Trong th tc ny, nh c np vo hng i u tin l v, cc nh k vi v ( v1, v2, . . ., vk) c np vo queue k tip. Qu trnh duyt tip theo c bt u t cc nh cn c mt trong hng i. ghi nhn trng thi duyt cc nh ca th, ta cng vn s dng mng chuaxet[] gm n phn t thit lp gi tr ban u l TRUE. Nu nh i ca th c duyt, gi tr chuaxet[i] s nhn gi tr FALSE. Thut ton dng khi hng i rng. Th tc BFS di y th hin qu trnhGI th c VIN: hinTH.S.PHAN ca thu t ton: NG TH H
B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2
void BFS(int u){ queue = ; u <= queue; /*np u vo hng i*/ chuaxet[u] = false;/* i trng thi ca u*/ while (queue ) { /* duyt ti khi no hng i rng*/ queue<=p; /*ly p ra t khi hng i*/ Thm_nh(p); /* duyt xong nh p*/ for (v ke(p) ) { /* a cc nh v k vi p nhng cha c xt vo hng i*/ if (chuaxet[v] ) { v<= queue; /*a v vo hng i*/ chuaxet[v] = false;/* i trng thi ca v*/ } } } /* end while*/ }/* end BFS*/
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
void BFS( int i) { int u, dauQ, cuoiQ, j; dauQ=1; cuoiQ=1;QUEUE[cuoiQ]=i;chuaxet[i]=FALSE; /* thit lp hng i vi nh u l i*/ while(dauQ<=cuoiQ){ u=QUEUE[dauQ]; printf("%3d",u);dauQ=dauQ+1; /* duyt nh u hng i*/ for(j=1; j<=n;j++){ if(G[u][j]==1 && chuaxet[j] ){ cuoiQ=cuoiQ+1; QUEUE[cuoiQ]=j; chuaxet[j]=FALSE; } } } }
GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2
Th tc BFS s thm tt c cc nh cng thnh phn lin thng vi u. thm tt c cc nh ca th, chng ta ch cn thc hin on chng trnh di y: { for (u=1; un; u++) chuaxet[u] = TRUE; for (uV ) if (chuaxet[u] ) BFS(u); }

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

S thnh ph n linR thng cC a2 th TON I R

Cnh cu- cnh khp-canh cat nh khp-nh ct-im khp- dinh tru m s thnh phn lin thng ca th

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
CHNG 4. CHU TRNH EULER V CHU TRNH HAMILTON

1.Khi nim v ng i v chu trnh Euler 2.Cc iu kin cn v cho chu trnh v ng i Euler 3. Thut ton tm chu trnh Euler 4. ng i v chu trnh Hamilton

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1. M u

nh ngha Chu trnh n cha tt c cc cnh ca th c gi l chu trnh Euler. ng i Euler trong G l ng i n cha mi cnh ca G.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
vd

a b

a b

e e e d d c c d

th G1 c chu trnh Euler, th d a,e,c,d,e,b,a. C hai th G2 v G3 u khng c chu trnh Euler. Tuy nhin G3 c ng i Euler, c th l a,c,d,e,b,d,a,b

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

ng i Euler
Bi ton. Th trn Knigsberg chia thnh 4 phn bi cc nhnh ca dng sng Pregel

Bn phn ny c ni kt bi 7 cy cu
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H
70 NGH PHN MM B MN: CNG

BI GING MN

TON RI RC 2
ng i Euler

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H


71 NGH PHN MM B MN: CNG

BI GING MN

TON RI RC 2

ng i Euler

Cu hi. C th i qua by cy cu m khng c cy cu no i qu 1 ln


www.ptit.edu.vn GING VIN: TH.S.PHAN TH H
72 NGH PHN MM B MN: CNG

BI GING MN

TON RI RC 2
1. M u

Chu trnh Euler l mt ng i Euler nhng ngc li th cha chc ng (v d trn th G3 th a,c,d,e,b,d,a,b l ng Euler, nhng khng phi l chu trnh Euler). Chu trnh Euler c th i qua mt nh hai ln (v d chu trnh a,e,c,d,e,b,a trn th G1) v c th khng i qua mt s nh no nu cc nh ny l cc nh c lp, tc l cc nh c bc bng 0
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

Chu trnh Euler ch lin quan n cc cnh ca th, v vy ta c th thm mt s bt k cc nh c bc 0 (nh c lp) vo th G th chu trnh Euler ca G vn khng thay i.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

2.Cc iu kin cn v cho chu trnh v ng i Euler


nh l sau y cho ta iu kin cn v mt a th c chu trnh Euler: th v hng nh l 1 . Mt a th khng c im c lp c chu trnh Euler nu v ch nu th l lin thng v mi nh ca n u c bc chn. i vi th c hng ta c nh l sau: nh l 2. Mt a th c hng khng c nh c lp tn ti chu trnh Euler nu v ch nu th l lin thng yu ng thi bc-vo v bc-ra ca mi nh l bng nhau.
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

3.Thut ton tm chu trnh Euler TON RI RC 2 Bi ton: Cho th G = (V,E). Hy tm chu trnh Euler ca th G nu c. Thut ton: Bc 1: Kim tra tnh lin thng ca T Nu G lin thng th chuyn sang bc 2, ngc li th thng bo l chng ta ch xt th lin thng v dng thut ton. (V c th thy rng nu th c mt thnh phn lin thng cn phn cn li l cc im c lp th vn c th c chu trnh Euler, v chu trnh Euler ch quan tm n vic i qua cc cnh m khng quan tm n vic i qua cc nh). Bc 2: Kim tra xem K cn v ca chu trnh, ng i euler

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
Bc 3: Xy dng thut ton tm chu trnh Euler n trong G sao cho tt c cc cnh ca G u c chu trnh n i qua v ch i qua mt ln bng cch sau: To mng CE ghi ng i v mt Stack xp cc nh s xt. u tin xp mt nh u no ca th vo Stack. Xt nh v nm trn cng ca Stack v thc hin: Nu v l nh c lp th ly v ra khi Stack v a vo CE. Nu v l lin thng vi nh x th a x vo ngn xp sau xa cnh (v,x); Quay li bc 3. cho ti khi ngn xp rng th dng. Kt qu ng i Euler c cha trong CE theo th t ngc li.
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

4 2 1 8 9 3 5 6 7

10

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
void CTEuler(kmatran a, int n, int k kvecto CT, int &nCT) {Stack S;kmatran B;int i,j,h,t; SetEqual(B,a,n);//Dat b=a de khoi phuc lai gia tri sau nay push(&S,k);//Dua dinh bat ky vao Stack, o day ta chon dinh 1 nCT=0;//Ban dau chu trinh chua co phan tu nao while(empty(&S)) {h=viewtop(&S);i=1; while(i<=n && a[h][i]==0) i++;//Tim i dau tien de a[h][i]#0 if(i==n+1) //h da la dinh co lap, dua h vao chu trinh CT {nCT++;CT[nCT]=h; pop(&S,h);}//Lay dinh co lap ra khoi Stack else {push(&S,i);a[h][i]--;a[i][h]--;}//Loai canh (i,h) khoi do thi } //Dao lai chu trinh cho hop ly hon i=1;j=nCT; while(i<j) {t=CT[i];CT[i]=CT[j];CT[j]=t;i++;j--;} SetEqual(a,B,n);
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI Hamilton RC 2 4.ng i v Chu trnh

ng i v chu trnh Euler ch lin quan n cc cnh ca th. Tuy nhin cu hi tng t c th t ra i vi cc nh. Th d trong mt mng li giao thng ta li quan tm n vic xut pht t mt thnh ph, liu ta c th n thm tt c cc thnh ph khc. mi thnh ph thm ng mt ln v cui cng tr li thnh ph xut pht?

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
NH NGHA Cho th G = (V,E). ng i R c gi l ng i Hamilton nu n i qua tt c cc nh ca th, mi nh ng mt ln. Chu trnh C c gi l chu trnh Hamilton nu n xut pht t mt nh v no , i qua tt c cc nh, mi nh ng mt ln ri tr li im v. th c chu trnh Hamilton c gi l th Hamilton. th cha ng i Hamilton c gi l th na Hamilton. Trong cc v d sau chng ta s thy l th Hamilton l na Hamilton nhng ngc li khng lun lun ng.
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

nh l 3. Gi s G l mt n th lin thng vi n nh trong n3. nh l 4. Gi s G = (V,E) l th c hng y . Khi trong th G tn ti ng Hamilton.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

Thut ton tm chu trnh Hamilton


void Hamilton( int k) { /* Lit k cc chu trnh Hamilton ca th bng cch pht trin dy nh (X[1], X[2], . . ., X[k-1] ) ca th G = (V, E) */ for y Ke(X[k-1]) { if (k==n+1) and (y == v0) then Ghinhan(X[1], X[2], . . ., X[n], v0); else {if chuaxet[y] {X[k]=y; chuaxet[y] = false; Hamilton(k+1); chuaxet[y] = true;} } } GING VIN: TH.S.PHAN TH H } www.ptit.edu.vn
B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

}

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

#define MAX 50 #define TRUE 1 #define FALSE 0 int A[MAX][MAX], C[MAX], B[MAX]; //int B[MAX]; int i, d,n; void Init(){ int i, j;FILE *fp; fp= fopen("DDHMTON.IN", "r"); if(fp==NULL){ printf("\n Khong co file input"); getch(); return; }


fscanf(fp,"%d",&n); printf("\n So dinh do thi:%d", n); printf("\n Ma tran ke:"); for(i=1; i<=n; i++){ printf("\n"); for(j=1; j<=n; j++){ fscanf(fp, "%d", &A[i][j]); printf("%3d", A[i][j]); } } fclose(fp); for (i=1; i<=n;i++) C[i]=0;

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

void Result(){ int i; printf("\n "); printf("%3d ", B[1]); for(i=n; i>0; i--) printf("%3d", B[i]); d++; }

void Hamilton(int A[][MAX],int *B, int *C, int i){ for(int j=1; j<=n; j++){ if(A[B[i-1]][j]==1) { if((i==n+1)&& (j==1)) Result() ; else if (C[j]==0 ){ B[i]=j; C[j]=1; Hamilton(A,B,C,i+1); C[j]=0; } } } } main(void){ B[1]=1; int i=2; d=0; Init(); Hamilton(A,B,C,i); if(d==0) printf("\n Khong co duong di Hamilton"); getch(); }

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
Chng trnh chnh c th hin nh sau: { for (vV ) chuaxet[v] = true; /*thit lp trng thi cc nh*/ X[1] = v0; (*v0 l mt nh no ca th*) chuaxet[v0] = false; Hamilton(2); }

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
void Result(){ int i; printf("\n "); printf("%3d ", B[1]); } for(i=n; i>0; i--) printf("%3d", B[i]); d++;

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

void Hamilton(int A[][MAX],int *B, int *C, int i){ for(int j=1; j<=n; j++){ if(A[B[i-1]][j]==1) { if((i==n+1)&& (j==1)) Result() ; else if (C[j]==0 ){ B[i]=j; C[j]=1; Hamilton(A,B,C,i+1); C[j]=0; } } } }


www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

main(void){ B[1]=1; int i=2; d=0; }


} GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

Init(); Hamilton(A,B,C,i); if(d==0) printf("\n Khong co duong di Hamilton"); getch();

www.ptit.edu.vn

BI GING MN

TON RI RC 2
void Result(void){ int i; printf("\n "); for(i=n; i>0; i--) printf("%3d", B[i]); d++; } void Hamilton(int *B, int *C, int i){ int j, k; for(j=1; j<=n; j++){ if(A[B[i-1]][j]==1 && C[j]==0){ B[i]=j; C[j]=1; if(i<n) Hamilton(B, C, i+1); else Result(); C[j]=1; } } }
GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2
void main(void){ B[0]=1; i=1;d=0; Init(); Hamilton(B,C,i); if(d==0) printf("\n Khong co duong di Hamilton"); getch(); }

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

CHNG 5. Tm ng i ngn nht


1.M u 2.Thut ton Dijkstra xc nh cc ng i ngn nht t mt nh n cc nh cn li 3. Thut ton Floyd xc nh ng i ngn nht gia mi cp nh 4. th phng 5.T mu th

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

1. M U
Trng s ca canh:l gi tr oc ghi trn mi cnh ca th. th c trng s l th m trn mi cnh c 1 trng s Bi ton tm ng i ngn nht gia hai nh u v v ch c ngha khi thc s c ng i t nh u ti nh v. Vy y ta s gi thit th ang kho st l n th lin thng. Phi:
Tm 1 ng i (u->v) c tng trng s trn cc cnh m ng i phi i qua t gi tr min
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
B..Thut ton Dijkstra xc nh cc ng i ngn nht t mt nh n cc nh cn li Gi s ta xt th v hng G = (V,E), c trng s.K hiu trng s ca cnh gia hai nh i v j l wij, t wii = 0 v wij =(gia I v j khng c ng i trc tip), cn li Wi,j khc 0 v khc

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

Thay v tm ch mt khong cch b nht t a n b, ta tm mt s khong cch b nht t a n cc nh khc trong c b. K hiu: w(x,y);Di (y);pi(y)

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
Thut ton Dijkstra B0:u tin :a x0=a vo tp S Tnh khong cch trc tip t cc nh yV\a ti nh u a l D0(y)=w(a,y). Tm nh c khong cch nh nht t l x1, tc l: D0(x1)=min{D0 (y)}. t ( nh du) D(x1)=D0(x1); p0(y)=a nu w(a,y)!=vcng =-1nu w(a,y)=vcng

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

B1: a x1 vo tp S l tp cc nh c gn nhn s={a,x1).

Tnh li cc khong cch t nh v1=a ti cc nh y cn li V\S c th thng qua x1 hoc i trc tip: D1(y)=min(D0(y ),D(x1)+w(x1,y) . Vi y V\S Ly nh c khong cch nh nht t l x2. Tc l D1(x2)=min{D1(y) vi y V\S ). t D(x2)=D1(x2).

........................................

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
Bk:a xk vo S=>S={a,x1,...,xk) Tnh li cc khong cch t nh v1=a ti cc nh y cn li V\S c th thng qua xk hoc i trc tip t a :Dk(y)=min(Dk-1(y ), D(xk)+w(xk,y) . Vi y V\S Xc nh xk+1 sao cho Dk(xk+1) = min {Dk(y) | y V\S} .t(nh du) D(xk+1)=Dk(xk+1) .....................

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

C nh th cho ti khi nh cui b xut hin trong S th dng thut ton li Lc ny ta c ng i ngn nht l : a, ..., P(P(P(b))), P(P(b)), P(b), b v di ng i ny l D(b)

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

3.Thut ton Floyd xc nh ng i ngn nht gia mi cp nh


Vi nhng gi thit nh trong thut ton Dijkstra, ta xt bi ton tm ng i ngn nht gia mi cp nh. Chng ta dng ma trn D[i,j] lu di ng i ngn nht gia 2 cp nh i v j v ma trn P[i,j] lu ng i ngn nht t i n j. Th d P[i,j] = k c ngha l nt k ng trc nt j trong ng i ngn nht t i n j. Phng php ny c xy dng bi Floyd trn c s s dng nhng tng ca phng php Warshall trong xc nh bao ng chuyn tip. C th ta thc hin cc bc sau:
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
Thut ton

Ta gi Dk l ma trn cha khong cch ngn nht t nh i n nh j trong cc ng i ch cha cc nh trong tp {1,2,...,k}. Ta c th thc hin theo tng bc nh sau:

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

Bc 0: Khi u ta t D0[i,j] = W[i,j] l ng i trc tip, khng qua nt no c. Bc 1: D1[i,j] = min (D0[i,j], D0[i,1] + D0[1,j]) Bc k: Dk[i,j] = min (Dk-1[i,j], Dk-1[i,k] + Dk-1[k,j]) ... n bc n ta s c ma trn D cn tm. Trong mi bc ta ghi li vt ca ng i trong ma trn P[i,j]

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
Gi m

void floyd(int d[][n],int p[][n]) {int k,i,j; //Khoi tao ma tran D va P for(i=1;i<=n;i++) for(j=1;j<=n;j++) {d[i][j] = w[i][j];p[i][j]=-1;}/*p[i][j]=-1 nghia la truc tiep

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
//Bat dau vong lap khong qua dinh nao*/ for(k=1;k<=n;k++) for(i=1;i<=n;i++) if(d[i][k]>0 && d[i][k]<vocung)//Co duong di tu i den k for(j=1;j<=n;j++) if(d[k][j]>0 && d[k][j]<vocung)//Co duong di tu k den j if(d[i][j] !=0 && d[i][j]>d[i][k] + d[k][j]) {d[i][j] = d[i][k] + d[k][j];p[i][j]=k;} };

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
Chng 6. th phng

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
TH PHNG Bi ton ba bit th v ba nh my th phng Cc iu kin cho tnh phng ca th Sc s ca th phng

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

BI TON BA BIT TH V BA NH MY
Bi ton: Trong mt th trn c ba bit th v ba nh my cung cp: in, nc v kh t. Mi bit th u mun mc ng cp in ngm, ng ng cp nc, ng ng cp kh t ring t nh mnh n ba nh my m khng gp ng ng ca cc bit th khc. Hi rng c lm c nhng ng i nh th hay khng?

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
BI TON BA BIT TH V BA NH MY (tip)

in

2 Nc

Gas

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
N TH PHNG nh ngha 1 a th v hng G c gi l th phng nu c th biu din n trn mt phng sao cho khng c hai cnh no ct nhau, tr ti nh. - Din hu hn ca mt th phng l mt min kn ca mt phng c gii hn bng cc cnh ca th sao cho c th ni hai im bt k thuc din ny bng mt nt lin m khng ct mt cnh no. - th cn c mt din v hn, l phn b trn mt phng ca hp cc din hu hn.
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
TH PHNG (tip)

nh l 1: S din hu hn ca mt a th phng G bng chu s ca th ny. Chng minh: Quy np theo s din hu hn h ca G. - h = 1: ch c mt chu trnh n duy nht, chnh l bin ca din ny. Suy ra chu s bng 1. - (h-1) (h) : Gi s th phng G vi n nh, m cnh v p mng lin thng c h din.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
TH PHNG (tip)

Chng minh nh l: Lp th G t G bng cch bt i cnh e no trn bin ca mt din s din hu hn bt i 1. Khi , G c h-1 din. Theo gi thit quy np, c(G) = h-1 = (m - 1) - n + p (p khng i v ch bt i mt cnh trn chu trnh). Suy ra, s din hu hn ca G l: h = m - n +p = c(G).

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
TH PHNG (tip)

H qu 1 Nu a th phng G c n nh, m cnh, p mng lin thng v h din th: n - m + h = p +1 (cng thc Euler tng qut) Chng minh: S din ca th phng bng s din hu hn cng thm 1 (din v hn), bng chu s cng 1. Vy th, h = m - n + p +1. Do , n - m + h = p +1.
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
TH PHNG (tip) H qu 2 Trong mt n th phng c t nht mt nh c bc khng qu 5. Chng minh: Khng mt tnh tng qut c th gi thit rng n th l lin thng. Trong n th phng mi din hu hn c gii hn bi t nht 3 cnh, m mi cnh thuc nhiu nht l hai din nn: 3h 2m h 2m/3.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
TH PHNG (tip) Phn chng: Gi s mi nh ca th G u c bc t nht l 6. Khi , tng tt c cc bc ca cc nh ca trong G = 2m 6n. Theo cng thc Euler th: n - m + h = 1 + p = 2 Ta c:

m 2m . Suy ra iu v l. 2 m+ =0 3 3

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

CC IU KIN CHO TNH PHNG CA TH


nh l 2 Gi s G l mt th v G l th con ca n. 1. th G phng th G cng phng. 2. th G khng phng th G cng khng phng.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
CC IU KIN CHO TNH PHNG CA TH (tip)

K hiu: l di ca chu trnh ngn nht hoc l s cnh ca th G nu khng c chu trnh. S c gi l ai ca th. nh l 3 Nu G l th phng n nh v ai ca n l 3 th: m (n-2)/( -2). Chng minh: Do h. 2m nn theo cng thc Euler: (m - n + 2) 2m. Suy ra iu phi chng minh.
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
V D.1

Bi ton ba bit th v ba nh my: ai ca th trn l = 4. Vy th: m = 9 > 4.(6-2)/(4-2) = 8

Theo nh l 5, th trn khng phng.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
CC IU KIN CHO TNH PHNG CA TH (tip)

th hai phn y Km,n l mt n th c m+n nh gm m nh bn tri v n nh bn phi sao cho mi nh bn tri u k vi mi nh bn phi.

K2,2 K2,3

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
CC IU KIN CHO TNH PHNG CA TH (tip)

H qu .3 th hai phn y Km,n l th phng khi v ch khi m 2 hoc n 2.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
V D 2
b

th y 5 nh: th c ai = 3. Vy m = 10 > 3.(5-2)/(3-2) = 9

th K5 khng phng. T suy ra, th y Kn vi n 5 l khng phng.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
CC IU KIN CHO TNH PHNG CA TH (tip)

nh l .3 (Kuratowski) th l phng khi v ch khi n khng cha cu hnh K3,3 hoc K5. Ta c th p dng nh l Kuratowski xt tnh cht phng ca th.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
VD3 Xt th sau y (bn phi) v hnh v li ca n (bn tri):
b a c e d b a c d e e c e c

th ny cha cu hnh K5. Do vy, n khng phng.


www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
T mu th

nh ngha 2. S mu ca mt th l s ti thiu cc mu cn thit t mu th ny. nh l 1. nh l Bn mu. S mu ca th phng l khng ln hn 4.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
SC S CA TH PHNG

nh l 10.4 (Kemple - Heawood) Mi th phng khng c nh nt u c sc s khng ln hn 5. Chng minh: Quy np theo s nh n ca th.

- n = 1, 2, 3, 4, 5 : Hin nhin ng. - (n-1) (n): theo H qu 10.3, G c t nht 1 nh x bc khng qu 5. B nh x ra khi G, ta c G.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

SC S CA TH PHNG (tip)
Theo quy np, G c sc s khng vt qu 5. Ly mt cch t mu no y ca G. - Nu cc nh k vi nh x c t bng t hn 5 mu th vn cn tha mu t cho x. Sc s ca G bng sc s ca G.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

SC S CA TH PHNG (tip)
- Nu nh x k vi 5 nh v cc nh k vi x c nh s th t theo chiu kim ng h v t bng 5 mu th ta i mu ca cc nh dnh ra mu cho nh x. 1 a 2 b 5 e x

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

SC S CA TH PHNG (tip)
Xt tt c cc ng i trong G bt u t nh a v ch gm cc nh t bng mu 1 v mu 3. Xt hai trng hp: 1) Trong cc ng ny khng c ng no i qua nh c th ta c th tro i mu 1 vi mu 3 cho tt c cc nh trn cc ng i y. Sau , ta t mu 1 cho nh x.

www.ptit.edu.vn

GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

SC S CA TH PHNG (tip)
2) Ngc li, nu c ng i t a n c gm ton cc nh c t bng mu 1 hoc 3 th ng ny cng hai cnh (c,x) v (x,a) to thnh chu trnh trong G. Do tnh phng nn hai nh b v d khng th cng nm bn trong hoc bn ngoi chu trnh ny c. Suy ra, khng c ng i no ni b vi d gm cc nh ch t mu 2 hoc 4. Vy li c th tro i mu 2 vi mu 4 cho cc nh trn cc ng i qua nh b. Khi hai nh b v d cng mu 4. T mu 2 cho nh x.
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

TON RI RC 2

BI GING MN

TON RI RC 2
Chng 7.T MU(BI TON BN MU)

Bi ton: - Vo khong nm nm mi ca th k 19 Gazri, mt thng gia ngi Anh, khi t mu bn hnh chnh nc mnh, nhn ra rng lun c th t c bng 4 mu. - Nm 1852 ng ta thng bo gi thuyt ny cho De Morgan. - Nm 1878 Keli ng bi ton trn trong Tuyn tp cc cng trnh ca Hi Ton hc Anh, gy nn s ch ca nhiu ngi.
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2
BI TON BN MU (tip)

- Nm 1976, ba nh khoa hc ngi M l K.Appel, W. Haken v J. Koch chng minh bng my tnh in t c rng gi thuyt ca Gazri l ng. nh l 10.5 (Appel - Haken): Mi th phng khng c nh nt u c sc s khng qu 4. D thy rng, th v hng y Kn (n 5) c sc s ln hn 4 nn khng phng.
GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

www.ptit.edu.vn

BI GING MN

TON RI RC 2

Nhm 2 Bi vn m- nhm 2: itbuivandam@gmail.com: 0982782663 V Vn Thun- nhm2: vuthuan1989@gmail.com: 01649607770 Nhm 3: Hong vn Nam: daigiathattien@yahoo.com.vn 0936916986 Nguyn Xun Cng;xcuongnd@gmail.com 0123558813 Nhm 5. nguyn th Tnh: nguyentinh.ptit.94@gmail.com 01644626065 Nguyn vn Nam nvnam.chjnsu@gmail.com 01685757972 Nhm 6 Phm Quag Chin chienptit.94@gmail.com 01677657894 Hong Th Hng hoanghangnd2810@gmail.com 01666858700
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

BI GING MN

TON RI RC 2

?
www.ptit.edu.vn GING VIN: TH.S.PHAN TH H B MN: CNG NGH PHN MM

You might also like