1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài áp dụng thuật giải heuristic cho bài toán tô màu tối ưu trên đồ thị

17 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 1,76 MB

Nội dung

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO TIỂU LUẬN TRÍ TUỆ NHÂN TẠO Đ TI: ÁP DỤNG THUẬT GIẢI HEURISTIC CHO BI TỐN TƠ MU TỐI ƯU TRÊN ĐỒ THỊ Sinh viên thực : HỒ KHÁNH LINH DƯƠNG THỊ THÙY LINH DƯƠNG MINH ANH Giảng viên hướng dẫn : VŨ VĂN ĐỊNH Ngành : CƠNG NGHỆ THƠNG TIN Lớp : D15CNPM3 Khóa : 2020-2025 Hà Nội, tháng năm PHIẾU CHẤM ĐIỂM ST T Họ tên sinh viên Hồ Khánh Linh Nội dung thực Điểm Làm báo cáo Làm chương trình Dương Thị Thùy Linh Làm báo cáo Dương Minh Anh Làm báo cáo Làm chương trình Làm chương trình Họ tên giảng viên Giảng viên chấm 1: Giảng viên chấm 2: Chữ ký Ghi Chữ ký MỤC LỤC LỜI NÓI ĐẦU Chương THUẬTGIẢI HEURISTIC 1.1 Định nghĩa 1.2 Các nguyên lí 1.2.1 Vét cạn thông minh 1.2.2 Nguyên lí tham lam 1.2.3 Nguyên lí thứ tự 1.2.4 Hàm Heuristic Chương GIẢI THUẬT 2.1 Bài toán tô màu đỉnh 2.1.1 Các định nghĩa sử dụng 2.1.2 Thuận toán 2.2 Bài tốn tơ màu cạnh 2.2.1 Giải thuật CHƯƠNG III ÁP DỤNG THUẬT TOÁN 12 3.1 Bài toán tô màu cạnh 12 3.1.1 Đọc liệu từ file 12 KẾT LUẬN 14 TI LIỆU THAM KHẢO 15 LỜI NÓI ĐẦU Ngày nay, với phát triển đất nước, ngành Cơng nghệ thơng tin có bước phát triển mạnh mẽ không ngừng tin học trở thành chìa khóa dẫn đến thành cơng cho nhiều cá nhân nhiều lĩnh vực, hoạt động Với ứng dụng mình, ngành Cơng nghệ thơng tin góp phần mang lại nhiều lợi ích mà khơng phủ nhận được, đặc biệt ngành trí tuệ nhân tạo Trí tuệ nhân tạo xử lí liệu nhanh hơn, khoa học hơn, hệ thống với quy mô rộng so với người Cách mạng 4.0 khiến cho nhiều nghề nghiệp bị thay dù việc chân tay hay trí óc Tuy khơng thể phủ nhận lợi ích đem lại trí tuệ nhân tạo Nhiều tập đồn cơng nghệ có kế hoạch phát triển trí tuệ nhân tạo nhằm giải vấn đề mà người chưa có phương án giải Phát triển quản lí sản phẩm trí tuệ nhân tạo cách cách thúc đẩy nhân loại phát triển, định hình giới Chính lợi ích trí tuệ nhân tạo mang lại mà ứng dụng áp dụng để phát triển cơng việc kinh doanh giải toán cách nhanh chóng Qua việc tìm hiểu thực tế, em thấy việc thiết kế hệ thống trợ lý ảo trí tuệ nhân tạo góp phần giúp ta hiểu rõ ngành trí tuệ nhân tạo Vì em chọn đề tài “Áp dụng thuật giải heuristic cho tốn tơ màu tối ưu đồ thị” với mong muốn vận dụng kiến thức học xây dựng hệ thống trợ lý ảo cách hữu hiệu Mặc dù cố gắng hoàn thiện đề tài với tất nỗ lực thân, với vốn kiến thức hạn chế, chưa có nhiều kinh nghiệm thực tế nên chắn khơng thể tránh khỏi thiếu sót, kính mong q thầy bạn tận tình bảo, góp ý để đề tài hoàn thiện Chương THUẬT GIẢI HEURISTIC 1.1 Định nghĩa Thuật giải Heuristic mở rộng khái niệm thuật tốn Nó thể cách giải tốn với đặc tính sau:  Thường tìm lời giải tốt (nhưng khơng lời giải tốt nhất)  Giải toán theo thuật giải Heuristic thường dễ dàng nhanh chóng đưa kết so với giải thuật tối ưu, chi phí thấp  Thuật giải Heuristic thường thể tự nhiên, gần gũi với cách suy nghĩ hành động người 1.2 Các nguyên lí 1.2.1 Vét cạn thơng minh Trong tốn tìm kiếm đó, khơng gian tìm kiếm lớn, ta thường tìm cách giới hạn lại khơng gian tìm kiếm thực kiểu dị tìm đặc biệt dựa vào đặc thù tốn để nhanh chóng tìm mục tiêu 1.2.2 Ngun lí tham lam Lấy tiêu chuẩn tối ưu (trên phạm vi toàn cục) toán để làm tiêu chuẩn chọn lựa hành động cho phạm vi cục bước (hay giai đoạn) trình tìm kiếm lời giải 1.2.3 Nguyên lí thứ tự Thực hành động dựa cấu trúc thứ tự hợp lý không gian khảo sát nhằm nhanh chóng đạt lời giải tốt 1.2.4 Hàm Heuristic Là hàm đánh giá thô, giá trị hàm phụ thuộc vào trạng thái toán bước giải Nhờ giá trị này, ta chọn cách hành động tương đối hợp lý bước thuật giải Chương 2: GIẢI THUẬT 2.1 Bài tốn tơ màu đỉnh 2.1.1 Các định nghĩa sử dụng Để mô tả giải thuật nhóm bắt đầu với việc diễn giải thuật ngữ,định nghĩa mà giải thuật đề cập tới - ⌊x ⌋: biểu thị chức sàn tức số nguyên lớn không lớn x - ⌈x⌉: biểu thị chức trần nghĩa số nguyên bé không bé hơnx - Một đồ thị đơn giản G với n đỉnh bao gồm tập đỉnh V, với |V| = n, cạnh E, cho cặp cạnh khơng có thứ tự đỉnh khác Lưu ý định nghĩa G rõ ràng cấm vòng lặp (cạnh nối đỉnh với nó) cạnh đa (nhiều cạnh tham gia cặp đỉnh), thiết lập E phải giới hạn Chúng tơi gắn gán nhãn đỉnh G với số ngun 2, …,n - Nếu cặp khơng có thứ tự đỉnh {u,v} cạnh G, nói u lân cận v (hoặc u kề với v) viết uv ∈ E Lân cận đói xứng rõ ràng mối quan hệ: uv ∈ E vu ∈ E - Bậc đỉnh v, ký hiệu d(v), số lân cận v Số bậc tối da tất đỉnh G kí hiệu Δ - Các ma trận kề G ma trận n × n với mục hàng u cột v uv ∈ E ngược lại Cho đồ thị G H, tích đề G × H định nghĩ đồ thị mà tập đỉnh V (G) × V(H) với cạnh kết nối đỉnh (u1,v1) với đỉnh (u2,v 2) u = u {v 1,v 2} cạnh H v = v {u 1,u 2} cạnh G - Đồ thị đầy đủvới m đỉnh ký hiệu Km - Tập độc lập S đồ thị G tập đỉnh mà khơng chứa cặp khơng có thứ tự đỉnh S cạnh Với đọc lập S G đỉnh v bên ngồi S, nói v thê vào đặt S ∪ {v} vân tập đọc lập G Ký hiệu ρ (S) số đỉnh thêm vào đặt S tập độc lập S G Một tập độc lập tối đa khơng có đỉnh thêm vào Một tập độc lập tối đa tập độc lập với số lượng đỉnh lớn Lưu ý tập độc lập tối đa luôn tối đa, không thiết phải ngược lại - Cho tập m màu {1,2,…,m}, tập màu m – màu đỉnh đồ thị G phân màu cho đỉnh G cho khơng có hai đỉnh kề có màu Số màu χ(G) đồ thị G giá trị nhỏ m mà tồn tương ứng m – màu đỉnh G - Thuật toán phương pháp giải đề thích hợp để thực chương trình máy tính Trong thiết kế thuật tốn thường phải đối mặt với số phương pháp tiếp cận khác - Thuận toán thời gian – đa thức A có số lượng bước tốn ln ln bị chặn hàm đa thức kích thước đầu vào Dó đó, thuận tốn thời gian đa thức đề thực hữu ích tring thực tế Các lớp tất vấn đề có thuật tốn thời gian đa thức kí hiệu P Đối với số vấn đề, khơng có thuật tốn thời gian đa thức biết đến, vấn đề có thuận toán thời gian đa thức bất định: thử tất ứng viên cho giải pháp lúc có ứng viên định, xác định xem giải pháp xác thời gian đa thức 2.1.2 Thuận tốn Nhóm bắt đầu với tích đề cho chép chuyển đổi đề việc tìm kiếm tập m – màu đỉnh n đồ thị tương đương việc tìm kiếm độc lập kích thước n tích đề G × K m - Tích đề các: Một đơn đồ thị G với n đỉnh tô m màu tích đề G × Kmcó tập đọc lập kích thước n Chứng minh: Giả sử có tập m – màu đỉnh G Xác định tập S đỉnh tích đề G × Kmnhư Một đỉnh (u,v) G × Kmthuộc S đỉnh u G giao màu v tập m màu thích hợp Vì đỉnh G giao màu nhất, |S| = n Bây S tập độc lập Cho (u 1,v 1) (u ,v 2) thuộc S, giả sử có cạnh {(u 1,v 1),(u 2,v 2)} G × K m Do đó, theo định nghĩ tích đề các, có hai khả năng: - u = u {v 1,v 2} cạnh Km Nhưng u = u với v = v2,từ đỉnh G giao màu Nhưng sau {v ,v1} cạnh trong K mkhi K mlà đơn đồ thị (mâuthuẫn) - {u1,u 2} cạnh G, v = v Nhưng điều vi phạm định nghĩa tập m màu G từ đỉnh kề phải giao màu khác (mâuthuẫn) Vì khơng thể có cạnh hai đỉnh S S phải tập độc lập Nhược lại, giả sử có tập độc lập S kích thước n tích đề G × K m Chúng ta G có m màu riêng biệt Nếu m lớn n G m màu cách tầm thường, giả sử m nhỏ n Sự phân chia đỉnh S vào nhiều m lớp tương đương C 1,C , , C m, nơi đỉnh (u,v) S thuộc lớp tương đương Cikhi v = vi Rõ ràng , điều đưa định nghĩa phân chia tốt đỉnh S.Bây đỉnh G vào nhiều m lớp tương đương C'1, C' 2, , C'm, nơimột u đỉnh G thuộc lớp tương đương C'i (u,vi)thuộc lớp tương đương Ci Để chứng tỏ điều ta đưa định nghĩa phân chia tốt đỉnh đỉnh G tuântheo: - Cho đỉnh u G, u thuộc haiC'ivà C'jthì (u , vi)thuộcCivà(u , vi)thuộc C j.Khi K m đầy đủ, {v i, v k}là cạnh K m,do đó, {(u , v i), (u , v j)}là mộtcạnh tích đề G ×K m Điều mâu thuẫn với thực tế S tập độc lập Vì vậy, C'1, C' , , C'mlà cặp phân chia - Danh sách phần tử S xếp nhưsau:  (U 1, v 1), (u 2, v 1), , (u i (1), v1)  (U 1, v 2), (u 2, v 2), , (u i (2),v 2)   (U m 1, v m), (u m 2, v m), , (um i (m), m v) Nếu số u ij= l k u danh sách, thì, K mđầy đủ,{vi,vl}là cạnh K m,do đó, {(u ij, v i), (u kl, v l)}là cạnh tích đề G × K m Điều mâu thuẫn với thực tế S tập độc lập Vì vậy, tất u ij xuất danh sách riêng biệt từ | S | = n , có n u iji phân biệt đỉnh G chứa số lớp tương đương 'C Dođó,… Chỉ định màu i đến đỉnh u G u thuộc lớp tương đương C i ' Điều nầy tạo tập m-màu đỉnh G Bây định nghĩa hai thủ tục để thực với tập độc lập tích đề G × K m - Thủ tục1: Với tập độc lập S tích đề G × Km S khơng có đỉnh thêm, đâu S Ngược lại, cho đỉnh thêm (u, v) S, tìm số ρ (S∪{(u, v)})của đỉnh thêm tập độc lập S ∪{(u, v)} Cho (u,v) max biểu thị đỉnhcó thể thêm cho ρ (S ∪{(u, v) max}) lớn chứa tập độc lập S ∪{(u, v)max} Lặp lại tập độc lập đỉnh thêmvào - Thủ tục2: Cho tập độc lập tối đa S tích đề G × Km, khơng có đỉnh (u1,v1) bên ngaoif S cho (u1,v1) có đings lân cận (u2,v2) S, đầu S Ngược lại, tìm thấy đỉnh (u1,v1) ngồi S cho (u1,v1) có lân cận (u2,v2) S Xác định S(u1,v1), (u2,v2) cách thêm (u1, v1) vào S bỏ (u2,v2) từ S Thực thủ tục 3.1 S(u1,v1),(u2,v2) đầu tập độc lập kết Giải thuật Với đầu vào đơn đồ thị G với n đỉnh, tìm kiếm tạo m – màu đỉnh G Để {u1,u 2, ,un} biểu thị đỉnh G để {v 1,v 2, ,vm} biểu thị đỉnh Km Chúng ta tạo tập độc lập tối đa tích đề G×K m Ở giai đoạn, tập độc lập thu có kích thước n nhỏ nhất, đến phần III Về thuận tốn giải tốn tơ màu cạnh đồ thị giới có nhiều thuật toán như: Nếu tập độc lập S với kích thước n tìm thấy giai đoạn phần I phần II, đầu raS tập m – màu đỉnh G theo đề đềcác Ngược lại, kết luận thuật tốn khơng thể tìm thấy tương ứng m – màu đỉnh G • Phần I: Đối với i=1,2,…,n j= 1,2,…,n o Khởi tạo tập độc lập S i,j={(ui,v j)} o Thực thủ tục 3.1 S i,j o Đối với r = 1, 2, , n thực thủ tục 3.2 lặp lại rlần o Kết tập độc lập tối đa S i,j • Phần II: Với cặp tập độc lập tối đa S i,j, S k,ltìm thấy phầnI o Khởi tạo S đặt độc lậpi,j,k,l =Si,j∩Sk,l o Thực thủ tục3,1trênS i,j,k,l o Đối với r = 1, 2, , n thực thủ tục 3,2 lần r lặp lặplại o Kết tập độc lập tối đaSi,j,k,l • Phần III:Nếu tập độc lập S với kích thước n tìm thấy giai đoạn phần I phần II, đầu S tập m – màu đỉnh G theo đề đề Ngược lại, kết luận thuật tốn khơng thể tìm thấy tương ứng m – màu đỉnh G 2.2 Bài toán tơ màu cạnh 2.2.1 Giải thuật Về thuận tốn giải tốn tơ màu cạnh đồ thị giới có nhiều thuật tốn như: • Thuật toán thu gọn (Contraction algorthms) đề xuất Zykov • Thuật tốn tơ màu theo dãy (sequentialcoloring) Trong thuận tốn tơ màu theo dãy lại ứng dụng nhiều cách khác Ý tưởng thuận toán xoay quanh việc xếp thứ tự cạnh đồ thị theo thứ tự định Đánh trọng số cho màu dung để tơ Sauđó duyệt cạnh theo thứ tự nêu Trong trình duyệt tơ màu cho cạnh màu có trọng số nhỏ mà chưa sử dụng để tô cho cạnh kề Đâylà vận dụng sử dụng thuật toán tham lam Kết toán khác nhaunếu chọn thứ tự cạnh khác Do cải tiến haycác thuật toán khác dựa thuật toán hầu hết cải tiến việc lựa chọn thứ tự cho cạnh ban đầu Trong chương trình ứng dựng nhóm, giải thuật đưa mức minh họa cách tơ màu cạnh đồ thị vơ hướng Trong đó, việc xếp thứ tự đỉnhđược đồng nghĩa với thứ tự đỉnh xếp đầu vào Do thuật tốn thu gọn sau: • Thứ tự cạnh xếp trình nhập liệu đồ thị Các cạnh đánh số theo thứ tự E1, E2, ,En • Tìm bậc lớn đồ thị (Δ) • Chuẩn bị (Δ+1) màu để tơ • Bước i: Tơ màu cạnh Ei màu có số nhỏ số màuchưa sử dụng để tô màu cạnh kề Trong bước i tùy theocách cài đặt có cáchđánh màu khác Với thuận tốn tìm cách tơ màu cho cạnh đồ thị với số màu không Δ+1 màu ( vấn đề thấy rõ sâu vàophần cài dặt) Vậy số màu nhỏ hay chưa Theo định lý Vizing phát biểu trên, ta có Δ(G)≤ χ′(G) ≤ Δ(G) + Vậy sắc số cạnh nằm hai giá trị Δ(G) Δ(G) + Với việc chọn số màu lớn tơ Δ(G)+1, thuật tốn kẹp cận sắc số cạnh Với việc lựa chọn màu có số nhỏ chưa sử dụng để tô cạnh kề cho cạnh, số màu sử dụng số màu nhỏ Chương ÁP DỤNG THUẬT TOÁN Trong phần cài đặt tốn tơ mầu cạnh có cách nhập liệu (bằng file nhập từ bàn phím), tốn tơ mầu đỉnh cho phép nhập liệu từ file Menu chương trình hiển thị lựa chọn nhập liệu: 3.1 Bài tốn tơ màu cạnh 3.1.1 Đọc liệu từ file Hàm có câu lệnh for lồng nên độ phức tạp O(n2) KẾT LUẬN Các tốn tơ màu đỉnh tơ màu cạnh áp dụng chiến lược tìm kiếm heuristic (cố gắng đưa lời giải tốt bước thực hiện) khơng quay lui Do thuật tốn khơng phải vét cạn khơng gian tìm kiếm lời giải “đủ tốt” Đặc biệt ứng dụng vào để tơ màu đồ, miền khác (miền hiểu quốc gia đồ giới hay tỉnh đồ hành quốc gia) để tô màu cho miền có chung biên giới khơng trùng màu Đối với đồ có nhiều miền, ta dùng số lượng lớn màu khó phân biệt miền có màu gần giống nhau, người ta dùng số lượng màu định để tô màu đồ Một toán đặt là: dùng màu để tơ màu đồ cho miền kề khơng màu Bài tốn dẫn đến định lý bốn màu tiếng định lý năm màu Qua kết đạt ban đầu, em nhận thấy nhiều việc phải làm, cần phải tối ưu Nhưng cách tiếp cận ban đầu cho kết tích cực đắn, giải vấn đề xây dựng tính tốn hệ thống đối thoại Định hướng nghiên cứu tiếp theo, em tiếp tục làm mượt liệu, để tạo mơ hình có khả trả lời sát với ngữ cảnh, đạt chất lượng cao hơn, giảm khả lảng tránh đưa tính cá nhân vào đoạn hội thoại Từ áp dụng cho nhiều tốn tơ màu đồ thị TI LIỆU THAM KHẢO Bài giảng thầy Vũ Văn Định Coloring random graphs : organization of solutión and computational hardness - Lenka Zdeborova’ Florent Krzakala Graph coloring problems and their applications in scheduling - Da’niel Mark Graph coloring algorithms - Walter Klotz Reducibility among combinatorial problems, Complexity of Computer Computations, Plenum Press, 1972- R.M Karp The Vertex Coloring Algorithm - Ashay Dharwadker Các viết wikipedia trang web

Ngày đăng: 12/06/2023, 16:22

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w