1. Trang chủ
  2. » Tất cả

Báo cáo Tô Màu đồ thị

14 6 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 14
Dung lượng 191,82 KB

Nội dung

Báo cáo mơn Trí tuệ nhân tạo nâng cao Hướng dẫn: PGS.TS Từ Minh Phương MỤC LỤC MỞ ĐẦU Trí tuệ nhân tạo hay trí thơng minh nhân tạo (tiếng Anh: artificial intelligence hay machine intelligence, thường viết tắt AI) trí tuệ biểu diễn hệ thống nhân tạo Thuật ngữ thường dùng để nói đến máy tính có mục đích khơng định ngành khoa học nghiên cứu lý thuyết ứng dụng trí tuệ nhân tạo Trí thơng minh nhân tạo liên quan đến cách cư xử, học hỏi khả thích ứng thơng minh máy móc Các ví dụ ứng dụng bao gồm tác vụ điều khiển, lập kế hoạch lập lịch (scheduling), khả trả lời câu hỏi chẩn đoán bệnh, trả lời khách hàng sản phẩm công ty, nhận dạng chữ viết tay, nhận dạng tiếng nói khn mặt Bởi vậy, trí thơng minh nhân tạo trở thành mơn học, với mục đích cung Nhóm – Lớp Hệ thống thông tin M16CQIS01-B Báo cáo mơn Trí tuệ nhân tạo nâng cao Hướng dẫn: PGS.TS Từ Minh Phương cấp lời giải cho vấn đề sống thực tế Trí tuệ nhân tạo bao gồm nhiều hướng nghiên cứu, ứng dụng cho hầu hết mặt đời sống xã hội Một hướng nghiên cứu Trí tuệ nhân tạo phương pháp tìm kiếm Trong nhóm phương pháp tìm kiếm có nhiều phương pháp Nằm số thuật tốn tìm kiếm, thuật tốn “Tơ màu tham lam (greedy coloring)” số giải thuật ứng dụng nhiều việc giải toán thực tế Giải thuật Tô màu tham lam lấy tảng thuật toán tham lam (Greedy) áp dụng trường hợp cụ thể tô màu đỉnh đơn đồ thị vơ hướng Với thời lượng có hạn, nhóm chúng tơi nêu khái qt thuật tốn tơ màu tham lam đồng thời đề xuất số ứng dụng thực tế thuật tốn Nhóm – Lớp Hệ thống thơng tin M16CQIS01-B Báo cáo mơn Trí tuệ nhân tạo nâng cao Hướng dẫn: PGS.TS Từ Minh Phương I GIỚI THIỆU GIẢI THUẬT THAM LAM 1.1 Hiểu biết chung thuật toán tham lam Tham ăn hiểu cách dân gian là: mâm có nhiều ăn, ngon ta ăn trước ăn cho hết chuyển sang ngon thứ hai, lại ăn hết ngon thứ hai chuyển sang ngon thứ ba… Thuật tốn tham lam thuật tốn tối ưu hóa tổ hợp Thuật tốn tìm kiếm, lựa chọn giải pháp tối ưu cục bước với hy vọng tìm giải pháp tối ưu toàn cục Chẳng hạn áp dụng thuật tốn tham lam với tốn hành trình người giao hàng: bước đến thành phố gần thành phố 1.2 Các thành phần giải thuật tham lam Giải thuật tham lam gồm thành phần sau: - Một tập hợp ứng viên (candidate) để từ tạo lời giải; - Một hàm lựa chọn để theo lựa chọn ứng viên tốt để bổ sung vào lời giải; - Một hàm khả thi (feasibility) dùng để định ứng viên dùng để xây dựng lời giải; - Một hàm mục tiêu để ấn định giá trị lời giải lời giải chưa hoàn chỉnh; - Một hàm đánh giá để ta tìm lời giải hồn chỉnh Có thành phần định tới lời giải giải thuật tham lam: Tính chất lựa chọn tham lam Chúng ta lựa chọn giải pháp cho tốt thời điểm sau giải tốn nảy sinh từ việc thực lựa chọn vừa Lựa chọn thuật tốn tham lam phụ thuộc vào lựa chọn trước Nhưng khơng thể phụ thuộc vào lựa chọn tương lai hay phụ thuộc vào lời giải toán Thuật toán tiến triển theo kiểu thực chọn lựa theo vịng lặp, lúc thu nhỏ tốn cho toán nhỏ Đây khác biệt thuật toán giải thuật quy hoạch động Giải thuật quy hoạch động duyệt hết ln đảm bảo tìm thấy lời giải Tại bước thuật toán, quy hoạch động đưa định dựa định bước trước, xét lại đường bước trước hướng tới lời giải Giải thuật tham lam định sớm thay Nhóm – Lớp Hệ thống thơng tin M16CQIS01-B Báo cáo mơn Trí tuệ nhân tạo nâng cao Hướng dẫn: PGS.TS Từ Minh Phương đổi đường thuật tốn theo định đó, khơng xét lại định cũ Đối với số tốn, thuật tốn khơng xác Cấu trúc tối ưu Một tốn gọi "có cấu trúc tối ưu", lời giải tối ưu toán chứa lời giải tối ưu toán lớn II GIẢI THUẬT TƠ MÀU THAM LAM 2.1 Phát biểu tốn Cho đồ thị G = đơn đồ thị vô hướng với tập đỉnh V = {v 1, v2, …,vn} Tô màu cho đỉnh đồ thị G cho đỉnh kề khơng tơ chung màu đồng thời số màu tơ - Input: Đồ thị G= , đơn đồ thị vô hướng với V ={v1, v2,…, vn} - Output: + Số màu sử dụng tô cho đỉnh đồ thị; + Các đỉnh với màu tô tương ứng 2.2 Trình bày giải thuật Thuật tốn tơ màu tham lam thực theo bước sau: Bước 1: Sắp xếp đỉnh đồ thị V’ ={v 1, v2…., vn} với thứ tự giảm dần bậc: d(v1) >d(v2) >….>d(vn); đặt i :=1; Bước 2: Tô màu i cho đỉnh danh sách; Duyệt đỉnh danh sách tô mầu i cho đỉnh không kề với đỉnh tô màu i; Bước 3: Nếu tất đỉnh tô màu kết thúc, đồ thị tơ i màu Ngược lại sang bước 4; Bước 4: Đặt i:=i+1 quay lại bước tô màu cho đỉnh (chưa tô) theo thứ tự tự bậc giảm dần 2.3 Áp dụng thuật tốn tơ màu cho đồ thị Cho đồ thị hình dưới: Nhóm – Lớp Hệ thống thơng tin M16CQIS01-B Báo cáo mơn Trí tuệ nhân tạo nâng cao Hướng dẫn: PGS.TS Từ Minh Phương Thực tô màu cho đồ thị theo giải thuật tô màu tham lam Bước 1: Sắp xếp đỉnh theo thứ tự giảm dần bậc ta được: V’ = {4, 5, 6, 1, 2, 3, 7}, i:=1 (màu đỏ); Bước 2: Tô màu i =1 cho đỉnh (đỉnh danh sách) Duyệt đỉnh có 02 đỉnh không kề với đỉnh đỉnh Tơ màu i = cho đỉnh 1, đỉnh khơng kề đỉnh nên tô màu i = cho đỉnh Sau bước ta tô màu cho đỉnh: 1, 4, với màu (màu đỏ) Bước 3: Ta xét đỉnh thấy cịn 04 đỉnh chưa tơ màu nên chuyển sang Bước 4; Bước 4: Tăng i :=2, cấm tất đỉnh tô màu không tô màu khác; quay lại Bước Lặp lại bước 2: Tô màu i = (màu xanh) cho đỉnh (đỉnh danh sách xếp, chưa tô màu) Xét đỉnh chưa tơ cịn lại có đỉnh: 2, không kề với đỉnh Tô màu cho đỉnh Do đỉnh không kề với đỉnh nên Nhóm – Lớp Hệ thống thơng tin M16CQIS01-B Báo cáo mơn Trí tuệ nhân tạo nâng cao Hướng dẫn: PGS.TS Từ Minh Phương tô màu cho đỉnh Sau bước ta tô màu cho 03 đỉnh gồm: 2, 3, 5: Chuyển bước 3: Xét đỉnh cịn lại thấy cịn đỉnh chưa tơ, chuyển bước Chuyển bước 4: Tăng i:=3 (màu vàng), cấm tất đỉnh tô màu không tô, chuyển bước Lặp lại bước 2: Tô màu i:= cho đỉnh Xét đỉnh chưa tô, đỉnh khơng kề với đỉnh Sau bước ta tô màu cho đỉnh 6 Chuyển bước 3: Xét đỉnh thấy tất đỉnh tô màu Thuật toán kết thúc trả về: - Số màu cần sử dụng: i:=3; Nhóm – Lớp Hệ thống thơng tin M16CQIS01-B Báo cáo mơn Trí tuệ nhân tạo nâng cao Hướng dẫn: PGS.TS Từ Minh Phương - Các đỉnh tô tương ứng: + Màu (màu đỏ): 1, 4, + Màu (màu xanh): 2, 3, + Màu (màu vàng): 2.4 Thử nghiệm thuật tốn với ngơn ngữ lập trình C Với đồ thị trên, ta quy dạng ma trận kề sau: Input: Dothi.in 1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 Code thử nghiệm thuật toán /*********Code by Ngo Ngoc Thang*********/ #include #include int A[30][30],n; FILE *fp; //doc ma tran void Read_Matrix(){ fp=fopen("Dothi.in","r"); fscanf(fp,"%d",&n); for(int i=1;i

Ngày đăng: 24/03/2017, 08:29

w