Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 142 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
142
Dung lượng
2,92 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN BÙI VŨ ANH ĐẠI SỐ KHOẢNG, OTOMAT KHOẢNG VÀ MỘT SỐ ỨNG DỤNG LUẬN ÁN TIẾN SĨ TOÁN HỌC Hà Nội - 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN BÙI VŨ ANH ĐẠI SỐ KHOẢNG, OTOMAT KHOẢNG VÀ MỘT SỐ ỨNG DỤNG Chuyên ngành : Bảo đảm Toán học cho máy tính hệ thống tính tốn Mã số : 62 46 35 01 LUẬN ÁN TIẾN SĨ TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS Phan Trung Huy TS Nguyễn Thị Hồng Minh XÁC NHẬN CỦA ĐẠI DIỆN XÁC NHẬN CỦA CÁN BỘ HƯỚNG DẪN CHỦ TỊCH HỘI ĐỒNG TS NGUYỄN THỊ HỒNG MINH GS TSKH PHẠM KỲ ANH Hà Nội - 2015 LỜI CAM ĐOAN Tơi xin cam đoan cơng trình nghiên cứu riêng hướng dẫn cố PGS TS Phan Trung Huy, Viện Toán ứng dụng Tin học - Trường Đại học Bách Khoa Hà Nội TS Nguyễn Thị Hồng Minh, Khoa Sau đại học - Đại học Quốc gia Hà Nội Các số liệu, kết nêu luận án trung thực chưa cơng bố cơng trình khác Hà nội, ngày 15 tháng năm 2015 Tác giả luận án Bùi Vũ Anh LỜI CẢM ƠN Lời đầu tiên, xin cảm ơn thầy hướng dẫn chính, cố PGS TS PHAN TRUNG HUY - Viện Toán ứng dụng Tin học, Trường ĐH Bách Khoa Hà Nội, người tận tình hướng dẫn tạo điều kiện cho tơi q trình làm luận án Thầy giúp tơi có phương pháp tư khoa học, giúp tơi có khả tự tìm tịi, trao đổi học hỏi q trình làm nghiên cứu Tôi xin cảm ơn cô giáo hướng dẫn, TS NGUYỄN THỊ HỒNG MINH - Khoa Sau đại học, ĐHQG Hà Nội, người trao đổi với ý tưởng nghiên cứu, động viên chia sẻ với tơi trước khó khăn chun mơn sống Tôi xin gửi lời cảm ơn tới thầy Khoa Tốn - Cơ - Tin học giảng dạy giúp đỡ thời gian học tập Khoa từ học đại học đến Cảm ơn đồng nghiệp Bộ mơn Tin học, Khoa Tốn - Cơ - Tin học, Trung tâm tính tốn hiệu cao thuộc Trường ĐH Khoa học Tự nhiên tạo điều kiện thuận lợi để tơi hồn thành luận án; cảm ơn Ban chủ nhiệm Khoa Tốn - Cơ - Tin học, phịng Sau đại học, Ban Giám hiệu Trường ĐH Khoa học Tự nhiên giúp đỡ thủ tục bảo vệ Tôi xin cảm ơn thầy cô, anh chị bạn seminar Cơ sở Toán học cho Tin học - Viện Toán học Bộ mơn Tốn tin, Viện Tốn ứng dụng Tin học - Trường ĐH Bách Khoa Hà Nội tạo điều kiện để trao đổi kết nghiên cứu, cho tơi nhận xét thiết thực, có ý nghĩa Tôi xin cảm ơn thầy cô Hội đồng đánh giá luận án cấp sở, phản biện kín anh chị em giúp tơi đọc, góp ý kiến để tơi hồn thiện luận án Tơi cảm ơn gia đình bạn bè cổ vũ, động viên suốt trình làm luận án Đặc biệt, xin bày tỏ lòng biết ơn bố mẹ, người sinh thành, dưỡng dục, động viên sống thời gian làm nghiên cứu sinh Cảm ơn gái trai cưng bố Các niềm vui, nguồn động lực cho bố Cảm ơn vợ em đồng hành anh Hà Nội, ngày 15 tháng năm 2015 Nghiên cứu sinh Bùi Vũ Anh Mục lục Lời cam đoan Lời cảm ơn Danh mục từ viết tắt Danh sách hình vẽ Mở đầu Đặt vấn đề 1.1 Các cách tiếp cận theo hướng otomat 1.2 Các cách tiếp cận theo hướng đại số 12 Mục tiêu luận án 13 Các kết luận án 14 Cấu trúc luận án 15 Chương Một số khái niệm sở 17 1.1 Quan hệ hai 17 1.2 Nửa nhóm, vị nhóm 20 1.3 Từ ngôn ngữ 21 1.4 Otomat hữu hạn 23 1.4.1 Otomat hữu hạn đơn định 23 1.4.2 Otomat đa định 25 1.4.3 Mối quan hệ otomat đơn định đa định 27 1.5 Bài tốn xác định ngơn ngữ 28 1.6 Otomat tối tiểu 29 Chương Cấu trúc đại số khoảng 32 2.1 Đại số khoảng 32 2.2 Quan hệ thứ tự khoảng 42 2.3 Giao thức chứng thực Zero-Knowledge 45 2.3.1 Ví dụ giao thức Zero-Knowledge 47 2.3.2 Hệ thống Zero-Knowledge dùng tích khoảng 49 2.3.3 Giao thức Zero-Knowledge kiểm chứng phía 62 Chương Ngôn ngữ otomat khoảng 65 3.1 Ngôn ngữ khoảng 65 3.1.1 Khái niệm 65 3.1.2 Các phép toán 66 3.1.3 Các phép toán d-ngôn ngữ 69 3.2 Otomat khoảng 71 3.2.1 Định nghĩa 71 3.2.2 Otomat khoảng đơn định đa định 82 3.2.3 Bài toán đơn định hoá otomat khoảng 85 3.2.4 Otomat khoảng tối tiểu 91 Chương Một số ứng dụng 99 4.1 Bài tốn tìm d-đường nhanh 99 4.2 Mơ hình mạng ưu tiên (Priority Network - PN) 104 4.2.1 Mơ hình mạng ưu tiên otomat khoảng 106 4.2.2 Bài toán đạt 106 4.2.3 Ví dụ PN thực tiễn 110 4.3 Mô hình hệ thống máy tính ghép cụm 112 4.3.1 Mơ hình 112 4.3.2 Lập lịch công việc 116 4.3.3 Thuật toán lập lịch tổng quát 119 Kết luận 123 Các cơng trình cơng bố 125 Tài liệu tham khảo 126 DANH MỤC TỪ VIẾT TẮT Stt Viết tắt CCS CSP Giải thích Ghi Calculus of Commu- Là cơng cụ đại số trình nicating Systems Robin Milner đề xuất Communicating Là đại số trình, Charles Sequential Processes Antony Richard Hoare đề xuất, sở ngơn ngữ lập trình tương tranh OCCAM HOL Higher Order Logic - Là phận nhóm cơng cụ Light Light chứng minh định lý logic bậc cao, phiên đơn giản John Harrison đề xuất SPIN Simple Promela In- Là công cụ nguồn mở dùng để kiểm terpreter chứng hình thức hệ thống phần mềm phân tán Bell Labs phát triển RAISE Rigorous Approach Là sản phẩm dự án European to Industrial Soft- ESPRIT II LaCoS Dines Bjørner ware Engineering làm trưởng dự án Sau công cụ Viện Công nghệ phần mềm quốc tế Đại học Liên hiệp quốc UNU-IIST sử dụng để đào tạo Công nghệ phần mềm cho nước phát triển Bảng – tiếp trang sau Stt Viết tắt UML Giải thích Unified Ghi Modeling Ngơn ngữ mơ hình hố thống Language Đây ngơn ngữ mơ hình chung chuẩn hố dùng công nghệ phần mềm hướng đối tượng Grady Booch, Ivar Jacobson James Rumbaugh phát triển từ năm 90 Đến năm 2000, trở thành chuẩn ISO cho mơ hình hệ thống phần mềm UPPAAL Upp-sala Aal-borg Là môi trường công cụ tích hợp xác nhận (validation) kiểm chứng (verification) hệ thời gian thực mơ hình mạng otomat thời gian Công cụ Đại học Uppsala Thuỵ Điển Đại học Aalborg Đan Mạch phát triển UTP Unifying Theories of Lý thuyết hợp ngơn ngữ lập Programming trình, Charles Antony Richard Hoare He Jifeng đề xuất • Bài tốn 1: Cho tập công việc độc lập X = {(idi , [li , ui ]), i = n} m nút tính tốn ={M1, M2, , Mm } giống cấu hình Lập lịch hoàn thành X thời gian ngắn Do m nút giống cấu hình nên chúng cần lượng thời gian (theo nghĩa thời gian ước lượng dạng khoảng mô tả trên) để hồn thành cơng việc Ta dùng thuật toán lập lịch động dựa nguyên lý tham Thuật tốn lập lịch cơng việc nút giống Input: X = {(idi , [li , ui ]), i = n} m nút Output: Tập công việc X hoàn thành (trong thời gian ngắn nhất) Thuật tốn: Sắp xếp cơng việc giảm dần theo thứ tự ≤m Phát công việc danh sách xếp cho nút trạng thái ready Lặp lại bước đến công việc thực xong Đây trường hợp hệ thống máy tính ghép cụm có nút (worker node) giống Các công việc với yêu cầu thời gian lớn xử lý trước, sau chênh lệch thời gian công việc thực giảm dần Do thời gian hoàn thành toàn phương án lập lịch không lớn hiệu thời gian thực hai cơng việc cuối Vì cuối, chênh lệch nhỏ nên thuật toán cho phương án lập lịch với thời gian thực tốt Thuật toán khai thác tối đa hoạt động đồng thời nút tối thiểu thời gian chờ đợi cơng việc Mặc dù vậy, khơng đảm bảo cung cấp phương án lập lịch tốt • Bài toán 2: Cho hai nút A, B tập công việc x cần thực trên hai nút A B Công việc id i nhận ràng buộc [lai , uai ] thực nút A, [lbi , ubi ] thực nút B Lập lịch hồn thành x thời gian ngắn Bài tốn giải sau dựa ý tưởng thuật toán Johnson [29] Thuật toán lập lịch thực công việc nút Input: x, hai nút A, B Output: Phương án lập lịch (có thời gian thực nhỏ nhất) 117 Thuật tốn: Chia cơng việc thành hai nhóm: G1 chứa tất cơng việc nhỏ (≤m ) chạy nút A, nhóm G2 chứa phần cịn lại Sắp xếp G1 tăng dần (≤m ) theo thời gian chạy nút A, xếp G2 giảm dần (≥m ) theo thời gian công việc chạy nút B Nối G2 vào sau G1 Đó thứ tự cơng việc cần tìm Thực lập lịch cách phát công việc danh sách cho hai nút đến tất công việc thực xong (A trước, B sau) Thuật toán cải biên thuật tốn Johnson [29] để lập lịch cơng việc hai nút, nhiên tiêu chuẩn so sánh dùng tiêu chuẩn so sánh truyền thống mà dùng tiêu chuẩn so sánh định nghĩa cho đại số khoảng ≤ m Trước hết, ta chia hai nhóm, G chứa cơng việc chạy hiệu mặt thời gian chạy nút A trước sau chuyển sang nút B, G chứa phần lại, tức hiệu chạy nút B trước sau chuyển sang nút A Sau bước 2, ta có thứ tự thực cơng việc hai nút Cơng việc sau hồn thành nút A chuyển sang nút B để thực pha nút A thực tiếp công việc lập lịch Thời gian để hồn thành cơng việc thời gian ngắn Việc chứng minh tính tối ưu thuật tốn dùng chứng minh thuật toán Johnson Trong trường hợp ước lượng thời gian chạy trở thời gian điểm, tức ước lượng xác thời gian hồn thành thuật tốn trở thành thuật tốn Johnson Trong trường hợp khác, hiệu tận dụng thêm thông tin ước lượng trên, áp dụng thuật toán Johnson cho cơng việc mơ tả tận dụng thông tin ước lượng dưới, trường hợp cho phép công việc thực hạn, lập lịch theo phương pháp Johnson không mang lại hiệu tốt Tương tự vậy, dùng thuật toán Johnson với cận thời gian trên, kết bị hạn chế không tối ưu cho công việc kết thúc sớm giá trị thời gian cận 118 4.3.3 Thuật toán lập lịch tổng quát i=1 m Lập lịch công việc máy với nhiều ràng buộc tổng qt tốn khó, khơng có lời giải tối ưu cho tốn thời gian đa thức (theo kích thước liệu vào, tức số công việc lập lịch) Một số thuật toán đưa Johnson Moore [29, 36] Trong [36], Moore giải tốn cơng việc q hạn sử dụng thuật tốn có thời gian cài đặt cịn [29], Johnson giải tốn cơng việc đến hạn hai máy mở rộng cho trường hợp máy với số điều kiện Các tác giả [9] tập trung vào tốn gồm hai máy cơng việc đưa đến theo thời gian Có số cải tiến Breit [10] cho công việc thực hai máy với ràng buộc tính sẵn sàng Trong [45], Petrovic tác giả giải toán hai máy quan điểm lý thuyết tập mờ; Strusevich [47] phát triển thuật toán 3/2 để giải lại toán Moore Trong phần này, chúng tơi xem xét tốn khía cạnh khác: lập lịch công việc với thời gian xử lý không chắn cho máy, nghĩa khơng biết xác thời gian mà máy hồn thành cơng việc ước lượng xác giá trị nằm khoảng thời gian Trong trường hợp riêng, toán trở thành toán [10, 36, 45] thời gian xử lý xác định xác • Bài tốn 3: Có tập n cơng việc x m máy thực Việc idj , j = n, chạy máy i, i = m, có ràng buộc di j = [li j , ui j ], cơng việc j gắn với ràng buộc [li j , ui j ] có nghĩa cơng việc cần tối thiểu l i j tối đa ui j thời gian để hoàn thành Lập lịch để hoàn thành công việc x dùng m ≥ máy thời gian nhỏ Nếu gọi time[i] thời gian máy i hồn thành cơng việc phương án lập lịch S, ta cần tìm phương án lập lịch tối ưu S cho f (S ) = max time[i] → S Thuật tốn lập lịch thực cơng việc m nút Input: x m Output: Thời gian tối thiểu tiêu tốn cho thực phương án lập lịch 119 Thuật tốn: Tìm phương án lập lịch tốt S x cho nút x i danh sách công việc cho nút i, i = m Kích hoạt nút Đặt thời gian tiêu tốn nút time[i] = 0, i = m Sắp xếp xi , i = m, giảm dần theo thứ tự ≤m Với nút kích hoạt i có hàng đợi cơng việc rỗng, lập lịch lại S sau: + Thử công việc chưa thực j (từ nhỏ đến lớn chạy nút i), giả sử j nằm xk với cơng việc + Tính ràng buộc thời gian khoảng T công việc x k + Nếu (dk j ≤m T) chuyển j từ xk sang xi Trái lại, thử công việc khác + Nếu khơng có cơng việc chuyển được, huỷ hoạt nút i (không thể chia sẻ công việc nào) + Lặp lại trình tái lập lịch khơng cịn nút kích hoạt với hàng đợi việc rỗng Giao công việc xi cho nút i i trạng thái ready cập nhật thời gian nút i tiêu tốn đến có hàng đợi việc nút kích hoạt rỗng Lặp lại bước đến tất phương án lập lịch cho nút rỗng Trả lại thời gian tiêu tốn lớn thời gian tiêu tốn nút Tính đắn thuật tốn có dựa vào nhận xét sau: - Công việc lớn thực trước (tiếp cận tham) nên công việc phía cuối hàng đợi lập lịch tốt tốn thời gian cơng việc phía đầu hàng đợi - Khi chuyển công việc hàng đợi sang hàng đợi khác, thời gian cần thiết để xử lý cơng việc tăng (nhưng thời gian xử lý hàng đợi chuyển công việc giảm) Nếu thời gian xử lý công việc chuyển sang xử lý nút tổng thời gian xử lý cơng việc với cơng việc hàng đợi ban đầu chuyển cơng việc đi, thời gian xử lý lập lịch không tăng thời gian xử lý cơng việc hàng đợi có cơng việc chuyển giảm - Nút i có hàng đợi rỗng chia sẻ công việc k từ hàng đợi j thời gian để hoàn thành k i nhỏ thời gian cần để hoàn thành tất công việc hàng đợi j Khi chuyển công việc k từ hàng đợi j sang hàng đợi i mà thời gian thực 120 hàng đợi nhiều thời gian thực tất công việc hàng đợi ban đầu khơng chuyển - Một nút chia sẻ công việc với nút khác cơng việc làm với thời gian ngắn nhất, nhiên tổng thời gian công việc hàng đợi chứa công việc chuyển sang ≤m thời gian nút khơng thể chia sẻ cơng việc bị huỷ hoạt - Vẫn có lập lịch tốt điều chỉnh tiêu chuẩn chia sẻ công việc Thử nghiệm Thử nghiệm 10 test với liệu vào sinh ngẫu nhiên tính giá trị trung bình, với số lượng máy 10, 20, 50 Thời gian khởi đầu l công việc nằm khoảng 50 (đơn vị thời gian): - Trường hợp 1: Cận u, thời gian kết thúc t công việc cận l nhau, tức u = t = l với t thời gian thực kết thúc công việc Trường hợp dùng để so sánh với thứ tự truyền thống (