HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN
Trang 2Mục Lục
1 Định nghĩa:
2 Bài toán tìm kiếm đường đi Hamilton
3 Thuật toán tìm kiếm đường đi Hamilton……….84 Ứng dụng của đồ thị Hamilton
Trang 31 Định Nghĩa
- Đường đi Hamilton có nguồn gốc từ bài toán: "Xuất phát từ một đỉnh
của khối thập nhị diện đều hãy đi dọc theo các cạnh của khối đó sao cho đi qua tất cả các đỉnh khác, mỗi đỉnh đúng một lần sau đó quay về đỉnh xuất phát." là gọi theo tên của William Rowan Hamilton phát biểu vào năm 1859
Khối thập nhị diện đều
- Đồ thị Hamilton là đồ thị có chứa ít nhất hai đỉnh là chu trình và đường
đi Hamilton
Trang 4+ Chu trình bắt đầu từ một đỉnh v nào đó qua tất cả các đỉnh còn
lại mỗi đỉnh đúng một lần rồi quay về v được gọi là chu trình Hamilton + Đường đi qua tất cả các đỉnh của đồ thi mỗi đỉnh đúng một lần được gọi là đường đi Hamilton .
-Đồ thị Hamilton là một loại đồ thị đơn vô hướng.
Ví dụ đồ thị Hamilton
- Đồ thị nửa Hamiltonnếu có đường đi Hamilton
Trang 5
Ví dụ về đồ thị nửa Hamilton
2. Bài toán tìm kiếm đường đi Hamilton
Bài toán:
- Xét 1 đồ thị G = (V, E) với tập đỉnh V và tập cạnh E Đồ thị này có thể vô
hướng hoặc có hướng, đơn hoặc đa.
- Cần tìm một đường đi đi qua mỗi đỉnh của đồ thị một lần duy nhất và chỉ
một lần Đường đi này gọi là đường đi Hamilton Đường đi Hamilton không yêu cầu sự liên tục, tức là các cạnh không cần phải nối tiếp nhau theo quy tắc nào đó.
Phương pháp giải quyết:
- Quay lui (back tracking)
Phương pháp quay lui là một trong những phương pháp đơn giản nhất để tìm kiếm đường đi Hamilton trong một đồ thị Ý tưởng chính của phương pháp này là kiểm tra tất cả các đường đi có thể, bắt đầu từ một đỉnh cho trước Khi kiểm tra một đường đi tiếp theo, chúng ta thử tất cả các đỉnh có thể kết nối với đỉnh hiện tại và chưa được thăm Nếu tìm thấy một đường đi
Trang 6hoàn chỉnh, tức là đã tìm thấy một đường đi Hamilton Nếu không, chúng ta quay lại và thử các đường đi khác.
- Quy hoạch động (Dynamic programming)
Trong một số trường hợp đặc biệt, chúng ta có thể sử dụng quy hoạch động để giải quyết vấn đề đường đi Hamilton Phương pháp này thông qua việc tìm kiếm các lời giải con phù hợp để xây dựng lên lời giải cuối cùng Dựa trên cấu trúc đồ thị và các phương trình đệ quy, ta có thể tính toán các giá trị tương ứng với các lời giải con và dùng chúng để xây dựng lên lời giải cuối cùng.
- Thuật toán Nhánh và Cận (Branch and Bound)
Thuật toán nhánh và cận (Branch and Bound) là một thuật toán tìm kiếm động để giải quyết các bài toán tối ưu Ý tưởng cơ bản của thuật toán là duyệt qua tất cả các khả năng của bài toán, nhưng chỉ giữ lại các nhánh có thể tối ưu hơn nhánh khác đã được khám phá trước đó.
+ CÁCH 1: Sử dụng thuật toán đệ quy
- Mã giả :
Trang 7+ Liệt kê các chu trình Hamilton bắt đầu tại định thứ K
+ Liệt kê các chu trình Hamilton được thực hiện như sau:
Trang 8
-Kiểm nghiệm thuật toán
bước theo giải thuật quay lui.
Đồ thị G
Trang 9Từ ma trận kề, ta biết được các đỉnh liền kề với một đỉnh nào đó của G
Chọn đỉnh 1 là đỉnh xuất phát, thuật giải quay lui sẽ tìm tất cả các đường đi và chu
trình Hamilton nếu có của G với đỉnh đầu tiên là 1dưới dạng cây lời giải Cây lời giải được xây dựng qua giải thuật như sau:
Khởi đầu: cây có một nút gốc
Đỉnh 1 kề với 2 và 4, đưa 2 và 4 vào cây
Trang 10
Xét từng đường đi trên cây, thêm những đỉnh liền kề với nút lá mà chưa có trong đường đi này: Đường đi 1→ 2 thêm 3 và 5, đường 1→4 thêm 3 và 5
Tương tự : đường 1→2→4 thêm 4 và 5, đường 1→2→5 thêm 3 và 4,
đường 1→4→3 thêm 2 và 5, đường 1→4→5 thêm 2 và 3.
Tiếp tục thêm vào các nút lá ta được kết quả cuối cùng là cây lời giải.
Đọc trên cây lời giả ta có các chu trình và các đường đi Hamilton khởi đi từ đỉnh 1 như sau:
Trang 15Đồ thị Hamilton có nhiều ứng dụng thực tế như:
- Giải bài toán người đi du lịch (Traveling Salesman Problem - TSP):
Trong bài toán này, một người bán hàng cần tìm chu trình Hamilton ngắn nhất để ghé thăm một số thành phố khác nhau một lần duy nhất và quay
Trang 16trở lại thành phố xuất phát Đồ thị Hamilton được sử dụng để mô hình hóa vấn đề này và giúp tìm ra lộ trình ngắn nhất để tiết kiệm thời gian và chi phí.
- Bài toán mã đi tuần là một dạng của bài toán tổng quát hơn là bài toán
tìm đường đi Hamilton trong lý thuyết đồ thị, là một bài toán NP-đầy đủ Bài toán tìm hành trình đóng của quân mã là một bài toán cụ thể của bài toán tìm chu trình Hamiltonian.
- - Đặt một quân mã ở một ô bất kì trên bàn cờ vua, theo quy tắc di chuyển của cờ vua, tìm các bước đi của quân mã sao cho mỗi ô chỉ được đi qua 1 lần và đi hết bàn cờ.
- Mạng lưới và định tuyến: Trong mạng lưới, đồ thị Hamilton được sử
dụng để tối ưu hóa định tuyến và quản lý giao thông Nó giúp xác định lộ trình tối ưu cho việc truyền tải dữ liệu hoặc vận chuyển hàng hóa qua các nút trong mạng.
- Lập lịch và sắp xếp công việc: Trong lập lịch và sắp xếp công việc, đồ
thị Hamilton được sử dụng để tối ưu hóa thứ tự thực hiện các công việc Điều này giúp cải thiện hiệu suất và tiết kiệm thời gian trong quá trình thực hiện các nhiệm vụ.
- Thiết kế vi mạch và hệ thống: Trong thiết kế vi mạch và hệ thống, đồ
thị Hamilton được sử dụng để tối ưu hóa định tuyến và kết nối các thành
Trang 17phần trong mạch tích hợp Điều này đảm bảo tối ưu hóa hiệu năng và hiệu suất của hệ thống điện tử.
- Tính toán và trí tuệ nhân tạo: Đồ thị Hamilton cũng có ứng dụng trong
lĩnh vực tính toán và trí tuệ nhân tạo, đặc biệt là trong các thuật toán tìm kiếm và truy hồi Nó được sử dụng để mô hình hóa và giải quyết các vấn đề phức tạp như tìm kiếm lời giải tối ưu, quy hoạch và xử lý dữ liệu.