Trí tuệ nhân tạo Bài toán hệ thống dây điện

18 4 0
Trí tuệ nhân tạo  Bài toán hệ thống dây điện

Đ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

MỤC LỤC LỜI NÓI ĐẦU 3 Phân tích bài toán 4 Phát biểu bài toán 4 Mô tả bài toán hệ thống dây điện 4 Thuật toán Prim 4 Giới thiệu thuật toán 4 3 Mô tả thuật toán Prim 6 Giải thuật bài toán hệ thống dây.

MỤC LỤC LỜI NÓI ĐẦU I Phân tích tốn Phát biểu toán Mô tả toán hệ thống dây điện II Thuật toán Prim Giới thiệu thuật toán Mơ tả thuật tốn Prim III Giải thuật toán hệ thống dây điện áp dụng thuật toán Prim Cài đặt thuật toán Chương trình giải toán hệ thống dây điện TỔNG KẾT 16 LỜI NÓI ĐẦU Lý thuyết đồ thị cơng cụ quan trọng có nhiều ứng dụng lĩnh vực khác sống Lý thuyết đồ thị sử dụng để nghiên cứu, làm đơn giản hóa giải toán việc giải toán cơng cụ khác tốn học khó khăn Cùng với phát triển xã hội, việc di chuyển người, hàng hóa thơng tin,… ngày gia tăng Cùng cới gia tăng u cầu cực tiểu chi phí, khoảng cách, thời gian, trở lên quan trọng Theo lý thuyết đồ thị tốn tìm đường ngắn đỉnh đồ thị Chẳng hạn tốn tìm đường ngắn thành phố, Bài tốn tìm tuyến xe bt từ địa điểm đến địa điểm cho tiết kiệm chi phí nhất,… Bài tốn tìm đường ngắn trở nên cấp thiết quan trọng tương lai Do quan trọng cấp thiết tốn tìm đường ngắn nên có nhiều nhà tốn học đưa nhiều thuật toán để giải vận dụng vào để giải nhiều toán thực tế Trong số thuật tốn đưa có thuật tốn Prim tìm khung nhỏ I Phân tích tốn Phát biểu tốn Có n phịng làm việc cơng ty phịng làm việc xác định thơng số khoảng cách Một đường xuất phát từ đỉnh qua phòng làm việc lại cho phịng có điện Tìm đường ngắn dây điện Giải toán phương pháp tìm đường ngắn – thuật tốn Prim Mơ tả tốn hệ thống dây điện Bài tốn hệ thống dây điện biểu diễn thành đồ thị, phịng làm việc biểu diễn dạng đỉnh, đường daay điện nối phòng biểu diễn dươi dạng giá trị cạnh nối đỉnh Tuy nhiên, đồ thị sau xây dựng dựa đỉnh đường nối dây điện đồ thị hồn chỉnh đủ, phịng làm việc khơng có đường trực tiếp nối với mà phải thông qua nhiều phòng trung gian khác ta gán trọng số cạnh lớn Khi đó, tốn hệ thống dây điện trở thành tốn tìm đường ngắn A B C D B 35 10 C 35 20 D 10 25 25 Nếu khoảng cách hai phòng cho hai hướng dùng đồ vơ hướng, ngược lại ta sử dụng đồ thị có hướng II Thuật toán Prim Giới thiệu thuật toán Trong khoa học máy tính, thuật tốn Prim thuật tốn tham lam để tìm bao trùm nhỏ đồ thị vơ hướng có trọng số liên liên thơng Nghĩa tìm tập hợp cạnh đồ thị tạo thành chưa tất đỉnh, so cho tổng trọng số cạnh nhỏ Thuật tốn tìm năm 1930 nhà tốn học Séc Vojtěch Jarník sau nhà nghiên cứu khoa học myas tính Robert C Prim năm 1975 lần độc lập Edsger Dijkstra năm 1959 Do gọi thuật tốn DJP, thuật Jarník, hay thuật tốn Prim– Jarník Thuật toán tham lam Một thuật toán tham lam, tên gọi cua nó, ln ln làm lựa chọn tốt thời điểm Điều có nghĩa rằng, lựa chọn tốt bước dẫn tới lời giải tối ưu Cây khung nhỏ Theo lý thuyết đồ thị, biết đồ thị biểu diễn cơng thức G=(V,E), đồ thị G bao gồm tập đỉnh V tập cạnh E • Cây khung (spanning tree) đồ thị tập hợp cạnh đồ thị thỏa mãn tập cạnh không chứa chu trình liên thơng (từ đỉnh tới đỉnh khác theo mà dùng cạnh khung) • Trong đồ thị có trọng số, khung nhỏ (minimum spanning tree) khung có tổng trọng số cạnh nhỏ • Ví dụ khung đồ thị vơ hướng khơng trọng số: • Ví dụ đồ thị có trọng số: Mơ tả thuật toán Prim Thuật toán xuất phát từ chưa đỉnh mở rộng bước một, bước thêm cạnh vào cây, bao trùm tất đỉnh đồ thị • Dữ liệu vào: Một đồ thị có trọng số liên thơng với tập hợp đỉnh V tập hợp cạnh E ( trọng số âm) Đồng thời dùng V E để ký hiệu số đỉnh số cạnh đồ thị • Khởi tạo: Vmới = {x}, x đỉnh (đỉnh bắt đầu) V, Emới = {} • Lặp lại Vmới = V: Chọn cạnh (u, v) có trọng số nhỏ thỏa mãn u thuộc Vmới v không thuộc Vmới, thêm cạnh (u, v) vào Emới Thêm v vào Vmới thêm cạnh (u, v) Emới • Dữ liệu ra: Vmới Emới tập hợp đỉnh tập hợp cạnh bao trùm nhỏ  Độ phức tạp tính tốn Một cách lập trình đơn giản sử dụng ma trận kề tìm kiếm tồn mảng để tìm cạnh có trọng số nhỏ có thời gian chạy O(V2) Bằng cách sử dụng cấu trúc liệu đồng nhị phân danh sách kề, giảm thời gian chạy xuống O( E log V) Bằng cách sử dụng cấu trúc liệu đồng Fibonanci phức tạp hơn, giảm thời gian chạy xuống O(E + V log V), nhanh thuật toán trước đồ thị có số cạnh E =ω(V)  Hình ảnh minh họa cho thuật tốn Prim Đáp án thuật toán là: Ma trận đường đi: Trong toán hệ thống đường dây điện Aij để từ phòng làm việc i đến phòng làm việc j, theo nội dung phân tích đường dây điện vài phòng đến phịng khác, kết hợp lại t có ma trận đường sau: A11 A12 A13 … A1n A21 A22 A13 … A2n A= … ……… … An1 An2 An3 … Ann Ma trận A gọi ma trận đường dây điện III Giải thuật toán hệ thống dây điện áp dụng thuật toán Prim Cài đặt thuật toán 13 24 22 13 13 19 22 14 13 19 19 13 14 22 19 13 - Viết ngôn ngữ C++ - Ma trận kề đồ thị - Input: Ma trận kề file “input.txt” - Output: Tính khoảng cách theo thuật tốn Prim Chương trình giải tốn hệ thống dây điện #include #define MAX 100 using namespace std; struct edg{ int dau, cuoi, h; }; class dothi{ int n, c[MAX][MAX], ne, atree[MAX][MAX]; edg graph[MAX], tree[MAX]; public: int s; bool chuaxet[MAX]; void readdata(); void init(); void treedfs(int u); void bubblesort(); void prim(int s); }; void dothi::readdata(){ FILE* f; int i; f=fopen("input.txt", "r"); if(f==NULL) printf("Mo file co loi!"); fscanf(f,"%d", &n); ne=0; for(int i = 1; i

Ngày đăng: 21/10/2022, 13:52

Hình ảnh liên quan

 Hình ảnh minh họa cho thuật tốn Prim - Trí tuệ nhân tạo  Bài toán hệ thống dây điện

nh.

ảnh minh họa cho thuật tốn Prim Xem tại trang 6 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan