1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu một số thuật giải heuristic cho bài toán pot và ứng dụng (tt)

26 5 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 0,94 MB

Nội dung

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - Đặng Phương Nga NGHIÊN CỨU MỘT SỐ THUẬT GIẢI HEURISTIC CHO BÀI TOÁN POT VÀ ỨNG DỤNG Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 TĨM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2014 Luận văn hoàn thành tại: HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: NCVC.PGS.TS Lê Huy Thập Phản biện 1: …………………………………………………………………………… Phản biện 2: ………………………………………………………………………… Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện Học viện Cơng nghệ Bưu Viễn thông MỞ ĐẦU Cây toán tử cách thể đồ thị câu truy vấn dạng SQL (Structured Query Language) hay AQL (Algebraic Query Language) Dạng đặc biệt toán tử toán tử đường ống POT (Pipelined Operator Tree) POT mà số toán tử nó có thể thực song song với dữ liệu toán tử có thể dữ liệu vào toán tử Trên POT, thực hiên thao tác cân tải, lập lịch truy vấn tối ưu, thực nhát cắt cục bộ, phân phối tốn tử cho xử lí, được thực thuật toán Khi POT được xử thuật tốn, việc thực câu truy vấn tương ứng giảm tối đa thời gian truyền dữ liệu, tăng tốc độ truy cập Đề tài nghiên cứu thuật toán Heuristic POT vấn đề chưa được nghiên cứu chưa được ứng dụng cụ thể thực tế Kết quả đạt được đề tài có thể được ứng dụng để giải các toán phân chia toán tử câu truy vấn hệ CSDL phân tán hệ đa xử lý phân tán Có thể ứng dụng cho các vấn đề thực tế khác chấm thi tuyển vào các sở đào tạo, bán hàng qua mạng… Sau thời gian tìm hiểu những vấn đề nêu trên, tơi xin chọn đề tài “Nghiên cứu số thuật giải heuristic cho toán POT ứng dụng” làm đề tài nghiên cứu luận văn Ngồi phần mở đầu kết luận, luận văn gồm chương: Chương 1: Trình bày tổng quan phương pháp phân mảnh dữ liệu cách tái cấu trúc quan hệ, phương pháp tạo toán tử SQL AQL từ mảnh Chương 2: Giới thiệu toán POT thuật toán POT, nghiên cứu thuật toán Heuristic cho toán POT Chương 3: Ứng dụng trường THCS Gia Thanh, nhằm giảm tới đa chi phí truyền thông tăng tốc độ truy cập giữa vị trí mạng trường CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Các phương pháp phân mảnh khôi phục quan hệ 1.1.1 Các phương pháp phân mảnh Các kiểu phân mảnh bản là: - Phân mảnh ngang + Phân mảnh ngang nguyên thủy + Phân mảnh ngang dẫn xuất - Phân mảnh dọc - Phân mảnh hỗn hợp 1.1.1.1 Phân mảnh ngang Thông tin CSDL cần thiết cho phân mảnh ngang Thông tin CSDL thơng tin lược đồ khái niệm tồn cục CSDL Tức cần biết được cách mà quan hệ hợp lại với Trong mơ hình quan hệ, các liên kết giữa các thực thể được biểu thị quan hệ Với mục đích thiết kế phân tán, các mới liên kết được mơ hình hoá theo kiểu mơ hình quan hệ Theo cách này, vẽ đường nối có hướng từ quan hệ Parent đến quan hệ Child Có hai loại phân mảnh ngang bản là: phân mảnh ngang nguyên thuỷ phân mảnh ngang dẫn xuất Phân mảnh ngang nguyên thủy Phân mảnh ngang nguyên thuỷ phân rã quan hệ thành các tập gồm các dựa các vị từ được định nghĩa quan hệ đó Phân mảnh ngang nguyên thuỷ được định nghĩa thuật toán chọn các quan hệ nguồn lược đồ CSDL Mảnh ngang Ri bao gồm các R được chọn theo công thức: Ri = 𝜎Fi(R), 1≤ i ≤ z Trong đó Fi công thức chọn được sử dụng để có được mảnh Ri Chú ý xét Fi có dạng chuẩn hội, nó vị từ hội sơ cấp (mi) Phân mảnh ngang dẫn xuất Phân mảnh ngang dẫn xuất phân mảnh quan hệ dựa vào các vị từ được định nghĩa quan hệ chủ (Parent) Phân mảnh ngang dẫn xuất phân mảnh ngang quan hệ đích đường nới dựa theo phép toán chọn quan hệ nguồn đường nối đó Nếu cho trước đường nối L, đó Nguon (L) = S Dich (L) = R, mảnh ngang dẫn xuất R được định nghĩa là: Ri = R Si, ≤ i ≤ Trong đó  số lượng mảnh được định nghĩa R, Si = 𝜎Fi(S) với Fi công thức định nghĩa mảnh ngang nguyên thuỷ Si Các thông tin cần cho phân mảnh ngang dẫn xuất : Muốn thực phân mảnh ngang dẫn xuất, cần ba thông tin vào: tập các mảnh quan hệ nguồn, quan hệ đích tập các vị từ nối nửa giữa nguồn đích Một số vấn đề phức tạp cần phải ý Trong lược đồ CSDL, gặp nhiều đường nới đến quan hệ R (ví dụ hình 1.1, PhanNhiem có hai đường nới đến) Như có thể có nhiều cách phân mảnh ngang dẫn xuất cho R Quyết định chọn cách phân mảnh cần dựa hai tiêu chuẩn: (1) Phân mảnh có đặc tính nới tớt (2) Phân mảnh được sử dụng nhiều ứng dụng 1.1.1.2.Phân mảnh dọc Cho R quan hệ tập các thuộc tính Ω = {A1, A2,…, An} Khi đó phân mảnh dọc quan hệ R sinh các mảnh R1, R2,, …, Rn cho mảnh quan hệ chứa tập các thuộc tính cuả quan hệ R khóa nó Tức Ω được phân mảnh cho Ω = Ω1 ᴗ Ω2 ᴗ… Ωn, đó Ri mảnh quan hệ các thuộc tính Ωi, i=1…k Mục đích phân mảnh dọc phân chia quan hệ R thành tập các quan hệ nhỏ để có nhiều ứng dụng có thể cần thực mảnh, điều làm giảm đáng kể chi phí Mảnh tới ưu mảnh sinh lược đồ phân mảnh cho phép giảm thiểu thời gian thực ứng dụng mảnh đó Kỹ thuật phân mảnh dọc phức tạp phân mảnh ngang, sớ lựa chọn phân hoạch lớn Trong trường hợp có m thuộc tính khơng phải khóa chính, sớ mảnh có thể mm Để có được lời giải tối ưu cho toán phân mảnh dọc khó, khơng hiệu quả Vì vần phải sử dụng các phương pháp Heuristic cho phân mảnh dọc các quan hệ toàn cục Có hai phương pháp Heuristic: a Nhóm thuộc tính: bắt đầu gán thuộc tính cho mảnh bước, nới số mảnh lại với thỏa mãn điều kiện phân mảnh b Tách mảnh: bắt đầu quan hệ định cách phân chia quan hệ dựa hành vi truy xuất các ứng dụng các thuộc tính Ở xem xét kỹ thuật tách mảnh nó thích hợp với phương pháp thiết kế CSDLPT từ xuống Việc nhân bản các thuộc tính khóa quan hệ tồn cục các mảnh đặc trưng phương pháp phân mảnh dọc cho phép khôi phục quan hệ tồn cục bảo đảm tính tồn vẹn ngữ nghĩa làm giảm quá trình trao đổi dữ liệu Vì phương pháp phân mảnh dọc đề cập đến các thuộc tính khơng khóa 1.1.1.3.Phân mảnh hỗn hợp Trong đa số các trường hợp, phân mảnh ngang phân mảnh dọc đơn giản cho lược đồ CSDL không đủ đáp ứng các yêu cầu từ các ứng dụng Trong trường hợp đó, phân mảnh dọc có thể được thực sau phân mảnh ngang ngược lại, sinh lối phân hoạch có cấu trúc (Hình 1.3) Bởi vì, hai loại chiến lược phân hoạch được áp dụng lần lượt, chọn lựa được gọi phân mảnh hỗn hợp (hybrid fragmentation) 1.1.2 Tái cấu trúc quan hệ 1.Tái thiết quan hệ phân mảnh ngang Tái thiết quan hệ từ mảnh thực toán tử hợp cả phân mảnh ngang nguyên thủy lẫn dẫn xuất  quan hệ R với phân mảnh FR = {R1, R2, R3, … Rm} ta có: R = ∪ Ri; ∀Ri ∈ FR Tái thiết quan hệ phân mảnh dọc Quan hệ R có phân mảnh dọc FR = {R1, R2, R3, … Rr} thuộc tính khóa K R= K Ri, ∀Ri ∈ FR Tái thiết phân mảnh hỗn hợp Trong phân mảnh hỗn hợp, hai loại phân mảnh ngang phân mảnh dọc được áp dụng lần lượt Vì tùy vào trường hợp cụ thể, tái thiết phân mảnh hỗn hợp dựa tái thiết quan hệ phân mảnh ngang tái thiết phân mảnh dọc nêu 1.2 Phương pháp tạo toán tử dạng SQL dạng AQL từ mảnh Cây toán tử cách thể đồ thị câu truy vấn dạng SQL (Structured Query Language) hay AQL (Algebraic Query Language) 1.2.1 Chuyển SQL sang AQL 1.Các phép toán quan hệ Các câu lệnh SQL Chuyển SQL sang AQL Phép chiếu: được kí hiệu π, sau đó các thuộc tính nằm sau SELECT, nêu điều kiện liên quan đến thuộc tính quan hệ xuất mệnh đề FROM Phép chọn: được kí hiệu σ, sau đó các thuộc tính nằm sau WHERE, nêu điều kiện liên quan đến thuộc tính quan hệ xuất mệnh đề FROM Thường sử dụng AND, OR, NOT, BETWEEN, phép toán so sánh Phép kết nối: được kí hiệu , mệnh đề WHERE thường có điều kiện kết nối mệnh đề FROM có nhiều hai quan hệ 1.2.2 Tạo toán tử dạng SQL AQL Định nghĩa toán tử: Một toán tử với nút biểu thị cho quan hệ được lưu sở dữ liệu, nút không phải biểu thị quan hệ trung gian được sinh phép toán quan hệ Chuỗi các phép toán để theo hướng đến gốc, gốc biểu thị kết quả vấn tin Cách biến đổi câu vấn tin phép tính quan hệ trở thành tốn tử sau: i Trước hết tạo các nút lá các quan hệ SQL các nút lá nằm sau FROM ii Nút gốc được tạo phép chiếu chứa các thuộc tính kết quả, các thuộc tính nằm sau SELECT iii Lượng tử hoá (vị từ sau WHERE ) được chuyển thành các phép tính quan hệ thích hợp (phép chọn, phép nới ,…) từ các nút lá đến gốc Chuỗi có thể được cho trực tiếp qua thứ tự xuất các vị trí các toán tử 1.3 Kết luận chương Trong CSDl quan hệ, thể quan hệ bảng Vấn đề tìm kiểu phân mảnh phù hợp để phân rã bảng thành nhiều bảng khác nhau, cho câu vấn tin được tham chiếu đến bảng dữ liệu cách đơn giản Có ba loại phân mảnh bản bao gồm: - Phân mảnh ngang + Phân mảnh ngang nguyên thủy: Một quan hệ được thực các vị từ được định nghĩa quan hệ đó + Phân mảnh ngang dẫn xuất: Phân mảnh quan hệ dừa vào vị từ được định nghĩa quan hệ chủ - Phân mảnh dọc: chia quan hệ thành nhiều quan hệ Phân mảnh dọc cho phép vấn tin với các quan hệ nhỏ nên giảm được số truy cập tăng tốc độ truy cập - Phân mảnh hỗn hợp: tổng hợp phân mảnh ngang phân mảnh dọc Tùy vào công việc sau đó chọn kiểu phân mảnh cho phù hợp Trong mơ hình tổ chức dữ liệu, việc lưu trữ dữ liệu dạng giúp cho cơng việc tìm kiếm dữ liệu trở nên dễ dàng gọi toán tử Cây toán tử cách thể đồ thị câu truy vấn dạng SQL hay AQL CHƯƠNG MỘT SỐ THUẬT TOÁN GIẢI BẰNG HEURISTIC 2.1 Giới thiệu toán POT thuật toán POT Chúng ta tập trung nghiên cứu vào toán xác định truy vấn tới ưu cho tốn tử mà sớ tốn tử thực song song với Còn những đỉnh khác phải thực tuần tự tức dữ liệu sản xuất đỉnh dữ liệu tiêu thụ đỉnh sau tốn tử Cây tốn tử với tính chất được gọi toán tử dạng ống- POT (Pipelined Operator Tree) Gọi T = (V,E), toán tử với V tập đỉnh, đỉnh đại diện cho toán tử, E tập cạnh, ti trọng số đỉnh i, cij trọng số cạnh (i,j), p sớ xử lý Vì toán tử kiểu đẳng cấu với ma trận liền kề IP (Isomorphous) [10], [11] mà đỉnh, tiêu đề cột hàng kèm với trọng sớ ti Ơ (cell) - giao cột hàng, trọng sớ cạnh cij Giữa T IP có song ánh, nói tốn tử T hiểu ma trận liền kề IP Do đó có thể gọi ma trận liền kề IP ma trận truy vấn, IP truy vấn hay đơn giản IP Để xử lý (bằng máy tính) đồ thị nói chung- toán tử nói riêng, người ta dùng IP Định nghĩa 2.1 Cây truy vấn toán tử T (IP truy vấn) phân hoạch các đỉnh V (hàng cột IP) thành p tập F1,…,Fp, với tập đỉnh (cộthàng) thuộc Fk xử lý thứ k thực thi Chi phí để thực xử lý k chi phí thực các đỉnh Fk cộng với trọng số từ các đỉnh đến các đỉnh những xử lý khác Nói cách khác, chi phí thực Fk tổng trọng số cạnh (cell) nối từ đỉnh (cột- hàng) Fk đến đỉnh (cột- hàng) bên ngồi Quy ước, cij= khơng có cạnh từ i đến j Định nghĩa 2.2.Tải xử lý k, kí hiệu Lk, chi phí thực toán tử định vị xử lý cộng với chi phí truyền thơng từ xử lý k đến xử lý 10 Đây toán NP - khó Để tìm lời giải tới ưu cho toán tử dạng ống, xây dựng thuật toán sở sử dụng hai phép toán gộp đỉnh cắt cạnh toán tử để định vị trí các đỉnh kề nên đặt nhóm Fk đó hay khơng, tức những toán tử được giao cho xử lý k thực 2.1.1 Các thuật toán tách - gộp đỉnh POT Định nghĩa 2.5 Cho toán tử T(V,E), toán tử Gop(i,j) hay (Collapse(i,j)) gộp hai đỉnh i j tập Fk để tạo đỉnh m sau: - t m = t i + t j - Các cạnh nối với i j được chuyển thành nối với m Định nghĩa 2.6 Cho toán tử T(V,E), toán tử Tach(i, j) (hay cut(i,j)) được sử dụng cắt cạnh (i, j) với hai đỉnh i j tập Fk để tách hai đỉnh sau: - i j thuộc hai tập Fk, Fl khác - Các đỉnh i j có trọng số mới là: tinew = tiold + cij tjnew = tjold + cij 1.Thuật toán gộp: Gop(i,m) gộp hàng i vào hàng cha m Giả sử IP truy vấn cấp n ×n Input: Hàng i, hàng cha m Output: IP truy vấn gộp hàng i vào hàng cha m Begin t m = tm + t i For k=1 to n cm,k+=ci,k End For Ghi nhãn hàng i vào bên cạnh hàng cha m 11 Xóa hàng i cột i End Độ phức tạp thuật toán O(n) 2.Thuật toán Tách Tach(i,m) tách hàng i khỏi hàng cha m Input: Toán tử cần tách Output: Các toán tử tách Begin tmnew = tmold + ci,m {với i hàng con, m hàng cha} tinew = tiold + ci,m {với i hàng con, m hàng cha} End Độ phức tạp thuật toán O(n) 2.1.2 Thuật toán Dividing Giả sử có p xử lý, n cơng việc x1, x2,…, xn có thời gian thực lần lượt t1, t2,…, tn Mỗi cơng việc thực xử lý phải thực trọn vẹn Hãy tìm cách phân chia n cơng việc cho p xử lý cho thời gian hồn thành nhanh Thuật tốn Dividing Đầu vào: - JOBS: tập gồm có n công việc x1, x2,…, xn - Cây toán tử đơn điệu T, chứa các t1,…, tn, thời gian thực tương ứng với các công việc khác - p: số xử lý 12 - F: tập gồm các phân hoạch F1,F2,…Fp để phân chia công việc vào đó Tập F ban đầu được khởi tạo rỗng (Ø) Đầu ra: - Tập kết quả F chứa các Fi công việc xi được phân chia Cách thức hoạt động: Bước 1: - Nhập vào tập công việc JOBS = {x1,…, xn} - Nhập vào tập thời gian thực các công việc T = {t1,…, tn} - Nhập vào số lượng mảnh dữ liệu p khởi tạo tập F = {F1,…,Fp} = Ø Bước 2: - Chọn Fi có tổng t(Fi) nhỏ tập F - Chọn xj có tj lớn tập JOBS - Đưa xj vào tập Fi - Loại bỏ xj khỏi tập JOBS Bước 3: - Kiểm tra xem tập JOBS có rỗng không + Nếu không quay lại bước + Nếu có thực bước Bước 4: - Lưu phân hoạch F với các phần tử (F1,…, Fp) chứa các phần tử xj cho thời gian hồn thành các cơng việc nhanh Thuật toán Dividing độ phức tạp đa thức 2.1.3 Thuật toán Dividing-BalancedCuts Chúng ta thấy đầu thuật tốn BalancedCuts [4] phân hoạch liên thơng có sớ tập ý ḿn (sớ tập phụ thuộc vào số xử lý) Nếu áp dụng thuật toán BalancedCuts cho các trường hợp xử lý thay đổi từ p đến n thu 13 được (n-p+l) tối ưu tương ứng Sau đó kết quả trường hợp được áp dụng tiếp cho thuật tốn phân chia cơng việc Dividing Ći ta thu được (n-p+l) truy vấn vừa bảo đảm tính tới ưu truyền thơng vừa đảm bảo cân tải Chúng ta chọn kết quả tốt (n-p+l) để làm truy vấn tối ưu Kết quả kết hợp bao giờ không xấu kết quả thuật toán riêng lẻ Thuật toán Dividing-BalancedCuts Đầu vào: - Cây toán tử đơn điệu T, chứa các t1,…, tn, thời gian thực tương ứng với các công việc khác - p: số xử lý Đầu ra: - Kết quả phân hoạch F chứa các (F1, F2, … Fp) cho max1≤i≤pCost(Fi) nhỏ Kết quả thuật toán phân hoạch (F1,F2,…,Fp) cho maxCost (Fi) nhỏ Thuật toán Dividing-BalancedCuts có độ phức tạp đa thức Thuật toán được áp dụng tốt không những cho những truy vấn thông thường với yêu cầu cân tải mà cịn cho truy vấn hình Tính đắn thuật toán được suy từ thuật tốn BalancedCuts Khi n= p kết quả thuật tốn kết quả thuật tốn BalancedCuts 2.2 Nghiên cứu thuật toán Heuristic cho toán POT 2.2.1 Giới thiệu thuật toán nhát cắt cục cho toán POT Thuật toán nhát cắt cục (LocalCuts) mở rộng thuật tốn tìm tới ưu cho toán tử POT Mở rộng giải trường hợp sớ nhóm sinh thuật tốn LocalCuts nhiều sớ xử lý cho phép, đồng thời bảo đảm yếu tố cân tải giữa xử lý 14 2.2.2 Thuật toán LocalCuts Thuật toán LocalCuts Input:  Cây toán tử qua tiền xử lý T [4], gồm n đỉnh  Tham số α> 1, đó α giá trị nhỏ tỉ số giữa trọng số đỉnh lá cạnh số cạnh nối đỉnh lá đó với đỉnh mẹ Output : Phân hoạch liên thông (Tl,…,Tk) Thuật toán xem xét sử dụng toán tử Collapse hay cut cho đỉnh lá đỉnh cha ( xem xét khả nới với đỉnh cha vào phân hoạch liên thông) Cách thức hoạt động: Bước 1: - Nhập vào tập thời gian thực các công việc T = {t1,…, tn} - Nhập vào tham số α > Bước 2: - Xét đỉnh j - Nếu tj > α.cjm thực toán tử cut(j,m) - Nếu tj ≤ α.cjm thực toán tử collapse(j,m) Bước 3: - Kiểm tra xem đỉnh cha m có đỉnh i không + Nếu có quay lại bước + Nếu khơng thực bước Bước 4: - Lưu phân hoạch liên thông T với các phần tử (T1,…, Tk) Nhận xét: Thuật toán có độ phức tạp O(n), n sớ đỉnh tốn tử qua tiền xử lý 15 Kết quả thuật toán phân hoạch liên thông đoán trước được nên thông thường thuật tốn đơi với thuật toán khác (cân tải chẳng hạn) để phân phối phân hoạch liên thông cho xử lý Thuật toán LocalCuts xem xét sử dụng toán tử collapse hay cut cho đỉnh lá đỉnh cha (hay xem xét khả nới với đỉnh cha vào phân hoạch liên thơng), nên định độc lập với trọng số đỉnh cha, đó số trường hợp làm tăng trọng số đỉnh cha lên cách đáng kể Từ đây, có thể gộp các đỉnh mảnh dùng thuật toán Dividing để cân tải xử lý (với số lượng) cho trước Chú ý: Có thể gán cho giá trị α > khác để được phân hoạch khác 2.2.3.Thuật toán cân tải dựa vào Dividing Giả sử có p xử lý, n cơng việc x1, x2,…, xn có thời gian thực lần lượt t1, t2,…, tn Mỗi cơng việc thực xử lý phải thực trọn vẹn Thuật toán cân tải dựa vào ngun tắc sau: “ Giao cơng việc có thời gian thực lớn công việc chưa được phân công cho xử lý thời có tải nhất” đó, tải xử lý k được xác định công thức L K =  (t   C iFK i jFK ij ) Đầu vào: - JOBS: tập gồm có n công việc x1, x2,…, xn - Cây toán tử đơn điệu T, chứa các t1,…, tn, thời gian thực tương ứng với các công việc khác - p: số xử lý 16 - F: tập gồm các phân hoạch F1, F2,…, Fp để phân chia công việc vào đó Tập F ban đầu được khởi tạo rỗng (Ø) Đầu ra: - Tập kết quả F chứa các Fi các công việc xi được phân chia Cách thức hoạt động: Bước 1: - Nhập vào tập công việc JOBS = {x1,…,xn} - Nhập vào tập thời gian thực các công việc T = {t1,…, tn} - Nhập vào số lượng mảnh dữ liệu p khởi tạo tập F = {F1,…,Fp} = Ø Bước 2: - Chọn Fi có Tải(Fi) nhỏ tập F - Chọn xj có tj lớn tập JOBS - Đưa xj vào tập Fi - Loại bỏ xj khỏi tập JOBS Bước 3: - Kiểm tra xem tập JOBS có rỗng không + Nếu khơng quay lại bước + Nếu có thực bước Bước 4: - Lưu lại tập kết quả phân hoạch (F1,…,Fp) Thuật toán có độ phức tạp O(n2) Tuy thuật toán không để ý trọng số đơn giản bảo đảm cân tải giữa xử lý nên thường được sử dụng kết hợp với thuật toán khác những kết quả tớt 2.2.4 Ví dụ minh họa Thuật toán cân tải kết hợp với thuật toán LocalCuts: 17 2.3 Kết luận chương Giải thuật Heuristic cho phép tìm kiếm phương án phân chia cơng việc tớt cho xử lý để tối ưu cân tải truyền thơng Đặc biệt, việc trình bày song song giữa toán tử IP truy vấn ánh xạ đẳng cấu cho phép vừa có nhìn trực quan rõ ràng dễ hiểu vừa sử dụng ngơn ngữ lập trình bậc cao để thể kết quả với dữ liệu thực mảng 18 CHƯƠNG 3: ỨNG DỤNG TẠI TRƯỜNG THCS GIA THANH, NHẰM GIẢM TỐI ĐA CHI PHÍ TRUYỀN THƠNG VÀ TĂNG TỐC ĐỘ TRUY CẬP GIỮA CÁC VỊ TRÍ MẠNG CỦA TRƯỜNG 3.1 Bài tốn Bài toán lập lịch những vấn đề quan trọng được nghiên cứu các mơi trường tính toán, đặc biệt các mơi trường tính toán phân tán mơi trường tính tốn song song Trong q trình hoạt động thực tiễn, cơng việc tác giả địi hỏi phải quản lý học sinh mơi trường tính tốn phân tán nhằm giảm tới đa chi phí truyền thơng tăng tớc độ truy cập giữa vị trí mạng trường, tác giả ứng dụng lí thuyết vào xây dựng sở dữ liệu quản lý học sinh Áp dụng bảng vấn tin cho toán lập lịch Các bước để áp dụng bảng vấn tin vào toán lập lịch:  Xây dựng trước câu vấn tin SQL  Tạo lập toán tử với: - i: các nút (toán tử) toán tử - ti: trọng số nút thứ i, chi phí (thời gian xử lý chi phí tiền) thực phép toán nút - Cij: trọng sớ cạnh, chi phí (thời gian chi phí tiền) để truyền dữ liệu từ toán tử i sang toán tử j ngược lại  Chuyển toán tử sang bảng IP (truy vấn)  Áp dụng thuật toán Dividing bản thuật toán cân tải (có thuật giải Heuristic) để giải toán phân chia công việc 3.2 Xây dựng Cơ sở liệu Với tốn trên, tác giả dựa vào q trình hoạt động thực tiễn đề đề xuất xây dựng sở dữ liệu quản lý học sinh Với bảng sau:  Môn học: Chứa thông tin các môn học trường có giảng dạy  Khối học: Chứa thông tin các khối học trường  Khối học: Chứa thông tin các lớp học trường 19  Học sinh: Chứa thông tin các học sinh trường  Điểm: Chứa thông tin điểm học sinh các học kỳ các năm trường Chúng ta có sơ đồ quan hệ hình 3.1 3.3 Thu thập liệu Dữ liệu được thu thập tương ứng với bảng nêu trên, từ trung tâm thông tin trường trung học sở Gia Thanh – Gia Viễn – Ninh Bình Hình 3.1: Sơ đồ sở liệu quan hệ 3.4 Cài đặt 3.4.1 Xây dựng câu truy vấn Xây dựng câu truy vấn SQL lấy tên học sinh đủ tiêu chuẩn thi học sinh giỏi khoa học tự nhiên cấp tỉnh Điều kiện phải đạt điểm xuất sắc mơn tốn, lý, hóa (có điểm tổng kết trung bình mơn từ trở lên) thuộc khối 8, học lớp chọn (lớp A) SELECT C.HoTen 20 FROM Khoi A JOIN Lop B ON A.KhoiID = B.KhoiID AND A.KhoiID IN (8, 9) JOIN HocSinh C ON B.LopID = C.LopID AND B.TenLop LIKE '%A' JOIN Diem E ON C.HocSinhID = E.HocSinhID JOIN MonHoc D ON D.MonHocID = E.MonHocID AND D.TenMon IN (N'Toán', N'Lý', N'Hóa') GROUP BY C.HoTen HAVING AVG(E.DiemTK) >= 3.4.2 Tạo lập toán tử Dựa vào câu truy vấn được xây dựng trên, xây dưng được tốn tử hình 3.3 Trọng sớ cạnh (chi phí xử lý) được giả định Hình 3.3: Cây tốn tử 3.4.3 Chuyển toán tử sang bảng IP (truy vấn) Với tốn tử với các đỉnh trọng sớ hình 3.3, có thể chuyển thành bảng IP để thực cài đặt thuật tốn máy tính 21 3.4.4 Chương trình thực thuật tốn cân tải 3.4.4.1 Tổ chức chương trình Chương trình được đặt tên ThuatToanPhanChiaCongViec_Heuristic, xây dựng dưới dạng Windows Form, dotNET Microsoft Được tổ chức sau: Trong đó, thành phần chính: - FrmCanBangTaiHeuristic: Cho phép người dùng nhập các thông tin đầu vào thuật toán - FrmKetQua: Hiển thị kết quả thuật toán - HeuristicAlgorithm.cs: Chứa các thủ tục xử lý thuật toán 3.4.4.2 Triển khai Đầu vào: - 14 công việc x1, x2,…, x14 - Cây toán tử đơn điệu T, chứa các t1,…, t14 bảng 3.6 - Số xử lý: - phân hoạch F1, F2, F3, F4 để phân chia công việc vào đó Tập F ban đầu được khởi tạo rỗng (Ø) Đầu ra: 22 - Tập kết quả F chứa các F1, F2, F3, F4 các công việc được phân chia Giao diện kết thực thuật toán: 3.5 Kết luận chương Vấn đề quan trọng chương dựa vào nghiên cứu các chương trước để ứng dụng lập lịch toán POT Tức chuyển POT sang bảng ( ma trận), từ đó có thể dùng phép tính ma trận để tiến hành phân chia công việc Việc ứng dụng được thực dữ liệu giả định với sớ tốn tử cho trước Tuy nhiên việc xử lý được thực hồn tồn mảng thơng qua sớ i j với sớ tốn tử khơng hạn chế.Việc phân bớ tốn tử cho xử lý được thực thơng qua thuật tốn phân chia cơng việc Có thể dùng ngơn ngữ lập trình đó để thể thuật toán thao tác trình bày chương mà chưa được đề cập tới 23 KẾT LUẬN Kết quả đạt được đề tài có thể được ứng dụng để giải các toán phân chia toán tử câu truy vấn hệ CSDL phân tán hệ đa xử lý phân tán Ngồi cịn có thể ứng dụng cho các vấn đề thực tế khác chấm thi tuyển vào các sở đào tạo, bán hàng qua mạng, xử lí thơng tin thiên tai, an ninh, Hướng phát triển luận văn: Lập lịch tự động tìm rút trích xâu để tìm toán tử SQL cho tương ứng với tốn tử đại sớ quan hệ, chuyển sang câu vấn tin đại số, từ đó xây dựng thành IP truy vấn (khơng cịn qua POT) áp dụng thuật toán 24 TÀI LIỆU THAM KHẢO [1] Lê Tiến Vương (2000) Nhập môn sở liệu quan hệ NXB Thớng Kê [2] Đồn Văn Ban, Nguyễn Mậu Hân (2006), Xử lí song song phân tán, NXB Khoa học kỹ thuật [3] Đỗ Xuân Lôi (1996), Cấu trúc liệu giải thuật, NXB Khoa học kỹ thuật [4] Lê Huy Thập (2010), Cơ sở lý thuyết song song, NXB Thông tin truyền thơng [5] Lê Huy Thập (2008), Giáo trình Kỹ thuật lập trình, Tập 1, NXB Khoa học tự nhiên công nghệ [6] Lê Huy Thập (2011 ), Bảng câu vấn tin quan hệ xử lý câu vấn tin bảng, Kỷ yếu Hội thảo QG, Đại Học sư phạm Kỹ thuật Hưng Yên, 29-40 [7] Barry Wilkingson, Michael Allen (1999), Parallel Programming, Technique and Applications Using Networked Workstations and Parallel Computers, Prentice Hall New Jersey [8] Robert Sedgewick (2001), Cẩm nang thuật toán Vol.1 and Vol.2, NXB Khoa học Kỹ thuật [9] M Tamner Ozsu, Patrick Valduriez (1999), Nguyên lý hệ sở liệu phân tán, Trần Đức Quang biên dịch, NXB Thống kê [10] Dimitri P Bert and John N Tsitsiklis (2001), Parallel and Distributed computation : Numerical Method Massachusets Institute of Technology Prentice Hall Press [11] Seyed H Roo (Springer 1999), Parallel processing and Parallel Algorthms, Theory and Coputation ... BalancedCuts 2.2 Nghiên cứu thuật toán Heuristic cho toán POT 2.2.1 Giới thiệu thuật toán nhát cắt cục cho toán POT Thuật toán nhát cắt cục (LocalCuts) mở rộng thuật tốn tìm tới ưu cho toán tử POT Mở... trúc quan hệ, phương pháp tạo toán tử SQL AQL từ mảnh Chương 2: Giới thiệu toán POT thuật toán POT, nghiên cứu thuật toán Heuristic cho toán POT Chương 3: Ứng dụng trường THCS Gia Thanh, nhằm... dạng SQL hay AQL 8 CHƯƠNG MỘT SỐ THUẬT TOÁN GIẢI BẰNG HEURISTIC 2.1 Giới thiệu toán POT thuật toán POT Chúng ta tập trung nghiên cứu vào toán xác định truy vấn tới ưu cho tốn tử mà sớ tốn tử

Ngày đăng: 19/03/2021, 18:01

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN