Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
353,5 KB
Nội dung
Trờng đại học bách khoa Hà Nội khoa công nghệ thông tin o0o Báo cáo thực tập tốt nghiệp đề tài : bảng phơng án : : : Giáo viên hớng dẫn Sinh viên thực Lớp Nguyễn Thanh Tùng Hà Nội 02 2004 BảNG PHƯƠNG áN I Bảng phơng án (Decision table) - Bảng phơng án công cụ mô tả hành động cần thực điều kiện logic - Giá trị chơng trình có nhiều điều kiện C1, C2, C3, ., Cn Điều kiện Ci nhận giá trị Ui ứng với liệu vào Vậy ứng với liệu vào ta có giá trị V = (V1; V2; V3; , Vn;) Gọi vector điều kiện Khi vector V cần phải thực hành động A Khi cấp {V; U) đợc gọi quy tắc hành động, tập hợp quy tắc hành động bảng phơng án Nh bảng phơng án là: + Xét riêng hành động, hành động không vào + Thích nghi với việc mô tả việc xử lý toàn tin thực có điều kiện phức tạp (vì móc nối điều kiện phức tạp) + Tự động hoá mô tả quy tắc thành điều khiển - Là bảng chiều nhng hớng dễ xây dựng - User chỏ giải đợc điều kiện mà lồng (32 nhánh) - Nếu vị = Đ (true) S (False) Thể bảng phơng án nhị phân Ngợc lại bảng phơng án mở rộng bảng phơng án mở rộng cần bảng phơng án nhị phân cách thtêm số điều kiện bổ trợ Ví dụ: x nhận giá trị P1; P2; P3 Khi biểu diễn Yi = (1) (2) Và y1 + y2 + y3 = thay vào xét x ta xét y1, y2, y3 lý thuyết ta xét bảng phơng án nhị phân bảng phơng án mở rộng biến đổi đa bảng phơng án nhị phân II Bảng phơng án phải biểu diễn (cấu trúc) - Thờng bảng phơng án biểu diễn dới dạng bảng chiều mà cột tơng đơng nội dung quy tắc hành động C1 C2 C3 U11 U21 U31 U1n U2n Giá trị điều kiện U3n Cn Un1 Unn A1 Ann Hành động (Actions) Ta không biểu diễn dạng giá trị thực tế ứng với điều kiện quy tắc hành động có khả xảy V ij Ci Ci = T F {F, T} (T or F phụ tổ hợp tập điều kiện tơng đơng với hành động chuẩn) Và có nhiều cách biểu diễn khác nhau, có cách ngời ta biểu diễn Vij phụ Ci Y N - ; Biểu diễn điều kiện quy tắc không -; Đóng vai trò quan trọng C1 Y Y Y Y C1 Y Y Y C2 Y Y N N C2 Y N N C3 Y Y Y N C3 Y N N C4 Y N Y Y C4 - Y Y A1 A1 A2 A3 A4 A1 A2 A3 Có điều kiện A1 C1 C2 C3 C4 Y Y Y Y C4 không đóng vai trò hành động A1 - Quy tắc hành động: Để biểu diễn chận cần thêm quy tắc hành động ELSE C thực lại Ví dụ: C1 Y Y Y C2 Y N N C3 Y Y N C4 - Y Y A1 A2 A3 Else - Tính chất bảng phơng án: Muốn thành lập bảng phơng án cần bảo đảm tính chất: Không mẫu thuẫn: không tồn vector điều kiện tơng ứng với hành động khác C tức không tồn quy tắc hành động mà giao điều kiện khác Bảng phơng án fải đầy đủ tức phải bao quát hết trơng hớp (Có hành động rỗng hay trơng hớp làm cả) - Nếu ELSE có 2n quy tắc hành động (quy tắc rút gọi): điều kiện cần kiểm tra tró để đảm bảo tính đầy đủ - Cho phép vecto điều kiện đợc mô tả nhiều quy tức hành động miễn không dẫn đến mâu thuẫn - Các hành đồng thờng đợc cho vector lời gọi {call} i lời gọi đợc đánh số từ trở {0 dành cho hành động khác nhau} cần có ánh xạ từ tập {đối tợng} N+, việc ánh xạ thờng đợc thực theo thứ tự từ điển nhng nhợc điểm là: với liệu chơng trình ta lại phải biến đổi thành liệu có chơng trình (ví dụ với tập hợp số {1, 2, 3,} {3, 2, 1} ta ánh xạ {1, 2, 3} tập tự nhiên nhánh {1, 2, 3} {3, 2, 1} cần phải chuẩn hoá - Bảng phơng án đợc xây dựng nh phúc hợp với chơng trình Macro (thông dịch) nhiên không thích hợp với computer - Biểu diễn dới dạng ma trận đánh dấu Với bảng phơng án Bn x m (Pn x m) phân tử P, Q 1: Loại bỏ cột ELSE tơng ứng bảng B Vậy Bij = Y N Hay Pij Pij = Đánh dấu điều kiện thực cần phải kiểm tra Qij = 1 (Đánh dấu điều kiện thực cần kiểm tra) nhận giá trị: Y (true) Ví dụ: B= Y - N Y N Y N N Y - - N 1+ 22 + 21 +1 : đầy đủ Kiểm tra mẫu thuận không trùng cách kiểm tra cấp cột (1, 2) (1, 3) bảng không mâu thuận P = 1 1 1 ; 1 = 1 : 0 Bảng nhị phân P Q thờng ma trận tha, P thờng số lợng ta Pđói với ; Q có số Q tha ta có AP không thực lu trữ ma trận cha P Q biểu diễn đợc với ma trận có m x n lớn dùng ma trận khối móc nối điều kiện với nhau: nối đ/k với Những không biểu biểu diễn đợc với P Q biểu diễn = Z (phần tử) Số điều khiển (n) số lợng chơng trình tờng đơng (Sn) C1 C2 C2 12 S76 Y or C2 C1 (3 x x 2) (4 x 122) /N C1 C1 Sn+1 = (n + 1) S2n 5 158880 ~ 16513 x 109 ~ 19 x 1026 III Các phơng pháp dịch bảng phơng án Xét bảng phơng án quy tắc ELSE, có nhóm phơng pháp chính: Phơng pháp khoá Số (Numberi key) Input: - Bảng phơng án - Vector điều kiện Output: - Hành động - Bớc 1: Tính V = (V1, V2, , Vn) - Bớc 2: Xây dựng khoá số n Gọi Ki bit thứ i = thứ Vi = F Ki = Vi = T - Bớc 3: Rẽ nhánh theo lệnh CAS Case K of K of K of m K of End; m = 2n (nếu m < 2n tức có quy tắc ELSE) Case K of K of K of else end; - Ưu điểm phơng pháp này: + Đơn giản: Nhng có nhợc điểm: quam trpọng >> dạng biểu diễn không dạng chuẩn việc duyệt giá trị khó khăn + Không đo hành động dới dạng rút gọn + Tính đầy đủ n giá trị n điều kiện Để đánh giá ngời ta tính số lợng kiểm tra trung bình (đẻ theo nhánh ta phải tính) trờng hợp nhánh ta phải tính n điều kiện - Dùng phơng pháp quy tắc hành động thực nhng phải ánh xạ sang tập giá trị thật Lựa chọn theo ma trận đánh dấu - Bớc 1: Tính V = (V1, V2, Vn) x = (v1, v2, , vn) Nhợc lại điểm phải tính giá trị n điều kiện có vectơ Nhị phân vi = Vi = F Vi = T - Bớc 2: Kí hiệu Pi = j P Tính Y = (y1, y2, , yn) Yi = Pji * vi - Bớc 3: So sánh Y với cột Qj Nếy Y = Qj thực hành động j Ngợc lại tặng lên quay lại bớc Ví dụ: 1 0 P = 1 1 Q = 0 0 0 C1 Y - N B = C2 N Y N C Y - - Y N N - Giả sử V (N N Y) thực hành động G: x = (0, 0, 1) Y= 0 0 0 Việc so sánh la so sánh bit nhánh, số phép so sánh trung bình (số lần thực bớc bớc 3) m : 0n) Phơng pháp rẽ nhánh lần lợt - Sơ đồ rẽ nhánh + Xây dựng điều kiện để kiểm tra chọn điều kiện cho tránh đợc nhiều việc tính giá trị điều kiện không cần kiểm tra tiêu chuẩn chọn Chọn điều kiện có số lợng Min Ví dụ: Trớc chọn điều kiện dùng vector đánh dấu điều kiện kiểm tra (giá trị tơng ứng = 0) Ví dụ: chọn điều kiện để kiểm tra (1, 0, 1) C2 C1 C3 A2 Y D - N Y Y N - Y N A1 A2 A3 Y n Đánh dấy hàng tham gia với bảng PA Vector 1biểu diễn C2 = Để biểu diễn ma1trận C2 = N C2 = Đánh dấu cột tăng gia vào N Y N N Y - - N A1 A2 A3 A4 Y C2 Y N N Y C2 A2 C2 A2 C3 Y N A1 A2 A3 Y N C3 A3 A4 A1 C1 3 Số phép kiểm tra Số phép kiểm tra trung bình để xác định hành động: t= + + + 14 = = 1,75 8 Không cần phải lu trữ toàn xác định mà cần xác định điều kiện phụ / số lợng Y số lợng N / số phép kiểm tra trung bình giảm Ví dụ ứng dụng bảng phơng án Ví dụ 1: Các toán logic phức tạp Ví dụ: trò chơI xét trò chơi ngời: Có quân đánh số từ 1: 5; ban đầu quân trạng thái ngửa Tổng ngời bạn đầu Hai ngời lần lợt theo quy tắc sau: Mỗi ngời đến lợt úp quân trạng thái ngửa cộng số quân vào bật quân bị úp trớc đó, ngời đấu úp quân quân trạng thái ngời kết thúc làm cho S > 35 thua - + - Lần t khả x x Lần t trở = x k x 46 + + - + - + - + + - - + + - + + - + + + - + + - + - + + + - + - + + + + - Căn vào bớc đầu đánh giá đợc mớc thắng thua 35 x = 165 trờng hợp Nó ứng với trờng hợp S = 33 S = 28 goi ngời thua S 1 + + - - - - + + - - - - - + + - + + - - - - + - - - - - - + - + + - - - - - + - - + - - + - - - + - - - + - - - - - - - - - + - + - - - - + + - - - - Nếu S = 20 bỏ từ cột 14 đến cột với ngời t khả thắng Từ bảng phơng án ta làm trò chơi dàn nhánh chậm đa dạng Chơng trình BEGIN clrscr; B-fan; {xây dựng bảng phơng án } nhap ; repeat if luật them computer else user ; Kiểm tra kết thúc ; Until kết thúc xử lý kết thúc ; END Cột đầu cột giá trị trớc để tính đặt thắng hết vào ngời thua +=1 -=0 Var B: array [1 5, 40]; Procadure B.fan ; 10 Var i, j: byte; Begin fillchar (B, size of (B), ) for i : = 36 to 40 for j : = to b [i, j] : = 1; for 35 down to for i : = to giá trị (i, j); End; Procedune giá trị (x, y : byte) n (* Nh ta thực biểu thức b i ) i =1 Var j, j, t : byte Begin t:=0; j:=x+y for i = to t : = t + b [i, j] t : = t b [x, j] (* x + y phải tính lại theo giá trị i trùng lặp for (j : = 1-5) phải thực lần giá trị (v + y) nhanh hơn; thừa phép tính t : = t + b [v + y] vào sau thực t : = tt : = t b [v ; j]*) jf t : > then b [v, y) : = else b [v, y] : = 1; end; - Thời gian IP đọc lệnh thực lệnh xử lý lệnh đợc xử lý song song - Chờ đợi xong đọc tính giá tăng gấp đôi - Chờ đợi, kiểm tra thay đổi thới gan IP cách thích hợp tốn thời gian if f: Lệnh gán có điều khiển 11 - Thủ tục computer cần xác định S : tổng Up : i úp - Giả sử up [u] cộng tất giá trị up, thử kiểm tra đến nớc thắng Nếu S = máy thua, S > máy thắng - Điều khiển trò chơi điều kiện thắng Lựa chọn nớc lớn tìm kiếm từ dới lên b [i, s] > để trò chơi kéo dài tìm kiếm từ xuống cho b [i, s] > Xây dựng chơng trình cách ngẫu nhiên Procudune xây dựng i; Var Begin Repeat i : = random (5) + Until (b [1] = 1) and (i < > up) (;) End ; - Không cần (;) tốt hơn, chơng trình dịch chạy nhanh hơn, tốt Do thực lệnh thòi gian IP đến lệnh thực lệnh sau đó: lệnh sau end Proce nên thực bỏ qua tốn thời gian (Phù hợp với lí thuyết suất lao động hơn) - Dấu (;) Pascal đóng vai trò 1> Chức đánh dấu phân biệt phân tách 2> Chức kết thúc Nguyên tắc máy tính phải nhìn thấy chuyện sau thực Ngầm định máy tính không nhìn thấy không thực điều Trong Pascal (;) đóng vai trò phân tách, phơng tiện để tách câu lệnh tách rời so với câu lệnh khác Trong số lợng hợp, dấu phân biệt đồng thời dấu hiệu kết thúc - Hệ điều hành soát bảng đánh dấu - Tính chất hệ điều hành: + tin cậy + chuẩn xác Nguyên tắc làm việc bảng phơng án (Nguyên lý điều khiển) 12 Chuẩn HP MP1 MP3: / thống âm MP4: cha thành chuẩn MP3 : Nén xuống cấu trúc liệu tác động lên cách xử lý IV Bảng phơng án mở rộng Vi nhận nhiều giá trị i = 1, 2, ánh xạ tập đối tợng sang tập số tự nhiên {1, 2, .} Sắp xếp theo thứ tự từ điển - Bảng phơng án: Cij giá trị nguyên (thuộc tập giá trị nó) dấu gạch ngang giá trị lại - Dịch gắn liền với trình thực hiện: chọn điều kiện để kiểm tra bit có kernel : + Đơn vị đl để xoay quanh xử lý + Đơn vị xử lý: áp dụng vào đơn vị - Công cụ gđ dịch: mô tả cho CT dịch, tạo câu lệnh mức ct nguồn - Chọn điều kiện: Thống kê xem giá trị xuất lần áp dụng cho quy tắc thồng minh Vd : C1 C2 C3 {1 ữ 3} {1 ữ 2} {1 ữ 4} {48} trờng hợp Xét bảng p/a C1 C2 C3 C1 C2 C3 1 1 4 2 3 1 1 13 (lần) 3 2 lấy C1 = C2 = max (tỉ lệ xuất max) đánh giá Y chọn C1hay C2 Ví dụ: C1 C2 C3 A1 A2 A3 A4 Y Y X X X (.) Y N X X (.) X N N N X X X N Y X X X: Thực : không thực A1 Y C1 N A2 Y A3 C2 A3 N Y A4 C3 N A4 Giá trị hành động Ai không phụ thuộc vào trình tự kiểm tra thay đổi A1, A2, A3 không làm thay đổi giá trị biến (hiệu ứng phụ) 14 [...]... chuẩn xác Nguyên tắc làm việc trên bảng phơng án (Nguyên lý điều khiển) 12 Chuẩn HP MP1 MP3: / thống nhất về âm thanh MP4: cha thành chuẩn MP3 : Nén xuống về cấu trúc dữ liệu tác động lên cách xử lý IV Bảng phơng án mở rộng Vi nhận nhiều hơn 2 giá trị i = 1, 2, 3 ánh xạ tập đối tợng bất kỳ sang tập số tự nhiên {1, 2, 3 .} Sắp xếp theo thứ tự từ điển - Bảng phơng án: Cij giá trị nguyên (thuộc tập... năng đánh dấu phân biệt phân tách 2> Chức năng kết thúc Nguyên tắc của máy tính là phải nhìn thấy mỗi chuyện sau đó mới thực hiện Ngầm định máy tính không nhìn thấy gì khi không thực hiện điều gì cả Trong Pascal (;) đóng vai trò phân tách, là phơng tiện để tách câu lệnh này tách rời so với câu lệnh khác Trong số lợng hợp, dấu phân biệt đồng thời là dấu hiệu kết thúc - Hệ điều hành ra soát bảng đánh... trị xuất hiện bao nhiêu lần áp dụng cho quy tắc thồng minh Vd : C1 C2 C3 {1 ữ 3} {1 ữ 2} {1 ữ 4} {48} trờng hợp Xét bảng p/a C1 C2 C3 C1 C2 C3 1 1 1 1 1 2 1 4 4 3 1 2 1 2 3 2 3 1 4 2 3 1 1 1 2 1 3 4 1 1 13 2 1 4 (lần) 2 3 1 3 2 2 lấy vì C1 = C2 = 4 max (tỉ lệ xuất hiện max) có thể đánh giá Y chọn C1hay C2 Ví dụ: C1 C2 C3 A1 A2 A3 A4 Y Y X X X (.) Y N X X (.) X N N N X X X N Y X X X: Thực hiện... thực hiện 1 lệnh và xử lý lệnh tiếp theo đợc xử lý song song - Chờ đợi xong và đọc ra tính giá tăng gấp đôi - Chờ đợi, kiểm tra thay đổi thới gan IP một cách thích hợp tốn thời gian hơn if f: Lệnh gán có điều khiển 11 - Thủ tục nó đi của computer cần xác định S : tổng Up : con bài i úp - Giả sử up [u] cộng tất cả các giá trị up, thử kiểm tra đến nớc thắng Nếu S = 0 máy thua, S > 0 máy thắng - Điều