Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 72 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
72
Dung lượng
508,07 KB
Nội dung
ĐẠ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 SIS 1.1.2 Mơ hình SIM 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.3 1.2.1 Phân rã đệ q 1.2.2 Phân rã l 2.2.3 Phân rã thăm KỸ THUẬT SONG SONG HĨA TÍNH TỐN DỰA TRÊN PH ĐOẠN DÃY CÁC NGHIỆM CỦA BÀI TOÁN CHƯƠNG BÀI TOÁN DÃY BỊ CHẶN 2.1 BÀI TOÁN DÃY BỊ CHẶN 2.2 THUẬT TỐN TÌM CÁC DÃY BỊ CHẶN 2.3 SONG SONG HĨA THUẬT TỐN TÌM CÁC DÃY BỊ CHẶN CHƯƠNG Á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á 3.1.2 Thuật toán s 3.1.3 Song song h 3.1.4 Ứng dụng củ 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 3.2.1 Bài 3.2.2 Thu 3.2.3 Son 3.2.4 Ứn 3.3 BÀI TOÁN PHÂN HOẠCH 3.3.1 Bài 3.3.2 Thu 3.3.3 Son 3.3.4 Ứn KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TÀI LIỆU THAM KHẢO PHỤ LỤC PHỤ LỤC B Chương trình cho thuật tốn Chương trình cho thuật tốn phân đ PHỤ LỤC B Chương trình cho thuật tốn Chương trình cho thuật tốn phân đ PHỤ LỤC B Chương trình cho thuật tốn Chương trình cho thuật toán phân đ PHỤ LỤC B Chương trình cho thuật tốn Chương trình cho thuật toán phân đ 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) phân Một phân rã phép nhân ma trận thành bốn công việc dựa 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 toá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 tố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 ngun tắc toán lớn chia thành toán nhỏ hơn, sau tố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 tốn tổ hợp Nhiều tố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 tố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 toá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 Instruction 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 Cotrol signals 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 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 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 TỐN DÃY BỊ CHẶN Chương trình chạy thuật toán #include #include #include #define max 100 int S[max],G[max],T[max];int n,i; void InRa(int a[max]) { cout