Thông tin tài liệu
I HC QUC GIA TP. H CHÍ MINH I HC CÔNG NGH THÔNG TIN KHOA KHOA HC MÁY TÍNH TIU LUN : Ging dn: PGS. TS. Hc viên thc hin: NGUY Lp: Cao hc Khóa 6 MSHV: CH1101159 TP. H Chí Minh, tháng 08 Em xin bày t lòng bin PGS. TS. i hc Công Ngh ng dn, cung cp kin thc, truyn t nhng kinh nghim quí báu giúp em hoàn thành tt bài tiu lun này. , các anh, ch tr, lo lng viên. ng tht c các bng h chúng tôi trong quá trình thc hin bài tiu lun này. u c gc chn s không tránh khi nhng thiu sót, em rt mong nhc s n ca các Thy giáo, Cô giáo và các b c hoàn thi Em xin chân thành c Tp H Chí Minh, tháng 05 Hc viên NHN XÉT (Ca ging dn) 1 th 2 th 2 3 1.2.1. Cnh liên thunh k, bc 3 4 1.3. Biu di th 4 1.3.1. Ma trn k 4 1.3.2. Danh sách cnh 5 1.3.3. Danh sách k 6 1.3.4. Danh sách liên thuc 7 Ch th ng cu 8 2.1. Gii thiu bài toán 8 2.2. Thut toán VF 9 2.3. Biu din thut toán VF 10 2.4. Các lut xét tính kh thi ca trng thái 11 phc tp ca thut toán VF 12 t lun 13 14 TÀI LIU THAM KHO 16 Tiu lun CSDL nâng cao: Gi th ng cu bng thut toán VF Trang 1 GVHD: PGS. TS. Hc viên: Nguy th là mt cu trúc d lic s dng rng rãi trong vic biu din thông tin c ng dng rng trong qun lý và khai phá d lin các bài th th ng cn nay vi gii hoàn ch phc tp ca bài toán là rt l th có s nh ln và m các cnh dày. ng 5 thum gii quyt th ng cu bao gm Ullman, SD, Nauty, VF và VF2. Trong s u qu nht là VF và VF2 vi VF2 là thut toán ci tin da trên VF. Báo cáo s trình bày v lý thuy thm v bài toán ng c thng ca thut, ng thi tính toán phc tp ca thut toán này nhm làm rõ tính hiu qu ca thut toán VF. Tiu lun CSDL nâng cao: Gi th ng cu bng thut toán VF Trang 2 GVHD: PGS. TS. Hc viên: Nguy 1.1. th là mô hình biu din mt tng và mi quan h hai ngôi gia các ng: Graph = Object + Connections G = (V,E) Có th th G là mt cp các nh (vertices) biu ding và E gi là tp các cnh (edges) biu din mi quan h gi ng. Chúng ta quan tâm ti mi quan h hai ngôi (pairwise relations) ging nên có th coi E là tp các cp (u, v) vi u và v là hai nh ca V biu ding có quan h vi nhau. Hình 1: Các ng dng c th. Có th phân lo th c tính và s ng ca tp các cnh E: c g th (hay gi t th) nu ginh u, v V có nhiu nht là 1 cnh trong E ni t n v. c g th (multigraph) nu ginh u, v V có th có nhiu nh trong E ni u và v. Nu có nhiu cnh ni ginh u, v V thì nhng cc gi là cnh song song (parallel edges) c g th ng (undirected graph) nu các cnh trong E là ng, tc là cnh nnh u, v V bnh ni 2 nh v, u. Hay nói cách khác, tp E gm các cp (u, v) không tính th t: (u, v) = (v, u). c g th ng (directed graph) nu các cnh trong E là có ng, tc là có th có cnh ni t c Tiu lun CSDL nâng cao: Gi th ng cu bng thut toán VF Trang 3 GVHD: PGS. TS. Hc viên: Nguy có cnh ni t nh u. Hay nói cách khác, tp E gm các cp (u, v) có tính th t: (u, v) th ng, các cc gi là các cung (arcs). Hình 2: Phân lo th. 1.2. th G = (V, E) là mt cu trúc ri rc, tc là các tp V và E là tc, vì vy ta có th th t n t ca tng nht các phn t thuc tp V và E vi s th t ca chúng. i lp trình cho máy tính thì ta ch n th hu hn (V và E là tp hu hn), chính vì vy t sau, nu không chú thích gì thêm thì khi nói t th, ta hiu r th hu hn. 1.2.1. Cnh liên thunh k, bc i v th ng G = (V, E). Xét mt cnh e E, nu e = (u,v) thì ta nói hai nh u và v là k nhau (adjacent) và cnh e này liên thuc (incident) vnh v. Vi m th c (degree) ca v, kí hiu deg(v) là s cnh liên thuc v th thì s cnh liên thuc v s nh k vi v. i v th ng G = (V, E). Xét trong mt cung e E, nu e = (u,v) thì ta nói u ni ti v và v ni t c gnh c gnh cui ca cung e. Tiu lun CSDL nâng cao: Gi th ng cu bng thut toán VF Trang 4 GVHD: PGS. TS. Hc viên: Nguy Vi m th c ra (out-degree) ca v kí hiu deg + (v) là s i nó; bán bc vào (in-degree) kí hiu deg - (v) là s . 1.2.2. Mt nh: P = <p 0 , p 1 k > Sao cho (p i-1 , p i ) E,vi mc gi là m này gnh p 0 , p 1 k và k cnh (p 0 , p 1 ), (p 1 , p 2 ), k-1 , p k ). Nu có mt k, , kí hiu p 0 ~> p k nh p 0 c gnh p k gnh cui cnh p 1 , p 2 k-1 c gnh trong ca . Mu tt c nh trên 0 , p 1 k > tr thành chu trình (circuit) nu p 0 = p k th c gu k nh p 1 , p 2 , k hoàn toàn phân bit. 1.3. Khi lp trình gic mô hình hóa b th, viu tiên ta cn làm tìm cu trúc d li biu di th sao cho vic gii quyc thun tin nht. Có rt nhiu di th, trong bài này chúng ta s kho sát mt s bin nht. Tính hiu qu ca tu din s c ch ng thut toán c th. 1.3.1. Ma trn k Vi G = (V, E) là m th các nh t ng nht mnh vi s th t ca nó. B v th G có th biu din bng ma trn vuông A = {a ij } n*n a ij = 1 nu (i,j) E 0 nu (i,j) không E Tiu lun CSDL nâng cao: Gi th ng cu bng thut toán VF Trang 5 GVHD: PGS. TS. Hc viên: Nguy Vi mi i, giá tr ca các phn t ng chéo chính ma trn A: {a ij }có th t tùy theo m th, chng ht bng 0. Ma trn A xây dc gi là ma trn k (adjacent matrix) c th G. Vic biu di th c qui v vic biu din phiên b ng: thay mi cnh (i,j) bi hai cung ng nhau: (i,j) và (j,i). i v th thì vic biu di u n là cung thì a ij là s cnh ni ginh j. Hình 3: Ma trn k biu di th. m ca ma trn k: n, trc quan, d cài t trên máy tính. Kinh liên kt rn thông qua phép so sánh giá tr a ij 0. m ca ma trn k: i n 2 ô nh d liu gây lãng phí b nh. Khi bài toán yêu cu duyt qua tt c nh j k vnh i, ta luôn phi duy kim tra giá tr a ij . 1.3.2. Danh sách cnh Hình 4: Danh sách cnh biu di th. Tiu lun CSDL nâng cao: Gi th ng cu bng thut toán VF Trang 6 GVHD: PGS. TS. Hc viên: Nguy V th nh, m cnh, ta có th lit kê tt c các cnh c th trong mt danh sách, mi phn t ca danh sách là mt cp (x, ng vi mt cp cng h th ng thì (x, y) là m n y. Cách biu din này gi là danh sách cnh. m ca danh sách cnh: ng h th tit ki vì ch s dng m ô nh. ng hp phi xét tt c các cnh thì vic duyt qua các cnh s d c t m ca danh sách cnh: Khi cn duynh j k v th ta phi duyt ht m cnh. Khi kinh i, j có k i duyt qua m cnh. Khi g th phc tp thut toán s m trên. 1.3.3. Danh sách k khc phm ca 2 cách biu di th pháp biu di th bng danh sách k (adjacency list). Trong cách biu din này, vi mnh v c th ng vi nó mnh k vi u. V th ng G = (V, E). V gnh và E gm m cung. Có hai cách cài t danh sách k ph bin: Forward Star: vi m mt danh sách adj[u] chnh ni t u: adj[u] = { v: (u, v) E }. Reserve Star: vi m mt danh sách adj[v] chnh ni n v: adj[v] = { u: (u, v) E }. m ca danh sách k i vi danh sách k , vic duynh k vc là ht sc d dàng. Vic duyt các cn vì mt cnh thc ra là ni mnh vi mt nh khác k nó. m ca danh sách k [...]... đẳng cấu giữa đồ thị 2 và các đồ thị con của đồ thị 1, ta nhấn nút Kết quả để xem bộ các ánh xạ thu đƣợc nếu bài toán có kết quả Ngƣợc lại, nếu hoàn toàn không có bất kỳ đồ thị con nào của đồ thị 1 đẳng cấu với đồ thị 2, chƣơng trình sẽ hiển thị thông báo là không tìm đƣợc đồ thị đẳng cấu GVHD: PGS TS h c Học viên: Nguyễn hƣơng Anh Tiểu luận CSDL nâng cao: Giải bài toán đồ thị đẳng cấu bằng thuật toán. .. nâng cao: Giải bài toán đồ thị đẳng cấu bằng thuật toán VF Trang 15 Tạo bộ dữ liệu ngẫu nhiên: ngƣời dùng nhập số đỉnh của đồ thị và nhấn vào nút Tạo Random để tạo đồ thị ngẫu nhiên Tạo bộ dữ liệu ngẫu nhiên nhƣng đẳng cấu: ngƣời dùng nhấn nút Tạo đẳng c u để tạo ngẫu nhiên cả 2 đồ thị hoàn toàn đẳng cấu với nhau Sau khi nhập dữ liệu, danh sách cạnh kề sẽ hiển thị dƣới m i đồ thị để ngƣời dùng có... hai đồ thị G1 và G2: f: M(G1) → M(G2) với tính chất rằng cặp đỉnh ni và nj bất kỳ của G1 kề nhau khi và chỉ khi hai đỉnh f(ni) và f(nj) kề nhau trong đồ thị G2 Nếu có thể xây dựng một phép đẳng cấu giữa hai đồ thị, ta nói rằng hai đồ thị này đẳng cấu với nhau Bài toán đồ thị đẳng cấu xác định xem hai đồ thị có đẳng cấu với nhau hay không Ví dụ: xét 2 đồ thị: Tuy trông rất khác nhau, ch ng là hai đồ thị. .. liên thuộc ặc biệt trong trƣờng hợp đồ thị có hƣớng, ta có thể xây dựng danh sách liên thuộc từ danh sách cạnh tƣơng đối dễ dàng bằng cách bổ sung các con trỏ liên kết GVHD: PGS TS h c Học viên: Nguyễn hƣơng Anh Tiểu luận CSDL nâng cao: Giải bài toán đồ thị đẳng cấu bằng thuật toán VF Trang 8 hương 2: ài toán tìm đồ thị đẳng cấu 2.1 Giới thiệu bài toán hép đẳng cấu đồ thị (graph isomorphism) là một song... giữa đồ thị và đồ thị con trong đó đẳng cấu giữa đồ thị và đồ thị con thƣờng đƣợc sử dụng nhiều nhất Ta có thể định nghĩa M là một tập có thứ tự các cặp (n, m) với n ϵ G1 và m ϵ G2 thể hiện ánh xạ từ n đến m: M = { (n, m) ϵ N1 x N2 | n ánh xạ đến m } GVHD: PGS TS h c Học viên: Nguyễn hƣơng Anh Tiểu luận CSDL nâng cao: Giải bài toán đồ thị đẳng cấu bằng thuật toán VF Trang 9 Theo lý thuyết, việc giải quyết... thị đồng cấu Dƣới đây là một phép đẳng cấu giữa ch ng: f(a) = 1 f(b) = 6 f(c) = 8 f(d) = 3 f(g) = 5 f(h) = 2 f(i) = 4 f(j) = 7 Quá trình tìm đẳng cấu giữa 2 đồ thị G1 = (N1, B1) và G2 = (N2, B2) là quá trình tìm ra ánh xạ M từ đồ thị G1 sang G2 Có nhiều luật khác nhau đƣợc áp dụng cho M và tƣơng ứng với các luật thì sẽ có nhiều loại đẳng cấu khác nhau: đơn đẳng cấu, đẳng cấu hoàn toàn, đẳng cấu giữa đồ. .. Anh Tiểu luận CSDL nâng cao: Giải bài toán đồ thị đẳng cấu bằng thuật toán VF Trang 13 hương 3: Kết luận Thuật toán VF với đặc trƣng là xử lý theo từng trạng thái của lời giải kết hợp với các luật xét tính khả thi của trạng thái kế tiếp đã làm giảm đáng kể các phép so sánh cần sử dụng, qua đó làm giảm độ phức tạp của thuật toán một cách đáng kể Cụ thể khi so sánh với thuật toán Ullman với độ phức tạp... giải quyết bài toán này có thể đƣợc thực hiện bằng cách duyệt qua tất cả các trạng thái ánh xạ có thể có và chọn ra một lời giải phù hợp với loại đẳng cấu cần tìm (sử dụng thuật toán Brute Force) 2.2 Thuật toán VF Thuật toán VF dựa trên khái niệm không gian mô tả trạng thái (viết tắt tiếng anh là SSR) mô tả quá trình tìm đẳng cấu của đồ thị với m i trạng thái s thể hiện một phần của lời giải Khi đó... CSDL nâng cao: Giải bài toán đồ thị đẳng cấu bằng thuật toán VF Trang 10 Sau đó ch ng ta lại tiếp tục tìm một cặp ánh xạ (n, m) sao cho vẫn đảm bảo tính đẳng cấu của đồ thị tức là tìm trạng thái sj mới dựa trên si nhƣ sau: L c đó trạng thái M(sj) = { (n1, m4), (n2, m1), (n3, m2) } L c đó trạng thái của 2 đồ thị đẳng cấu ta xây dựng đƣợc nhƣ sau: Việc lặp đi lặp lại các thao tác tính toán theo từng trạng... mật độ cạnh dày đặc (mạng xã hội) nên việc tìm hiểu và nghiên cứu nhằm đƣa ra một thuật toán mới có tính ứng dụng cao trong việc tìm đồ thị đẳng cấu vẫn còn là một câu hỏi lớn chƣa có lời giải - o0o - GVHD: PGS TS h c Học viên: Nguyễn hƣơng Anh Tiểu luận CSDL nâng cao: Giải bài toán đồ thị đẳng cấu bằng thuật toán VF Trang 14 P Ụ Ụ ướng dẫn sử dụng chương trình demo Chƣơng trình đƣợc cài đặt bằng . SD, Nauty, VF và VF2 . Trong s u qu nht là VF và VF2 vi VF2 là thut toán ci tin da trên VF. Báo cáo s trình bày v lý thuy thm v bài toán ng. cu 8 2.1. Gii thiu bài toán 8 2.2. Thut toán VF 9 2.3. Biu din thut toán VF 10 2.4. Các lut xét tính kh thi ca trng thái 11 phc tp ca thut toán VF 12 t. thut, ng thi tính toán phc tp ca thut toán này nhm làm rõ tính hiu qu ca thut toán VF. Tiu lun CSDL nâng cao: Gi th ng cu bng thut toán VF Trang 2 GVHD:
Ngày đăng: 10/04/2015, 14:34
Xem thêm: Giải bài toán đồ thị đẳng cấu dùng thuật toán VF, Giải bài toán đồ thị đẳng cấu dùng thuật toán VF