(Luận văn thạc sĩ) song song hóa một số thuật toán tổ hợp luận văn ths toán học 60 46 35

67 15 0
(Luận văn thạc sĩ) song song hóa một số thuật toán tổ hợp  luận văn ths  toán học 60 46 35

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN - Vũ Hồng Linh SONG SONG HÓA MỘT SỐ THUẬT TỐN TỔ HỢP Chun ngành: Bảo đảm tốn học cho máy tính hệ thống tính tốn Mã số: 604635 LUẬN VĂN THẠC SĨ KHOA HỌC Người hướng dẫn khoa học: PGS.TS HỒNG CHÍ THÀNH Hà Nội – 2011 LUẬN VĂN CAO HỌC Song song hóa số thuật tốn tổ hợp LỜI CẢM ƠN Tơi xin bày tỏ lịng kính trọng biết ơn sâu sắc tới PGS.TS Hồng Chí Thành, người trực tiếp hướng dẫn, giúp đỡ, động viên suốt thời gian thực luận văn Con cảm ơn Cha, Mẹ gia đình, người dạy dỗ, khuyến khích, động viên lúc khó khăn, tạo điều kiện cho nghiên cứu học tập Tôi xin chân thành cảm ơn Thầy Cô Bộ môn Tin học, Khoa Toán - Cơ - Tin học, Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội bạn bè, đồng nghiệp Trường Dự bị Đại Học Dân tộc Trung Ương giúp đỡ tơi nhiều q trình học tập, sưu tầm tài liệu cơng tác để tơi hoàn thành luận văn Dù cố gắng với tận tâm thầy giáo hướng dẫn song trình độ cịn hạn chế nên khó tránh khỏi thiếu sót Rất mong nhận góp ý thầy bạn Hà Nội, tháng 10 năm 2011 Học viên Vũ Hồng Linh LUẬN VĂN CAO HỌC Song song hóa số thuật toán tổ hợp MỤC LỤC MỞ ĐẦU LÝ DO CHỌN ĐỀ TÀI PHẠM VI NGHIÊN CỨU PHƯƠNG PHÁP NGHIÊN CỨU CHƯƠNG TỔNG QUAN VỀ TÍNH TỐN SONG SONG 1.1 CÁC MƠ HÌNH TÍNH TỐN SONG SONG 1.1.1 Mơ hình SISD (Single Instruction, Single Data) 1.1.2 Mơ hình SIMD (Single Instruction, Multiple Data) 1.1.3 Mơ hình MISD (Multiple Instruction, Single Data) 1.1.4 Mô hình MIMD (Multiple Instruction, Multiple Data) 10 1.2 MỘT SỐ KỸ THUẬT PHÂN RÃ TRONG TÍNH TỐN SONG SONG 11 1.2.1 Phân rã đệ quy (recursive decomposition) 12 1.2.2 Phân rã liệu (data-decomposition) 13 2.2.3 Phân rã thăm dò (exploratory decomposition) 17 1.3 KỸ THUẬT SONG SONG HĨA TÍNH TỐN DỰA TRÊN PHÂN ĐOẠN DÃY CÁC NGHIỆM CỦA BÀI TOÁN 20 CHƯƠNG BÀI TOÁN DÃY BỊ CHẶN 22 2.1 BÀI TOÁN DÃY BỊ CHẶN 22 2.2 THUẬT TỐN TÌM CÁC DÃY BỊ CHẶN 23 2.3 SONG SONG HĨA THUẬT TỐN TÌM CÁC DÃY BỊ CHẶN 25 CHƯƠNG ÁP DỤNG CHO MỘT SỐ BÀI TOÁN TỔ HỢP 28 3.1 BÀI TOÁN HOÁN VỊ 28 3.1.1 Bài toán hoán vị 28 3.1.2 Thuật toán sinh hoán vị 29 3.1.3 Song song hóa thuật tốn sinh hốn vị 36 3.1.4 Ứng dụng toán hoán vị 37 LUẬN VĂN CAO HỌC Song song hóa số thuật tốn tổ hợp 3.2 BÀI TỐN TẬP CON 39 3.2.1 Bài toán tập 40 3.2.2 Thuật toán sinh tập 41 3.2.3 Song song hóa thuật tốn sinh tập 42 3.2.4 Ứng dụng toán tập 42 3.3 BÀI TOÁN PHÂN HOẠCH 43 3.3.1 Bài toán phân hoạch 43 3.3.2 Thuật tốn tìm phân hoạch 47 3.3.3 Song song hóa thuật tốn tìm phân hoạch 49 3.3.4 Ứng dụng toán phân hoạch 49 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51 TÀI LIỆU THAM KHẢO 53 PHỤ LỤC 54 PHỤ LỤC BÀI TOÁN DÃY BỊ CHẶN 54 Chương trình cho thuật toán 54 Chương trình cho thuật tốn phân đoạn nghiệm 55 PHỤ LỤC BÀI TOÁN HOÁN VỊ 58 Chương trình cho thuật tốn 58 Chương trình cho thuật tốn phân đoạn nghiệm 59 PHỤ LỤC BÀI TOÁN TẬP CON 62 Chương trình cho thuật tốn 62 Chương trình cho thuật toán phân đoạn nghiệm 63 PHỤ LỤC BÀI TOÁN PHÂN HOẠCH 65 Chương trình cho thuật tốn 65 Chương trình cho thuật tốn phân đoạn nghiệm 66 LUẬN VĂN CAO HỌC Song song hóa số thuật tốn tổ hợp MỤC LỤC CÁC HÌNH VẼ Hình Mơ hình tính tốn ………………………………………… Hình 1.1 Mơ hình máy tính SISD Hình 1.2 Mơ hình máy tính SIMD Hình 1.3 Mơ hình máy tính MISD 10 Hình 1.4 Mơ hình máy tính MIMD 11 Hình 1.5 Phân rã đệ quy xếp dãy gồm 12 chữ số 13 Hình 1.6 Phân rã phép nhân ma trận 14 a) Phân hoạch ma trận đầu vào đầu thành 2x2 ma trận 14 b) Một phân rã phép nhân ma trận thành bốn công việc dựa phân hoạch ma trận (a) 14 Hình 1.7 Nhân hai ma trận A B với phân hoạch ma trận trung gian chiều D 16 Hình 1.8 Một phân rã phép nhân ma trận dựa việc phân hoạch ma trận trung gian chiều D 17 Hình 1.9 Đồ thị phụ thuộc phân rã Hình 1.8 17 Hình 1.10 Phân rã thăm dị minh họa cho Bài tốn đố thứ 15 19 Hình 1.11 Sơ đồ tính tốn song song tìm nghiệm tốn 21 Hình 3.1 Loại dồn danh sách XS ….………………………………….35 LUẬN VĂN CAO HỌC Song song hóa số thuật tốn tổ hợp MỞ ĐẦU LÝ DO CHỌN ĐỀ TÀI Trong tính tốn truyền thống, phần mềm máy tính viết cho tính toán Để giải toán, thuật toán xây dựng thực chuỗi lệnh Các lệnh thực xử lý trung tâm (CPU) máy tính Tại thời điểm, có lệnh thực Sau lệnh trước kết thúc lệnh thực Quá trình thực lệnh thể hình Hình Mơ hình tính tốn Tính tốn song song hình thức tính tốn, nhiều tính tốn thực đồng thời Tính tốn song song hoạt động nguyên tắc toán lớn chia thành tốn nhỏ hơn, sau toán giải đồng thời Song song sử dụng nhiều năm năm gần tính tốn song song trở thành mơ hình thống trị kiến trúc máy tính, chủ yếu hình thức đa xử lý (multi-processors) Vậy, phải tính tốn song song? Mặc dù tốc độ xử lý xử lý tăng lên nhiều, giới hạn vật lý nên khả tính tốn chúng khơng thể tăng Điều dẫn tới muốn tăng khả tính tốn hệ thống máy tính phải khai thác khả xử lý song song chúng LUẬN VĂN CAO HỌC Song song hóa số thuật toán tổ hợp Nhiều toán với số lượng tính tốn lớn tốn mơ thời tiết, tốn tạo hình y học hay phân tích mật mã… khơng thể giải khoảng thời gian hợp lý sử dụng tính toán - ta thực siêu máy tính, địi hỏi phải sử dụng hệ thống đa xử lý xử lý song song Để song song hóa tính tốn, chia tốn thành toán nhỏ giải song song tốn chiến lược chia để trị Hoặc chia nhỏ liệu toán giải song song theo phần Tuy nhiên, với tốn tổ hợp hai phương pháp không khả thi Với hướng tiếp cận mới, song song hóa tính tốn dựa phân đoạn dãy nghiệm tốn, chúng tơi giải vấn đề song song hóa thuật tốn tổ hợp PHẠM VI NGHIÊN CỨU Trong phạm vi luận văn thạc sĩ, đề tài tập trung nghiên cứu sở lý thuyết ứng dụng Trên sở đó, tiến hành phân đoạn dãy nghiệm cho số toán tổ hợp tiêu biểu PHƯƠNG PHÁP NGHIÊN CỨU - Phương pháp nghiên cứu tài liệu - Phương pháp phân tích - Phương pháp tổng hợp - Phương pháp thực nghiệm - Phương pháp lập trình LUẬN VĂN CAO HỌC Song song hóa số thuật tốn tổ hợp CHƯƠNG TỔNG QUAN VỀ TÍNH TỐN SONG SONG 1.1 CÁC MƠ HÌNH TÍNH TỐN SONG SONG Có nhiều cách phân loại kiến trúc tính tốn khác phân loại M Flynn dùng phổ biến Flynn phân loại kiến trúc máy tính dựa số đặc tính như: số lượng xử lý, số lượng chương trình chúng thực cấu trúc nhớ Sự phân loại dẫn đến bốn mơ hình kiến trúc tính tốn sau: 1.1.1 Mơ hình SISD (Single Instruction, Single Data) Những máy tính SISD có CPU mà thời điểm chúng thực lệnh (Single Instruction) xử lý đối tượng liệu (Single Data) Control Unit Control Signals Instruction Arithmetic Processor Results Data Stream Memory Hình 1.1 Mơ hình máy tính SISD Chẳng hạn, thực phép tính C = A + B A = B*2 máy thực sau: LUẬN VĂN CAO HỌC Song song hóa số thuật tốn tổ hợp Mơ hình SISD mơ hình máy tính truyền thống kiểu Von Neumann 1.1.2 Mơ hình SIMD (Single Instruction, Multiple Data) Những máy tính SIMD có điều khiển thực lệnh thời điểm chúng có nhiều phần tử xử lý Control Unit Cotrol signals Processing Element Cotrol signals Processing Element Processing Element Hình 1.2 Mơ hình máy tính SIMD Bộ điều khiển phát tín hiệu điều khiển cho phần tử xử lý phần tử xử lý thực thao tác đối tượng liệu khác 1.1.3 Mơ hình MISD (Multiple Instruction, Single Data) Máy tính loại MISD ngược lại với SIMD Máy tính MISD thực nhiều chương trình (nhiều lệnh) mục liệu, nên LUẬN VĂN CAO HỌC Song song hóa số thuật toán tổ hợp gọi MPSD (đa chương trình, đơn luồng liệu) Kiến trúc kiểu chia thành hai nhóm:  Lớp máy tính yêu cầu xử lý khác nhận lệnh khác để thực mục liệu Control Unit1 Control Unit Control Unit n Instruction Stream Arithmetic Processor Instruction Stream2 Arithmetic Processor Instruction Stream n Arithmetic Processor n Data stream Hình 1.3 Mơ hình MISD  Lớp máy tính có luồng liệu chuyển theo dãy CPU liên tiếp 1.1.4 Mơ hình MIMD (Multiple Instruction, Multiple Data) MIMD hệ thống đa xử lý đa máy tính Mỗi xử lý hệ thống có điều khiển riêng 10 LUẬN VĂN CAO HỌC Song song hóa số thuật toán tổ hợp TÀI LIỆU THAM KHẢO Tiếng Việt: Hồng Chí Thành (1999), Giáo trình Tổ hợp, NXB ĐHQG Hà Nội Hồng Chí Thành, Vũ Trọng Quế, Nguyễn Duy Hàm, Đỗ Thanh Hà (2010), Song song hóa tính tốn dựa phân đoạn nghiệm, Kỷ yếu Hội thảo Quốc gia lần thứ 12 “Một số vấn đề chọn lọc Công nghệ thông tin Truyền thơng”, Biên Hịa, NXB Khoa học Kỹ thuật, tr 413-425 Hồng Chí Thành (2010), Một số thuật toán tổ hợp tiên tiến, Kỷ yếu Hội nghị Khoa học “Các chuyên đề chuyên toán bồi dưỡng học sinh giỏi trung học phổ thông”, Nam Định, tr 169-177 Nguyễn Đức Nghĩa, Nguyễn Tơ Thành (2003), Tốn rời rạc, NXB Đại học Quốc gia Hà Nội Tiếng Anh: A Grama, A Gupta, G Karypis and V Kumar (2003), Introduction to parallel computing, Addison-Wesley H C Thanh (2010), Bounded sequence problem and some its applications, Proceeding of Japan - Vietnam Workshop on Software Engineering, Hanoi, pp 74 - 83 H C Thanh and N Q Thanh, An Efficient Parallel Algorithm for the Set Partition Problem, New Challenges for Intelligent Information and Database Systems (Eds: N.T Nguyen, B Trawinski and J.J Jung), Studies in Computational Intelligence, Springer-Verlag, 2011, Vol 351, pp 25-32 Website http://www.cs.umu.se/kurser/TDBAfl/VT06/algorithms/BOOK/BOOK/ NODE4.HTM http://en.wikipedia.org/wiki/Permutation https://computing.llnl.gov/tutorials/parallel_comp 53 LUẬN VĂN CAO HỌC Song song hóa số thuật tốn tổ hợp PHỤ LỤC PHỤ LỤC BÀI TOÁN DÃY BỊ CHẶN Chương trình chạy thuật tốn #include #include #include #define max 100 int S[max],G[max],T[max];int n,i; void InRa(int a[max]) { cout

Ngày đăng: 06/12/2020, 14:28

Mục lục

  • MỤC LỤC CÁC HÌNH VẼ

  • 1.1 CÁC MÔ HÌNH TÍNH TOÁN SONG SONG

  • 1.1.1 Mô hình SISD (Single Instruction, Single Data)

  • 1.1.2 Mô hình SIMD (Single Instruction, Multiple Data)

  • 1.1.3 Mô hình MISD (Multiple Instruction, Single Data)

  • 1.1.4 Mô hình MIMD (Multiple Instruction, Multiple Data)

  • 1.2 MỘT SỐ KỸ THUẬT PHÂN RÃ TRONG TÍNH TOÁN SONG SONG

  • 1.2.1. Phân rã đệ quy

  • 1.2.2. Phân rã dữ liệu

  • 2.2.3. Phân rã thăm dò

  • CHƯƠNG 2. BÀI TOÁN DÃY BỊ CHẶN

  • 2.1 BÀI TOÁN DÃY BỊ CHẶN

  • 2.2 THUẬT TOÁN TÌM CÁC DÃY BỊ CHẶN

  • 2.3 SONG SONG HÓA THUẬT TOÁN TÌM CÁC DÃY BỊ CHẶN

  • CHƯƠNG 3. ÁP DỤNG CHO MỘT SỐ BÀI TOÁN TỔ HỢP

  • 3.1 BÀI TOÁN HOÁN VỊ

  • 3.1.1 Bài toán hoán vị

  • 3.1.2 Thuật toán sinh các hoán vị

  • 3.1.3 Song song hóa thuật toán sinh các hoán vị

  • 3.1.4 Ứng dụng của bài toán hoán vị

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

Tài liệu liên quan