Tải bản đầy đủ (.doc) (103 trang)

GIẢI THUẬT tìm ĐƯỜNG đi NGẮN NHẤT DIJKSTRA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (445.72 KB, 103 trang )

Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN NIÊN LUẬN 1
(Học kỳ 2, Niên khóa 2010-2011)
GIÁO VIÊN HƯỚNG DẪN:
STT
HỌ VÀ TÊN
1

MSCB

Lê Thị Phương Dung

SINH VIÊN THỰC HIỆN:
STT

HỌ VÀ TÊN SINH VIÊN

MSSV

1

Nguyễn Tất Nhật Minh

1091507

Ketnooi.com kết nối công dân điện tử

THƯỞNG



ĐIỂM


Niên Luận 1

I.HÌNH THỨC(Tối đa 0,5 điểm)

Bìa(Tối đa 0,25 điểm)

Ketnooi.com kết nối công dân điện tử

GVHD:K.S Lê Thị Phương Dung


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

• Các tiêu đề: Trường ĐHCT, Khoa CNTT
• Loại niên luận: 1, Tên đề tài
• Giáo viên hướng dẫn: chức danh, họ tên.
• Thông tin về các sinh viên thực hiện: họ tên, mã số, lớp
• Năm thực hiện
Bố cục (tối đa 0.25 điểm)
• Nhận xét của giáo viên hướng dẫn và giáo viên chấm
• Mục lục: cấu trúc chương, mục và tiểu mục
• Phụ lục (nếu có)
• Tài liệu tham khảo


Ketnooi.com kết nối công dân điện tử


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

II. NỘI DUNG (Tối đa 3,5 điểm)
Tổng quan (tối đa 0,5 điểm)

Mô tả bài toán, mục tiêu cần đạt được (0,25 điểm)

Hướng giải quyết và kế hoạch thực hiện (0,25 điểm)
Lý thuyết (tối đa 0,5 điểm)
• Các khái niệm sử dụng trong đề tài
• Kết quả vận dụng lý thuyết vào đề tài
Ứng dụng (tối đa 2,0 điểm)
• Phân tích yêu cầu bài toán, xây dựng các cấu trúc dữ liệu
cần thiết (tối đa 0,5 điểm)
• Giải thuật (Lưu đồ-Ngôn ngữ giả) (1,0 điểm)
Ketnooi.com kết nối công dân điện tử


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

• Giới thiệu chương trình (0,5 điểm)
Kết luận (tối đa 0,5 điểm)
• Nhận xét kết quả đạt được

• Hạn chế
• Hướng phát triển
III. CHƯƠNG TRÌNH DEMO (Tối đa 5,0 điểm)
Giao diện thân thiện với người dùng (1.0 điểm)
Hướng dẫn sử dụng (0,5 điểm)
Kết quả thực hiện đúng với kết quả của phần ứng dụng (3,5

Ketnooi.com kết nối công dân điện tử


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

điểm)
Ghi chú: Điểm trong khung “các sinh viên thực hiện” là điểm kết quả cuối cùng
của từng sinh viên trong quá trình
thực hiện niên luận 1.
Nếu sinh viên demo chương trình và trả lời vấn đáp không đạt yêu cầu của giáo
viên hướng dẫn thì sinh viên sẽ nhận điểm F cho học phần này.
Cần Thơ, ngày … tháng … năm ….
GIÁO VIÊN CHẤM

Ketnooi.com kết nối công dân điện tử


Niên Luận 1

Ketnooi.com kết nối công dân điện tử


GVHD:K.S Lê Thị Phương Dung


Niên Luận 1

Ketnooi.com kết nối công dân điện tử

GVHD:K.S Lê Thị Phương Dung


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
Ketnooi.com kết nối công dân điện tử


Niên Luận 1


GVHD:K.S Lê Thị Phương Dung

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
Ketnooi.com kết nối công dân điện tử


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
Cần Thơ, ngày … tháng … năm ….
Ketnooi.com kết nối công dân điện tử


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

Giáo viên hướng dẫn

K.S Lê Thị Phương Dung

MỤC LỤC
MỤC LỤC
LỜI NÓI ĐẦU…………………………………………………………………….6
Chương I: GIỚI THIỆU…………………………………………………………..7
Ketnooi.com kết nối công dân điện tử


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

I. GIỚI THIỆU TỔNG QUAN ĐỀ TÀI…………………………………7
I.1. Tổng quan về bài toán đường đi ngắn nhất………………………….7
I.1.1 Phát biểu bài toán…………………………………………………..7
I.1.2.Thuật toán Dijkstra…………………………………………………7

II.CÁC MỤC TIÊU CẦN ĐẠT…………………………………………7
III. KẾ HOẠCH THỰC HIỆN…………………………………………..8
Chương II:MỘT SỐ KHÁI NIỆM TRONG ĐỀ TÀI……………………………..9
I. KHÁI NIỆM VỀ ĐỒ THỊ …………………………………………….9
II.BIỂU DIỄN ĐỒ THỊ TRÊN MÁY TÍNH…………………………….11
II.1.Ma trận liền kề ( Ma trận kề )………………………………………11
II.2.Danh sách cạnh……………………………………………………...13
III.CÁC THUẬT TOÁN TÌM KIẾM TRÊN ĐỒ THỊ……………………14
Ketnooi.com kết nối công dân điện tử


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

III.1Thuật toán tìm kiếm theo chiều sâu(Depth First Search)……………..14
III.2 Thuật toán tìm kiếm theo chiều rộng(Breadth First Search)……….15
III.3.Độ phức tạp tính toán của DFS và BFS……………………………..16
IV. TÍNH LIÊN THÔNG CỦA ĐỒ THỊ………………………………..16
IV.1.Định Nghĩa…………………………………………………………..16
IV1.2.Đối với đồ thị vô hướng G=(V,E)………………………………….16
IV.1.3.Đối với đồ thị có hướng G=(V,E)…………………………………17
IV.2Tính liên thông trong đồ thị vô hướng……………………………….18
V.CÁC THAO TÁC CƠ BẢN VỀ ĐỒ HOẠ…………………………….19
V.1.Khái niệm về đồ hoạ………………………………………………….19
V.1.2.Khởi động hệ thống đồ hoạ…………………………………………….20

Ketnooi.com kết nối công dân điện tử



Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

V.1.3.Lỗi đồ hoạ………………………………………………………………22
V.1.4.Mẫu và màu…………………………………………………………….22
V.1.5.Vẽ………………………………………………………………………22
Chương III:ỨNG DỤNG THUẬT TOÁN DIJKSTRA GIẢI QUYẾT BÀI TOÁN
ĐƯỜNG ĐI NGẮN NHẤT………………………………………………………23
I.Thuật toán Dijkstra……………………………………………………………...23
II.Lưu đồ thuật toán Dijkstra……………………………………………………..24
III.MỘT SỐ HÀM CON………………………………………………………….25
III.1Hàm nhập ma trận…………………………………………………………....25
III.2.Hàm xuất ma trận…………………………………………………………....25
III.3.Hàm khởi tạo ma trận……………………………………………………….26
III.4.Hàm thêm cung……………………………………………………………..26
Ketnooi.com kết nối công dân điện tử


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

III.5.Hàm xoá cung………………………………………………………………26
IV.HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH DEMO………………………26
CHƯƠNG IV: KẾT LUẬN………………………………………………………29
I.KẾT QUẢ ĐẠT ĐƯỢC……………………………………………….29
II.HẠN CHẾ……………………………………………………………..29
III.HƯỚNG KHẮC PHỤC VÀ PHÁT TRIỂN………………………….29
TÀI LIỆU THAM KHẢO


Ketnooi.com kết nối công dân điện tử


Niên Luận 1

Ketnooi.com kết nối công dân điện tử

GVHD:K.S Lê Thị Phương Dung


Niên Luận 1

Ketnooi.com kết nối công dân điện tử

GVHD:K.S Lê Thị Phương Dung


Niên Luận 1

Ketnooi.com kết nối công dân điện tử

GVHD:K.S Lê Thị Phương Dung


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

LỜI NÓI ĐẦU

Lý thuyết đồ thị là một lĩnh vực nghiên cứu đã có từ lâu đờivà có nhiều ứng
dụng hiện đại.Những tư tưởng cơ bản của lý thuyết đồ thị đươc đề xuất từ những
năm đầu của thế kỷ 18 bởi nhà toán học người Thụy Sĩ Leonhard Euler.Chính ông
là người đã sử dụng đồ thị để giải bài toán nổi tiếng về các cái cầu ở thàng phố
Konigsberg.
Đồ thị được sử dụng để giải quyết các bài toán trong nhiều lĩnh vực khác
nhau .Chẳng hạn , đồ thị có thể sử dụng để xác định các mạch vòng trong vấn đề
giải tích mạch điện.Chúng ta có thể phân biệt các hợp chất hoá học hữu cơ khác
nhau với cùng công thức phân tử nhưng khác nhau về cấu trúc phân tử nhờ đồ
Ketnooi.com kết nối công dân điện tử


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

thị.Chúng ta có thể xác định xem hai máy tính trong mạng có thể trao đổi thông tin
được với nhau hay không nhờ mô hình đồ thị của mạng máy tính. Đồ thị có trọng
số trên các cạnh có thể sử dụng để giải các bài toán như : tìm đường đi ngắn nhất
giữa hai thành phố trong cùng một mạng giao thông . Chúng ta còn sử dụng đồ thị
để giải các bài toán về lập lịch,thời khoá biểu,và phân bố tần số cho các trạm phát
thanh và truyền hình....
Mục đích ta tìm hiểu là nhằm giới thiệu các khái niệm cơ bản,về đồ thị có
hướng và đồ thị vô hướng,các cách biểu diễn đồ thị,các phương pháp tìm kiếm
trên đồ thị(tìm theo chiều rộng và chiều sâu)và tính liên thông,các giải thuật có
liên quan về đồ thị và vận dụng giải thuật điển hình Dijkstra để tìm đường đi ngắn
nhất trên đồ thị có hướng,bên cạnh đó là giới thiệu một số thao tác cơ bản về đồ
hoạ.
Ketnooi.com kết nối công dân điện tử



Niên Luận 1

Ketnooi.com kết nối công dân điện tử

GVHD:K.S Lê Thị Phương Dung


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

CHƯƠNG I:GIỚI THIỆU
I.
GIỚI THIỆU TỔNG QUAN ĐỀ TÀI
I.1. Tổng quan về bài toán đường đi ngắn nhất:
Ketnooi.com kết nối công dân điện tử


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

I.1.1 Phát biểu bài toán
Cho G=(X,E) là một đồ thị có hướng.Ta định nghĩa ánh xạ trọng lượng
như sau:
L:E
|R
e|
L(e)

Xét hai đỉnh i,j Є X,gọi P là đường đi từ đỉnh iđến đỉnh j,trọng lượng
(hay giá) của đường đi P được định nghĩa là:
L(P) =Σ( e∈P )L(e)
Mục đích của bài toán đường đi ngắn nhất là tìm đường đi P từ i đến j
mà có trọng lượng nhỏ nhất trong số tất cả những đường đi có thể có.
Nhận xét:

Ketnooi.com kết nối công dân điện tử


Niên Luận 1

GVHD:K.S Lê Thị Phương Dung

Khi làm bài toán đường đi ngắn nhất thì chúng ta có thể bỏ bớt các cạnh
song song và chỉ chừa lại các cạnh có trọng lượng nhỏ nhất trong các cạnh
song song
Đối với các khuyên có trọng lượng không âm có thể bỏ đi mà không
ảnh hưởng đến kết quả bài toán.Đối với các khuyên có trong lượng âm ta có
thể đi đến kết luận bài toán không có lời giải.
Do các nhận xét vừa nêu,có thể xem dữ liệu nhập vào của bài toán
đường đi ngắn nhất là ma trận L được định nghĩa như sau:
Trọng lượng cạnh nhỏ nhất nối i đến j nếu có,

Ketnooi.com kết nối công dân điện tử


×