Mô phỏng một số thuật toán trên đồ thị Nguyễn Thị Chinh Trường Đại học Công nghệ Luận văn ThS.. Hồ Cẩm Hà Năm bảo vệ: 2011 Abstract: Những kiến thức cơ bản về thuật toán: nêu khái niệ
Trang 1Mô phỏng một số thuật toán trên đồ thị
Nguyễn Thị Chinh
Trường Đại học Công nghệ Luận văn ThS Chuyên ngành: Công nghệ thông tin; Mã số: 60 48 05
Người hướng dẫn: TS Hồ Cẩm Hà
Năm bảo vệ: 2011
Abstract: Những kiến thức cơ bản về thuật toán: nêu khái niệm về bài toán và thuật toán, các
tính chất của thuật toán, xác định độ phức tạp của thuật toán,… và giới thiệu ba thuật toán quan trọng trên đồ thị mà học sinh Trung học phổ thông (THPT) sẽ được học Mô phỏng thuật toán: trình bày khái niệm mô phỏng, các chức năng của mô phỏng và các vấn đề liên quan như lịch sử
mô phỏng, nghiên cứu về hiệu quả của nó trong giảng dạy và một số yêu cầu đối với việc mô phỏng thuật toán nói chung Phân tích thiết kế hệ thống mô phỏng một số thuật toán trên đồ thị: trình bày về quá trình phân tích, thiết kế và xây dựng hệ thống mô phỏng trên ba thuật toán: thuật toán tìm kiếm (tìm kiếm theo chiều sâu và tìm kiếm theo chiều rộng), thuật toán tìm đường đi ngắn nhất (thuật toán Dijsktra) và thuật toán tìm cây khung cực tiểu trên đồ thị vô hướng có trọng số (thuật toán Prim)…
Keywords: Hệ thống thông tin; Thuật toán; Đồ thị; Mô phỏng thuật toán
Content:
LỜI NÓI ĐẦU
Cách đây gần ba thập kỉ (khoảng những năm 80 của thế kỉ XX), ở nhiều nước trên thế giới mô phỏng thuật toán đã được sử dụng trong việc giảng dạy các môn Khoa học máy tính như một công cụ hữu hiệu để mô tả thuật toán một cách trực quan, khoa học Không những vậy nó còn cho người học biết chi tiết từng bước hoạt động của thuật toán cùng với cấu trúc dữ liệu đi kèm thông qua việc mô tả bằng đồ họa
Những năm gần đây, ở Việt Nam môn Tin học đã được đưa vào chương trình của học sinh trung học phổ thông như là mô ̣t môn ho ̣c chính thức Tuy nhiên trên thực tế, mô ̣t số trường chuyên trên cả nước đã tuyển sinh ho ̣c sinh chuyên Tin từ cuối những năm 80 của thế kỉ XX Những ho ̣c sinh này cần nắm chắc kiến thức cơ bản về Tin học như: các cấu trúc dữ liệu trừu
Trang 2tươ ̣ng: stack, queue, cây, cây nhi ̣ phân, cây nhi ̣ phân tìm kiếm, các chiến lược thiết kế thuật toán: tham lam, quay lui, quy hoạch đô ̣ng… Trong đó, lý thuyết về đồ thi ̣ và thuâ ̣t toán trên đồ thị là
mô ̣t lĩnh vực rô ̣ng và phức ta ̣p Viê ̣c hiểu và cài đă ̣t tốt các thuâ ̣t toán đó đòi hỏi thời gian và công sức rất lớn Hiện nay, việc truyền đạt các thuật toán trên đồ thị cho học sinh chuyên Tin gặp rất nhiều khó khăn Có nhiều rất nhiều lý do: Các thuật toán đó khó hình dung, việc tổ chức dữ liệu cho nó cũng phức tạp, thời gian giảng dạy trên lớp có hạn, tài liệu tham khảo có thể tự đọc,
tự học vẫn còn ít…
Trong khuôn khổ đề tài này, chúng tôi xây dựng một chương trình nhằm mô phỏng hoạt động của ba thuật toán giải ba bài toán cơ bản trên đồ thị theo phân phối chương trình của Bộ Giáo dục với hai mục đích: để học sinh có thể dễ dàng nắm bắt tư tưởng cũng như từng bước hoạt động cụ thể của các thuật toán, để giáo viên có thể làm cho bài giảng về các thuật toán này trở nên dễ hiểu, dễ tiếp thu hơn
Nội dung luận văn đươ ̣c chia thành 3 chương:
Chương I Những kiến thức cơ bản về thuật toán
Ở chương này, chúng tôi trích nêu khái niệm về bài toán và thuật toán Các tính chất của thuật toán, xác định độ phức tạp của thuật toán…Cuối cùng, chúng tôi giới thiệu ba thuật toán quan trọng trên đồ thị mà học sinh THPT sẽ được học
Chương II Mô phỏng thuật toán
Chương này chúng tôi trình bày khái niệm mô phỏng, các chức năng của mô phỏng và các vấn đề liên quan như: lịch sử mô phỏng, nghiên cứu về hiệu quả của nó trong giảng dạy và một số yêu cầu đối với việc mô phỏng thuật toán nói chung
Chương III Phân tích thiết kế hệ thống mô phỏng một số thuật toán trên đồ thị
Ở chương 3, chúng tôi trình bày về quá trình phân tích, thiết kế và xây dựng hệ thống mô phỏng trên ba thuật toán: thuật toán tìm kiếm (tìm kiếm theo chiều sâu và tìm kiếm theo chiều rộng), thuật toán tìm đường đi ngắn nhất (thuật toán Dijsktra) và thuật toán tìm cây khung cực tiểu trên đồ thị vô hướng có trọng số (thuật toán Prim)…
Trang 3DANH MỤC TÀI LIỆU THAM KHẢO
Tài liệu Tiếng Việt
1 Hồ Sĩ Đàm (chủ biên) – Sách giáo khoa Tin học 10, NXB Giáo dục, trang…
2 Lê Minh Hoàng - Bài giảng chuyên đề
3 Hồ Sĩ Đàm (chủ biên) – Tài liệu giáo khoa chuyên Tin (bộ 2 tập)
4 Thomas H Cormen Charles E Leiserson Ronald Rivest – Giáo trình thuật toán - Nhà
xuất bản thống kê
5 TS Nguyễn Xuân My(chủ biên) – Một số vấn đề chọn lọc trong Tin học (T1+T2) - Nhà
xuất bản giáo dục
Tài liệu Tiếng Anh
6 Kehoe C., Stasko J., Taylor A., Rethinking the evaluation of algorithm nimations as
learning aids: an observational study, Technical Report GIT-GVU-99-10, March, 1999
7 Stasko, 1990, Tango: A Framework and System for Algorithm Animation IEEE
Computer, 23(9): pp27-39
8 Brown, 1988 Algorithm Animation The MIT Press, Cambridge, MA, 1988
9 [Brown, 1992] Brown, M Zeus: A system for algorithm animation and multi-view
editing (Research Report No.75) DEC Systems Research Center, Palo Alto, CA
10 Brown, 1993 The 1992 SRC Algorithm Animation Festival In Proceedings of the 1993
IEEE Symposium on Visual Languages: 116-123, 1993
11 Byrne, M D, Catrambone, R and Stasko, J T.(1996) Do algorithm animations aid
learning? Graphics, Visualization, and Usability Center, Georgia Institute of
Technology, Atlanta, GA, Technical Report GITGVU -96-18, August 1996
Trang web:
12 http://www.cs.hope.edu/algamin/cc
13 http://www.cs.edu/~zeil/algae.html
14 http://www.cc.gatech.edu/gvu/softviz/algoanim/xtango.html
15 http://www.csse.monash.edu.au/
16 http://www.csharp-station.com/Tutorial.aspx
17 http://msdn.microsoft.com/en-us/library/aa288436(v=vs.71).aspx