Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
571,08 KB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG - BÀI THU HOẠCH MÔN HỌC PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC ĐỀ TÀI ỨNG DỤNG MỘT SỐ NGUYÊN TẮC SÁNG TẠO ĐỂ GIẢI QUYẾT VẤN ĐỀ BÀI TOÁN TRONG TIN HỌC VÀ ỨNG DỤNG GIẢI BÀI TOÁN SỐ TRÊN MÁY TÍNH GVHD: GS.TSKH Hồng Văn Kiếm Học viên thực hiện: Huỳnh Thị Mỹ Hồng Mã số học viên: CH1101086 TP.HCM, năm 2012 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC Trang MỞ ĐẦU CHƯƠNG 1: VẤN ĐỀ KHOA HỌC VÀ CÁC PHƯƠNG PHÁP GIẢI QUYẾT 1.1 Vấn đề khoa học 1.1.1 Khái niệm 1.1.2 Phân loại 1.1.3 Các tình vấn đề 1.2 Phương pháp giải vấn đề theo khoa học phát minh, sáng chế 1.2.1 Vepol 1.2.2 Phương pháp giải vấn đề theo khoa học phát minh, sáng chế 1.2.3 Một số thủ thuật, nguyên tắc phát minh, sáng tạo CHƯƠNG 2: CÁC PHƯƠNG PHÁP NGHIÊN CỨU, GIẢI QUYẾT VẤN ĐỀ BÀI TOÁN TRONG TIN HỌC 21 2.1 Mục đích nghiên cứu giải tốn tin học 21 2.2 Các phương pháp thường dùng để giải vấn đề toán máy tính 21 2.2.1 Phương pháp trực tiếp 21 2.2.2 Phương pháp gián tiếp tìm kiếm lời giải 24 2.2.3 Các phương pháp Heuristic 25 2.2.4 Các phương pháp trí tuệ nhân tạo 25 CHƯƠNG 3: LÝ THIẾT TRÒ CHƠI SỐ 26 3.1 Tìm hiểu trị chơi số 26 3.1.1 Mục đích giải tốn số máy tính 26 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.1.2 Mô tả 28 3.1.3 Xác định trạng thái đích 29 3.2 Thuật toán tìm đáp án 30 3.2.1 Giới thiệu A* 30 3.2.2 Chi tiết thuật toán A* 32 3.3 Cài đặt giải thuật 38 3.3.1 Cài đặt giải thuật 38 3.3.2 Hướng dẩn sử dụng 38 TÀI LIỆU THAM KHẢO 39 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỞ ĐẦU Tất công nhận nước muốn giàu có hùng mạnh khơng có nhiều tài ngun khống sản, có nhiều ruộng đất, tiền của… mà điều quan trọng để đất nước ta phát triển ta phải có nhiều người tài giỏi để phát hay nâng cao dần hoàn thiện để giàu có người phồn vinh xã hội Như ta biết Việt Nam gia nhập với nước giới Nếu ngưởi Việt Nam có cần cù mà không thông minh theo lối mịn kế thừa có sẵn dễ bị lạc hậu Tôi xin kể câu chuyện sau: Ngày xưa, có anh niên khỏe mạnh học có sức khỏe cường tráng Một ngày anh tìm việc làm ông chủ khai thác gỗ nhận vào làm công việc khai thác gỗ Anh niên mừng rỡ Anh ơng chủ phát cho rìu Hôm làm việc đầu tiên, anh niên hăng hái vào rừng khai thác gỗ Anh khai thác 14 góc gỗ Ơng chủ hài lịng khen Anh niên vui mừng nghỉ thầm ngày mai cố gắng Ngày làm việc thứ hai, anh niên thức sớm ngày đầu làm việc vất vả đến chiều Anh khai thác 12 góc gỗ Để động viên tinh thần làm việc ông chủ khen Anh niên thấy lòng tốt ông chủ nguyện với lòng ngày mai cố gắng ngày hôm trước: Ngày làm việc thứ ba, anh niên thức sớm ngày làm việc thứ hai làm việc ngày không nghỉ trưa Kết hôm làm việc thứ ba anh cố gắng làm việc hai ngày đầu kết 11 góc gỗ Anh niên buồn nói với ơng chủ rằng: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Thưa ông cố gắng kết ngày không tăng mà có xu hướng giảm Ơng chủ trả lời: anh người chăm làm việc anh khơng biết nâng cấp dụng cụ lao động Ví dụ rìu anh ngày đầu bén nên anh khai thác nhiều gỗ đến ngày khơng cịn nữa, nói đến thời gian gần, nói đến thời điểm xa khơng cịn phù hợp mà phải thay dụng cụ khác Ơng chủ nói tiếp, ngồi việc nâng cấp dụng cụ lao động anh cịn phải biết sáng tạo lao động, anh phải suy nghĩ làm để tốn sức lao động công việc đạt nhiều hiệu Từ câu chuyện anh niên ta rút học nghiên cứu sáng tạo cần thiết cho người nói riêng phát triển xã hội nói chung Theo Gaudin, khơng thể lịng với vốn kiến thức hạn hẹp thu nhận năm ngồi ghế nhà trường, mà phải học suốt đời, phải có đủ vốn kiến thức phương pháp để tự học tập, nghiên cứu suốt đời Có người đưa định nghĩa đời sau: “Cuộc đời chuỗi đề cần giải chuỗi định cần phải ra” Thật ngày phải đối mặt vấn đề cần giải Câu hỏi đặt phải giải để có hiệu Một người khôn ngoan sống lúc họ muốn tiến dần đến hồn thiện họ ln đầu tư, tìm tịi hay, Ngày nay, nghiên cứu khoa học việc làm cần thiết trở thành hoạt động sơi giới Tham gia nghiên cứu khoa học xem cống hiến lớn nhân loại cho khoa học xã hội tất quan nhà nước luôn đãi ngộ người cống hiến chất xám vào nghiên cứu khoa học Để nghiên cứu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com khoa học thành người phải có tri thức định nhiều tâm quyến để cần nghiên cứu sáng tạo Hiện nay, công nghệ thông tin ngành mũi nhọn, chìa khóa để mở cửa cho tư sáng tạo người Qua thu hoạch này, em trình bày suy nghĩ chủ quan thủ thuật, nguyên tắc phát minh sáng tạo nghiên cứu khoa học em cảm thấy ấn tượng để áp dụng vào đời sống ngày ngành mơn tin học cách giải tốn máy tính Qua đây, em xin gửi lời cảm ơn sâu sắc đến GS.TSKH Hoàng Văn Kiếm, người tận tâm truyền đạt kiến thức tảng cho chúng em môn học “Phương pháp nhiên cứu khoa học tin học” Bên cạnh khơng thể khơng nhắc đến công lao trợ giúp không mệt mỏi chuyên gia cố vấn qua mạng thuộc Trung tâm phát triển CNTT – ĐH Quốc gia TP.HCM toàn thể bạn bè học viên lớp LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƯƠNG VẤN ĐỀ KHOA HỌC VÀ CÁC PHƯƠNG PHÁP GIẢI QUYẾT 1.1 Vấn đề khoa học 1.1.1 Khái niệm Vấn đề khoa học (scientific problem) gọi vấn đề nghiên cứu (research problem) câu hỏi nghiên cứu câu hỏi đặt người nghiên cứu đứng trước mâu thuẫn tính hạn chế tri thức khoa học có với yêu cầu phát triển tri thức trình độ cao 1.1.2 Phân loại Nghiên cứu khoa học tồn hai vấn đề: - Vấn đề chất vật tìm kiếm - Vấn đề phương pháp nghiên cứu để làm sáng tỏ lý thuyết thực tiễn vấn đề thuộc lớp thứ Cách giải vấn đề khoa học nào? Giải vấn đề khoa học Đây mong muốn người muốn bước vào đường khoa học Như ta biết có nhiều ứng dụng vi mô từ phát minh sáng chế khoa học thành công sống Một người muốn phát minh sáng tạo cần có yếu tố cần thiết sau: - Kiến thức đủ để sáng tạo: Người phát minh sáng tạo cần có kiến thức định phù hợp với cơng trình nghiên cứu Một người có kiến thức phổ thông biết sáng tạo khoa học người sáng tạo nào? mức độ nào? hồn tồn khác - Mơi trường địi hỏi sáng tạo: Môi trường ảnh hưởng lớn đến đời sống người kể vấn đề sáng tạo người Sống mơi trường ln địi hỏi người sáng tạo môi trường luôn đổi để hoàn thiện phát triển LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - Khát vọng sáng tạo người: Có lẻ vấn đề quan trọng để phát minh sáng tạo Phát minh sáng tạo địi hỏi người phải có lịng ham mê, ốc sáng tạo vượt khó, kiên trì có nhiều nhà khoa học phát minh họ phải thử thử lại nhiều có phải hàng chục năm 1.1.3 Các tình vấn đề Có ba tình huống: Có vấn đề, khơng có vấn đề, giả vấn đề cho hình đây: Các phương pháp phát vấn đề khoa học Có phương pháp: 1) Tìm kẻ hở, phát vấn đề 2) Tìm bất đồng 3) Nghĩ ngược lại quan niệm thông thường 4) Quan sát vướng mắc thực tiễn 5) Lắng nghe lời kêu ca phàn nàn 6) Cảm hứng: câu hỏi xuất quan sát kiện Một tiếp cận khơng gian giải vấn đề Ý tưởng Bài toán Mơ hình Cách giải Bài tốn P Điểm nhìn Khơng gian, vấn đề P Bài tốn P: Sau có ý tưởng, tốn P đặt nhằm giải mục đích cuối gì? Trong điểm nhìn, khơng gian, ta LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com thay đổi tốn vấn đề thay đổi thay đổi theo mục đích u cầu tốn Ví dụ: Khi lập trình giải tốn phương trình bậc cần chuyển sang giải phương trình bậc tốn lúc có khác ta thay đổi mục đích yêu cầu từ bậc sang bậc Điểm nhìn: nơi có vị trí, tầm nhìn khách quan nhất, bao quát vấn đề để giải quỵết khơng cịn sai sót sai sót chấp nhận Nếu toán khơng gian điểm nhìn khác vấn đề có thay đổi, khơng thay đổi cách tuyệt đối hồn tồn Cũng có vấn đề nhìn nhận tương tự Ví dụ: Do đâu nhiều tai nạn giao thông xảy nước ta Cùng vấn đề hai điểm nhìn khác trả lời khác nhau: - Nhìn từ phía xây dựng: Mặt đường chưa phẳng, đường cịn hẹp, cịn nhiều cơng trình cầu đường cần nâng cấp - Nhìn từ phía cảnh sát giao thơng: Ý thức chấp hành luật giao thông người tham gia giao thơng cịn kèm Khơng gian vấn đề: Bài tốn P đặt không gian vấn đề cho không phức tạp, đơn giản dẫn tới sai sót Nếu tốn, điểm nhìn, khơng gian khác vấn đề có nhiều thay đổi Ví dụ: Cùng phần mềm ứng dụng trường học lại khác ngành nghề khác Như tính thay đổi vấn đề từ thấp đến cao sau: Bài tốn (P) Điểm nhìn Khơng gian LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.2 Phương pháp giải vấn đề theo khoa học phát minh, sáng chế 1.2.1 Vepol “Bất hệ thống kỹ thuật phải có hai thành phần vật chất tác động tương hỗ loại trường hay lượng” Từ có thuật ngữ tam giác kỹ thuật gọi tam giác Vepol Vepol mơ hình hệ thống kỹ thuật Vepol quy ước đưa cốt để phản ánh tính chất vật chất hệ thống chủ yếu với tốn cho Ví dụ xét tốn nâng cao tốc độ tàu phá băng băng đóng vai trị vật phẩm, tàu phá băng đóng vai trò cộng cụ trường lực đặt vào tàu để tác động tương hỗ với băng Việc phân loại chuẩn để giải toán sáng chế dựa vào phân tích Vepol Mơ hình Vepol gồm yếu tố: Trường T T có hai vật chất V1, V2 T V1 V2 Tuy nhiên, hệ thống ban đầu chưa hẳn có chuẩn Vepol đủ yếu tố trên, đủ phát triển thêm Vepol Có phương pháp: - Dựng Vepol đầy đủ - Chuyển sang Fepol - Phá vỡ Vepol - Xích Vepol - Liên trường LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 25 tìm đường khỏi mê cung Rõ ràng, mê cung, ta biết trước đâu ngõ Chính vậy, gặp ngã rẽ, ta có cách “chọn đại” đường theo hướng đó, Nếu vào ngõ cụt, ta phải biết đánh dấu loại bỏ đường sau quay trở lại ngã rẻ chọn hướng khác Các phương pháp giải dựa nguyên lý nguyên lý mê cung biến đổi toán ban đầu tốn tương tự tốn tìm đường mê cung 2.2.3 Các phương pháp Heuristic Có nhiều tốn mà việc giải phương pháp thử-sai dẫn đến số lớn, thời gian có kết cuối không chấp nhận Lúc người ta xây dựng lời giải dựa theo phương pháp gọi thuật giải Heuristic Thuật giải Heuristic có đặc điểm đơn giản gần gũi với cách suy nghĩ người, cho lời giải đa số trường hợp áp dụng Các thuật giải Heuristic xây dựng số nguyên lý đơn giản vét cạn thông minh, nguyên lý tối ưu cục bộ, nguyên lý hướng đích, nguyên lý thứ tự, Đó giải thuật thú vị có nhiều ứng dụng thực tiễn 2.2.4 Các phương pháp trí tuệ nhân tạo Phương pháp thử-sai Heuristic, nói chung dựa điểm dựa trí thơng minh người để giải tốn, máy tính đóng vai trị thực thi mà thơi Cịn phương pháp trí tuệ nhân tạo dựa trí thơng minh máy tính Trong phương pháp này, người ta đưa vào máy tính thơng minh nhân tạo giúp máy tính bắt chước phần khả suy luận người Từ đó, gặp vấn đề, máy tính dựa điều “học” để tự đưa phương án giải vấn đề LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 26 CHƯƠNG LÝ THIẾT TRỊ CHƠI SỐ 3.1 Tìm hiểu trị chơi số 3.1.1 Mục đích giải tốn số máy tính Như ta biết toán số toán phổ biến nhiều người biết đến, đặc biệt người thuộc ngành tin học Bài toán đơn giản đỏi hỏi người giải phải tư Nếu di chuyển bước tay cho số từ trạng thái bắt đầu đến trạng thái đích đòi hỏi người phải tốn khoảng thời gian, cịn nhanh hay chậm cịn tùy thuộc vào trí tuệ độ nhanh nhẹn người Dựa vào thuật giải A* giải thuật Dijsktra để cài đặt vào máy tính Lúc máy tính thay người giải vấn đề nhập vào trạng thái ban đầu cho trạng thái đích giải tốn cách nhanh chóng Ví dụ trị chơi: Chúng ta có bảng 3x3 tám qn mang số hiệu từ đến xếp vào tám ơ, cịn lại trống, chẳng hạn hình 3.1 bên trái Trong trị chơi này, bạn chuyển dịch quân cạnh ô trống tới ô trống Vấn đề bạn tìm dãy chuyển dịch để biến đổi cảnh ban đầu (hình 3.1 bên trái) thành cảnh xác định đó, chẳng hạn cảnh hình 3.1 bên phải Hình 3.1 Trạng thái ban đầu trạng thái kết thúc toán số Trong toán này, trạng thái ban đầu bên trái hình 3.1, cịn trạng thái kết thúc bên phải hình 3.1 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 27 Tương ứng với quy tắc chuyển dịch quân, ta có bốn tốn tử: up (đẩy qn lên trên), down (đẩy quân xuống dưới), left (đẩy quân sang trái), right (đẩy quân sang phải) Rõ ràng là, toán tử toán tử phận; chẳng hạn, từ trạng thái ban đầu (hình 3.1 bên trái), ta áp dụng tốn tử down, left, right Cụ thể ta cài đặt bảng 3x3 ma trận aij vuông cấp 3, aij {0, 1, 2, 3, 4, 5, 6, 7, 8} aij ≠ akl i ≠ k j ≠ l Toán tử chuyển trạng thái xác định sau a i0 j0 : a ij nên j j0 i i i i 1 i 1 f up a ij a i0 1j0 nên i i0 j j0 i 0 nên i i j j0 i a ij nên j j0 i i i i 1 i 3 f down a ij a i0 1j0 nên i i j j0 i 0 nên i i j j0 i a ij nên i i j j0 j j0 1 j0 1 f left a ij a i0 j0 1 nên i i j j0 j0 0 nên i i j j0 j0 a ij nên i i j j0 j j0 1 j0 3 f right a ij a i0 j0 1 nên i i j j0 j0 0 nên i i j j0 j0 Trong ví dụ việc tìm biểu diễn thích hợp để mơ tả trạng thái vấn đề dễ dàng tự nhiên Song nhiều vấn đề việc tìm hiểu biểu diễn thích hợp cho trạng thái vấn đề hồn tồn khơng đơn giản Việc tìm dạng biểu diễn tốt cho trạng thái đóng vai trị quan trọng q trình giải vấn đề Có thể nói rằng, LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 28 ta tìm dạng biểu diễn tốt cho trạng thái vấn đề, vấn đề giải 3.1.2 Mô tả Một bảng 3x3 với ô có số từ 18 ô trống, đặt vị trí ngẫu nhiên, trống số đổi chỗ cho nhau, tìm cách di chuyển cho số thứ tự, toán đặt tìm phương án tối ưu cho số lần di chuyển Trạng thái ban đầu Trạng thái đích Trạng thái đích có trường hợp xảy ra: Với trạng thái ban đầu, tìm trạng thái đích đạt tới Điều cần phải quan tâm để giải toán xác định trạng thái đích Trạng thái đích xác định dựa trạng thái ban đầu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 29 3.1.3 Xác định trạng thái đích Đầu tiên thử tính có số bé sau ô chứa giá trị Kết nhận (những ô màu vàng) Làm tương tự với có giá trị Dễ thấy (4,7,5) có giá trị nhỏ 4,5 Làm từ ô (2) tới ô cuối (5) cộng dồn giá trị nhận được: N = 1+6+1+0+2+0+1+0=11 Nếu N số lẻ có đáp án trạng thái A, ngược lại trạng thái B LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 30 Trạng thái A Trạng thái B Chúng ta xác định trạng thái đích cần đạt được, bắt đầu tìm kiếm giải thuật để tìm đích Trên thực tế có nhiều giải thuật để tìm đích, tơi áp dụng thuật tốn A* 3.2 Thuật tốn tìm đáp án 3.2.1 Giới thiệu A* A* thuật toán Heuristic dựa thuật tốn Dijsktra Thế nên phải tìm hiểu kỹ thuật tốn Dijsktra trước tìm hiểu thuật toán Thuật toán Dijkstra, mang tên nhà khoa học máy tính người Hà Lan Edsger Dijkstra, thuật toán giải toán đường ngắn đồ thị có hướng khơng có cạnh mang trọng số âm a Bài toán Cho đồ thị có hướng G=(V,E), hàm trọng số w: E → [0, ∞) đỉnh nguồn s Cần tính tốn đường ngắn từ đỉnh nguồn s đến đỉnh đồ thị Ví dụ: Chúng ta dùng đỉnh đồ thị để mơ hình thành phố cạnh để mơ hình đường nối chúng Khi trọng số cạnh xem độ dài đường (và khơng âm) Chúng ta cần vận chuyển từ thành phố s đến thành phố t Thuật toán Dijkstra giúp đường ngắn Trọng số khơng âm LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 31 cạnh đồ thị mang tính tổng qt khoảng cách hình học hai đỉnh đầu mút chúng Ví dụ: với đỉnh A, B, C đường A-B-C ngắn so với đường trực tiếp A-C b Chứng minh Ý tưởng chứng minh sau: Chúng ta ra, đỉnh v bổ sung vào tập S, d[v] giá trị đường ngắn từ nguồn s đến v Theo định nghĩa nhãn d, d[v] giá trị đường ngắn đường từ nguồn s, qua đỉnh S, theo cạnh nối trực tiếp u-v đến v Giả sử tồn đường từ s đến v có giá trị bé d[v] Như đường đi, tồn đỉnh s v không thuộc S Chọn w đỉnh Đường ta có dạng s - - w - - v Nhưng trọng số cạnh không âm nên đoạn s - - w có độ dài khơng lớn hơn tồn đường đi, có giá trị bé d[v] Mặt khác, cách chọn w ta, nên độ dài đoạn s - - w d[w] Như d[w] < d[v], trái với cách chọn đỉnh v Đây điều mâu thuẫn Vậy điều giả sử ta sai Ta có điều phải chứng minh Trong khoa học máy tính, A* lựa chọn tốt đồ thị tìm kiếm thuật tốn mà tìm thấy đường dẫn chi phí định ban đầu từ nút tới nút mục tiêu (trong nhiều mục tiêu có thể) Nó sử dụng khoảng cách, cộng với chi phí Heuristic (thường ký hiệu f (x)) để xác định thứ tự tìm kiếm thăm nút Khoảng cách + giá Heuristic tổng hai chức năng: - Đường dẫn - chi phí hoạt động, chi phí từ nút bắt đầu đến nút (thường ký hiệu g (x)) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 32 - Và “Admissible Heuristic ước lượng” khoảng cách đến mục tiêu (thường ký hiệu h (x)) H(x) phần f (chức năng) x phải Admissible Heuristic; có nghĩa là, khơng đánh giá cao khoảng cách đến mục tiêu Vì cho ứng dụng định tuyến, h(x) đại diện cho khoảng cách đường thẳng đến mục tiêu, khoảng cách nhỏ hai điểm Nếu h đáp ứng điều kiện bổ sung h x d x, y h y cho cạnh x, y đồ thị (d nghĩa chiều dài cạnh đó) sau gọi h khơng thay đổi hay quán Trong trường hợp A* thực hiệu - khoảng nói, nút không cần phải xử lý nhiều lần (xem đóng đặt đây) - thực tế, A* tương đương với chạy thuật toán Dijkstra's với chi phí giảm: d'(x, y): = d(x,y) - h(x) + h(y) Thuật tốn mơ tả lần đầu vào năm 1968 Peter Hart, Nils Nilsson, Bertram Raphael Thuật tốn khái qt hóa thành thuật tốn tìm kiếm Heuristic hai chiều A* lựa chọn phổ biến nhất, linh hoạt sử dụng nhiều hồn cảnh A* đồ thị thuật tốn tìm kiếm khác khác chỗ có khả tìm kiếm khu vực rộng lớn đồ Nó giống thuật tốn Dijkstra sử dụng để tìm đường ngắn Nó giống tham lam chỗ sử dụng Heuristic để hướng dẫn 3.2.2 Chi tiết thuật tốn A* Giả sử có người muốn từ điểm A tới điểm B Giả định tường ngăn cách hai điểm Điều minh họa hình LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 33 đây, với màu xanh điểm khởi đầu A, màu đỏ kết thúc điểm B hình chữ nhật màu xanh tường (hình 3.2) Hình 3.2 Ở chúng tơi phân chia khu vực tìm kiếm thành lưới vng hình vẽ để đơn giản hóa khu vực tìm kiếm, bước Phương pháp đặc biệt làm giảm diện tích để tìm kiếm mảng hai chiều đơn giản Mỗi mục mảng đại diện cho hình vng khu vực tìm kiếm, tình trạng ghi lại di chuyển đứng yên Đường tìm thấy xuất vng liên tiếp từ A đến B Các ô vuông đường gọi “nút” Các nút đặt đâu khu vực tìm kiếm a Bắt đầu tìm kiếm Khi đơn giản hóa khu vực tìm kiếm quản lý “nút”, bước cần làm tìm kiếm đường ngắn từ A đến B, A, kiểm tra hình vng liền kề tìm kiếm tìm thấy B Bắt đầu tìm kiếm sau: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 34 - Bắt đầu từ A, sau thêm vào danh sách mở hình vng liền kề A Về danh sách ô vuông cần kiểm tra để tìm đường đến B - Tất hình vng truy cập di chuyển giáp với A, hình 3.1 điểm không thuận lợi, thêm chúng vào danh sách mở A mốc quan trọng để theo dõi đường đến B - Chọn điểm vuông danh sách mở làm điểm bắt đầu đưa vào “danh sách đóng” F nhỏ Hình minh họa cho cơng việc Hình 3.3 Chìa khóa xác định hình vng để tìm đường ngắn phương trình sau đây: FGH Trong đó: + G chi phí di chuyển để di chuyển từ A đến điểm khởi đầu cho hình vng khu vực tìm kiếm + H chi phí ước tính để di chuyển, từ đưa điểm vng khu vực tìm kiếm đến đích cuối Chúng ta thực khoảng cách thực tế tìm thấy đường đến B Con đường tìm thấy qua nhiều danh sách mở hình vng chọn F nhỏ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 35 Trong ví dụ này, ta quy ước G=10 với di chuyển ngang, dọc G=14 với di chuyển chéo (ta sử dụng 10 14 khoảng cách thực tế để di chuyển theo đường chéo bậc hai 2, hay khoảng 1,414 lần chi phí di chuyển theo chiều ngang theo chiều dọc) H tính nhiều cách Ở chọn phương pháp Manhattan Với phương pháp tính tổng số hình vng di chuyển theo chiều ngang, dọc để đến đích mà khơng tính đến chướng ngại vật, sau nhân tổng với 10 Hình 3.4 Tiếp tục tìm kiếm Để tiếp tục tìm kiếm chọn hình vng có F nhỏ danh sách mở So với hình vng chọn, ta làm sau: - Đưa hình vng chọn từ danh sách mở vào danh sách đóng - Kiểm tra tất vng kề bỏ qua hình vng có danh sách đóng khơng di chuyển (bức tường hình 3.2) Thêm hình vng vào danh sách mở chưa có danh sách mở - Nếu hình vng liền kề vào danh sách mở, kiểm tra G cho hình vng thấp Nếu khơng, khơng làm điều Mặt khác, LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 36 chi phí G đường dẫn thấp hơn, thay đổi vuông kề bên vuông lựa chọn Cuối cùng, tính tốn lại F G điểm hình vng Các bước minh họa hình vẽ đây: Hình 3.5 Hình 3.6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 37 Hình 3.7 Cuối ta tìm đường từ A→B theo thuật tốn A* hình 3.8 Hình 3.8 b Tóm lược thuật tốn A* Từ giải thích chi tiết ví dụ ta tóm lược lại phương pháp A* sau: - Thêm hình vng bắt đầu (hoặc nút) vào danh sách mở LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 38 - Lặp lại sau: + Chọn hình vng F chi phí thấp danh sách mở + Chuyển vào danh sách đóng - Đối với ô vuông cạnh vuông - Nếu khơng di chuyển nằm danh sách đóng cửa, bỏ qua Nếu khơng làm sau: + Nếu khơng có danh sách mở, thêm vào danh sách mở… Làm cho khu vực tìm kiếm hình vng ghi F, G, H chi phí + Nếu danh sách mở, kiểm tra xem đường dẫn vuông tốt hơn, cách sử dụng G chi phí thước đo Một G thấp chi phí có nghĩa đường tốt Nếu vậy, thay đổi vng khu vực tìm kiếm vào vng tính tốn lại G điểm F khu vực tìm kiếm - Dừng khi: + Thêm mục tiêu vuông vào danh sách đóng cửa, đường dẫn trường hợp tìm thấy + Khơng tìm thấy vng mục tiêu danh sách mở trống Trong trường hợp này, khơng có đường dẫn 3.3 Cài đặt giải thuật 3.3.1 Cài đặt giải thuật Lập trình C# visual studio 2010 3.3.2 Hướng dẩn sử dụng Ứng dụng viết windows form nên tương đối dể sử dụng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 39 TÀI LIỆU THAM KHẢO Mai Tiến Dũng, Bài giảng kỹ thuật lập trình Phan Dũng (1992), Làm để sáng tạo, Ủy ban khoa học kỹ thuật Tp.Hồ Chí Minh Phan Dũng (1994), Sổ tay sáng tao: thủ thuật (nguyên tắc bản), Sở khoa học – công nghệ môi trường Phan Dũng (1997), Phương pháp luận sáng tạo khoa học kỹ thuật (giáo trình sơ cấp), Sở khoa học – công nghệ môi trường Nguyễn Hữu Duyệt, Bài giảng mơn trí tuệ nhân tạo Vũ Cao Đàm (1996), Phương pháp luận nghiên cứu khoa học, Nhà xuất khoa học kỹ thuật Hoàng Kiếm – Thanh Thủy – Chi Mai (1990), Đôi cánh I Ca Rơ, Nhà xuất thống kê Hà Nội Hoàng Kiếm (2001), Giải tốn máy tính nào, tập 2, Nhà xuất giáo dục Hoàng Kiếm, Bài giảng mơn ngun lý lập trình nâng cao, hệ sở tri thức, phương pháp luận nghiên cứu khoa học 10.Các website sau: http://www.topten.org http://www.technet.com http://www.mindtools.com http://www.colloquial.com/ArithmeticCoding http://www.compressconsult.com http://www.secretloveletters.com http://www.cs.cf.ac.uk/Dave/Multimedia/node141.html http://www.web-techniques.com/topics/compression/algorithms LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... PHƯƠNG PHÁP NGHIÊN CỨU, GIẢI QUYẾT VẤN ĐỀ BÀI TOÁN TRONG TIN HỌC 21 2.1 Mục đích nghiên cứu giải tốn tin học 21 2.2 Các phương pháp thường dùng để giải vấn đề toán máy tính ... khoa học tồn hai vấn đề: - Vấn đề chất vật tìm kiếm - Vấn đề phương pháp nghiên cứu để làm sáng tỏ lý thuyết thực tiễn vấn đề thuộc lớp thứ Cách giải vấn đề khoa học nào? Giải vấn đề khoa học. .. pháp giải vấn đề theo khoa học phát minh, sáng chế 1.2.1 Vepol 1.2.2 Phương pháp giải vấn đề theo khoa học phát minh, sáng chế 1.2.3 Một số thủ thuật, nguyên tắc phát minh, sáng tạo