Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
3,47 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN VĂN QUYẾT BÀITOÁNTÌMKIẾMVĂNBẢNSỬDỤNGGIẢITHUẬTDITRUYỀN Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: TS VŨ MẠNH XUÂN Thái Nguyên - 2009 MỞ ĐẦU Đặt vấn đề Ngày máy tính sửdụng lĩnh vực đời sống, kho thông tin máy tính tăng trưởng không ngừng thật khó khăn cho công tác tìmkiếm (nhất tìmkiếm file văn bản) Hãng Microsoft hỗ trợ tìmkiếm tự động công cụ Search tích hợp sẵn hệ điều hành Windows, cho ta hai cách thức tìmkiếm file là: tìm theo từ khoá tên file (All or part of the file name) – đưa file có tên chứa khoá tìm kiếm; tìm theo từ khoá nội dung file (A word or phrase in the file) – đưa file văn có chứa từ cụm từ giống với từ khoá Mặc dù Search Windows hỗ trợ mạnh chức tìmkiếm theo tên file, tìm theo nội dung file có hạn chế định, chẳng hạn: Search đưa file văn có chứa xác từ khoá tìm kiếm, khó khăn người dùng không nhớ xác từ khoá có nội dungvăn mà nhớ gần với từ khoá, công cụ Search không cụm từ khoá tìm nằm đâu văn tần suất xuất chúng, nên cần người dùng lại lần phải dò tìm công cụ tìmkiếm khác Vì lẽ toántìmkiếmvăntoán thiết thực nhiều người quan tâm, vấn đề cấp thiết đặt giảitoántìmkiếmvăn cho hiệu quả, đáp ứng nhu cầu người sửdụng Luận văn định hướng nghiên cứu sửdụnggiảithuậtditruyềntìm file văn đoạn văn giống gần giống với mẫu (từ khoá) cần tìmkiếm Với mục tiêu đó, lựa chọn đề tài nghiên cứu luận văn “Bài toántìmkiếmvănsửdụnggiảithuậtdi truyền” Đây hướng tiếp cận toán này, hy vọng kết đạt có hiệu đáng kể so với phương pháp tìmkiếm khác BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 2 Mục đích luận văn Mục đích luận văn là: nghiên cứu phương pháp tìmkiếmvăntìm cách ứng dụnggiảithuậtditruyền để giảitoán này, sở xây dựng phần mềm ứng dụngtìmkiếmvăn cách hiệu thiết thực Nội dung luận văn Đề tài tập trung vào toántìmkiếmvăn theo hướng tiếp cận sau: Tìm vị trí văn có xuất chuỗi văn giống gần giống với chuỗi văn mẫu (xuất gần giống trường hợp văntìmkiếm không chứa chuỗi văn mẫu) Trên sở đó, nội dung luận văn gồm bốn chương sau phần Mở đầu: - Chương 1: Nghiên cứu khái quát kỹ thuậttìmkiếmvăn - Chương 2: Tìm hiểu giảithuậtdi truyền, trọng đến kỹ thuật có liên quan đến toántìmkiếm - Chương 3: Xây dựng phát biểu toán, đề xuất phương pháp sửdụnggiảithuậtditruyềntìmkiếmvăn Chương 4: Kết thử nghiệm phát triển phần mềm ứng dụng Phương pháp nghiên cứu Nghiên cứu tài liệu, đề xuất giải pháp lập trình thử nghiệm Luận văn bước đầu đề xuất phương pháp ứng dụnggiảithuậtditruyền vào giảitoántìmkiếmvăn bản, chương trình thử nghiệm minh chứng hướng tiếp cận đắn có hiệu Đặc biệt chương trình vị trí xuất đoạn văn giống văn mẫu gần giống với văn mẫu (trong trường hợp văn không chứa văn mẫu) cần tìm thời gian cho phép Hiện trình phát triển phần mềm ứng dụng dựa vào kết nghiên cứu BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền CHƯƠNG MỘT SỐ KỸ THUẬTTÌMKIẾMVĂNBẢN Trong phần quan tâm đến toántìmkiếmvăn thông dụngthuậttoán có để tìmkiếm tất vị trí xuất mẫu văn Các thuậttoán chạy chương trình thử nghiệm, cài đặt dùng hàm : Output để thông báo vị trí tìm thấy mẫu 1.1 Bàitoántìmkiếmvăn Dữ liệu máy tính lưu trữ nhiều dạng khác nhau, sửdụng chuỗi cách phổ biến Trên chuỗi đơn vị liệu ý nghĩa quan trọng cách xếp chúng Ta thấy dạng khác chuỗi file liệu, biểu diễn gen, hay văn đọc Một phép toán chuỗi đối sánh mẫu (pattern matching), toán yêu cầu ta tìm nhiều vị trí xuất mẫu văn Trong mẫu văn chuỗi có độ dài M N (M ≤ N), tập ký tự dùng gọi bảng chữ Σ, có số lượng δ Việc đối sánh mẫu diễn với nhiều lần thử đoạn khác văn Trong cửa sổ chuỗi M ký tự liên tiếp văn Mỗi lần thử chương trình kiểm tra giống mẫu với cửa sổ thời Tùy theo kết kiểm tra cửa sổ dịch sang phải văn cho lần thử BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 1.2 Các thuậttoán 1.21 Thuậttoán Brute Force Thuậttoán Brute Force thử kiểm tra tất vị trí văn từ n-m+1 Sau lần thử thuậttoán Brute Force dịch mẫu sang phải ký tự kiểm tra hết vănThuậttoán Brute Force không cần công việc chuẩn bị mảng phụ cho trình tìmkiếm Độ phức tạp tính toánthuậttoán O(n*m) Thủ tục cài đặt: function IsMatch(const X: string; m: integer; const Y: string; p: integer): boolean; var i: integer; begin IsMatch := false; Dec(p); for i := to m if X[i] Y[p + i] then Exit; IsMatch := true; end; procedure BF(const X: string; m: integer; const Y: string; n: integer); var i: integer; begin for i := to n - m + if IsMatch(X, m, Y, i) then Output(i); { Thông báo tìm thấy mẫu vị trí i văn } end; BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 1.2.2 Thuậttoán Knuth-Morris-Pratt Thuậttoán Knuth-Morris-Pratt thuậttoán có độ phức tạp tuyến tính phát ra, dựa thuậttoán brute force với ý tưởng lợi dụng lại thông tin lần thử trước cho lần sau Trong thuậttoán brute force dịch cửa sổ ký tự nên có đến m-1 ký tự cửa sổ ký tự cửa sổ vừa xét Trong có nhiều ký tự so sánh giống với mẫu lại nằm cửa sổ dịch vị trí so sánh với mẫu Việc xử lý ký tự tính toán trước lưu lại kết Nhờ lần thử sau dịch nhiều ký tự, giảm số ký tự phải so sánh lại Xét lần thử vị trí j, cửa sổ xét bao gồm ký tự y[j…j+m-1] giả sử khác biệt xảy hai ký tự x[i] y[j+i-1] Khi x[1…i]=y[j…i+j-1]=u a=x[i]y[i+j]=b Với trường hợp này, dịch cửa sổ phải thỏa mãn v phần đầu xâu x khớp với phần đuôi xâu u văn Hơn ký tự c sau v mẫu phải khác với ký tự a Trong đoạn v thoả mãn tính chất ta quan tâm đến đoạn có độ dài lớn U u v b c a x Y x j i+j-1 Dịch cửa sổ cho v phải khớp với u c a BàitoánTìmkiếmvănsửdụnggiảithuậtditruyềnThuậttoán Knuth-Morris-Pratt sửdụng mảng Next[i] để lưu trữ độ dài lớn xâu v trường hợp xâu u=x[1…i-1] Mảng tính trước với chi phí thời gian O(m) (việc tính mảng Next thực chất toán qui hoạch động chiều) Thuậttoán Knuth-Morris-Pratt có chi phí thời gian O(m+n) với nhiều 2n-1 lần số lần so sánh ký tự trình tìmkiếm Thủ tục cài đặt: procedure preKMP(const X: string; m: integer; var Next: array of integer); var i, j: integer; begin i := 1; j := 0; Next[1] := 0; while (i 0)and(X[i] X[j]) j := Next[j]; Inc(i); Inc(j); if X[i] = X[j] then Next[i] := Next[j] {v khớp với u c a} else Next[i] := j; end; end; procedure KMP(const X: string; m: integer; const Y: string; n: integer); var i, j: integer; Next: ^TIntArr; { TIntArr = array[0 maxM] of integer } begin GetMem(Next, (m + 1)*SizeOf(Integer)); preKMP(X, m, Next^); i := 1; j := 1; while (j 0)and(X[i] Y[j]) i := Next^[i]; BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền Inc(i); Inc(j); if i > m then begin Output(j - i + 1); i := Next^[i]; end; end; FreeMem(Next, (m + 1)*SizeOf(Integer)); End; 1.2.3 Thuậttoán Deterministic Finite Automaton (máy automat hữu hạn) Trong thuậttoán này, trình tìmkiếm đưa trình biến đổi trạng thái automat Hệ thống automat thuậttoán DFA xây dựng dựa xâu mẫu Mỗi trạng thái (nút) automat lúc đại diện cho số ký tự khớp mẫu với văn Các ký tự văn làm thay đổi trạng thái Và đạt trạng cuối có nghĩa tìm vị trí xuất mẫu Thuậttoán có phần giống thuậttoán Knuth-Morris-Pratt việc nhảy trạng thái trước gặp ký tự không khớp, thuậttoán DFA có đánh giá xác việc xác định vị trí nhảy dựa ký tự không khớp văn (trong thuậttoán KMP lùi dựa vị trí không khớp) Với xâu mẫu GCAGAGAG ta có hệ automat sau BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 8 G G G G G C C C G C A G A G A G Với ví dụ hình ta có: * Nếu trạng thái gặp ký tự A văn chuyển sang trạng thái * Nếu trạng thái gặp ký tự C văn chuyển sang trạng thái * Trạng thái trạng thái cuối cùng, đạt trạng thái có nghĩa tìm thất xuất mẫu vănBàitoánTìmkiếmvănsửdụnggiảithuậtditruyền * Trạng thái trạng thái mặc định (các liên kết không biểu thị trạng thái này), ví dụ nút gặp ký tự khác G chuyển trạng thái Việc xây dựng hệ automat đơn giản cài đặt ma trận kề Khi thuậttoán có thời gian xử lý O(n) thời gian nhớ để tạo hệ automat O(m*) (tùy cách cài đặt) Nhưng ta nhận thấy DFA có nhiều m cung thuận m cung nghịch, việc lưu trữ cung không cần thiết phải lưu ma trận kề mà dùng cấu trúc danh sách kề Forward Star để lưu trữ Như thời gian chuẩn bị lượng nhớ O(m) Tuy nhiên thời gian tìmkiếm tăng lên chút so với cách lưu ma trận kề Cài đặt xin dùng cách đơn giản (ma trận kề) Type TAut = array[0 maxM, maxd] of integer; procedure preAUT(const X: string; m: integer; var G: TAut); var i, j, prefix, cur, c, newState: integer; begin FillChar(G, SizeOf(G), 0); cur := 0; for i := to m begin prefix := G[cur, Ord(X[i])]; {x[1 prefix]=x[i-prefix+1 i]} newState := i; G[cur, Ord(X[i])] := newState; for c := to maxd {copy prefix -> newState } G[newState, c] := G[prefix, c]; cur := newState; end; end; procedure AUT(const X: string; m: integer; const Y: string; n: integer); var BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 55 011011011000 1752 0.0909 101100110000 001100000000 768 0.2273 001100010000 100010011010 10 2202 0.2727 001100010000 100011111010 11 2298 0.2273 001100010000 101010011001 12 2713 0.1364 001100010000 111010001011 13 3723 0.1364 001100010000 100101101111 14 2415 0.1818 001100000000 010101101101 15 1389 0.0000 001100010000 111001110111 16 3703 0.2273 001100010000 001111101010 17 1002 0.0000 001100011000 001111101001 18 1001 0.0000 001100010000 001110010000 19 912 0.2727 001100010000 000010010110 20 150 0.1818 001100010000 - KHỞI TẠO: Gia tri tot nhat = 0.273 ca the thu 10 tai vi tri 2202 vanban - KẾT THÚC: Gia tri tot nhat = 0.318 ca the thu tai vi tri 784 vanban - Thời gian thực (%second): 38 Test 10: KHỞI TẠO Cá thể Vị trí Hàm mục tiêu KẾT THÚC 110010100100 3236 0.0455 010001001001 101001111000 2680 0.2273 010001001000 001101000010 834 0.3182 010001001000 100001111010 2170 0.1818 010001001001 110111110000 3568 0.0000 010001001000 111110011000 3992 0.1364 010001001000 110001010010 3154 0.0000 010001001000 100111100100 2532 0.1818 010001001000 011101001000 1864 0.2273 010001001000 000011000111 10 199 0.1818 010001001000 011110000011 11 1923 0.1818 010001001000 001000100110 12 550 0.2727 010001001000 000100111111 13 319 0.0455 010001001000 110010100000 14 3232 0.0455 010001001001 011001010101 15 1621 0.1364 010001001001 011001010011 16 1619 0.1364 010001001000 010001100001 17 1121 0.3182 010001001000 101111101111 18 3055 0.1818 010001001000 101101010011 19 2899 0.0455 010001001000 101001001101 20 2637 0.1364 010001001000 - KHỞI TẠO: Gia tri tot nhat = 0.318 ca the thu tai vi tri 834 vanban - KẾT THÚC: Gia tri tot nhat = 0.500 ca the thu tai vi tri 1096 vanban - Thời gian thực (%second): 33 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 56 Test 15: KHỞI TẠO Cá thể Vị trí Hàm mục tiêu KẾT THÚC 001110111001 953 0.3636 000001111111 010011101110 1262 0.2727 010001011101 001100000111 775 0.1364 010001011101 101100001011 2827 0.2273 010001011101 110100010110 3350 0.0000 010001011110 011010101011 1707 0.1818 010001111101 001001111111 639 0.1818 010001011100 010001011010 1114 0.4545 010001011101 011001111011 1659 0.2727 010001011101 100011111011 10 2299 0.1818 010001111101 110001100011 11 3171 0.0909 010001011110 100011100101 12 2277 0.1818 010001011101 110110000001 13 3457 0.1818 011001011101 001000011101 14 541 0.1818 010001011101 000101100000 15 352 0.0909 010001011101 101111110000 16 3056 0.2273 010001010101 010100010101 17 1301 0.2727 010001011101 110001101001 18 3177 0.0455 010001011110 100111110000 19 2544 0.1364 010001011101 000000100100 20 36 0.2727 010001011101 - KHỞI TẠO: Gia tri tot nhat = 0.455 ca the thu tai vi tri 1114 vanban - KẾT THÚC: Gia tri tot nhat = 1.000 ca the thu tai vi tri 1117 vanban - Thời gian thực (%second): 43 Test 20: KHỞI TẠO Cá thể Vị trí Hàm mục tiêu KẾT THÚC 110111101111 3567 0.0000 101101111001 011111111100 2044 0.1364 101001111001 011111011110 2014 0.0455 101001111001 011101001100 1868 0.1818 101001111001 000011011010 218 0.2273 101001111001 100100110111 2359 0.2273 101101111001 110110001100 3468 0.0000 101001111001 001010111000 696 0.1818 101001111001 101000111011 2619 0.1364 101001111001 100101101011 10 2411 0.1818 101001111001 101000011010 11 2586 0.1818 111001111001 110100110001 12 3377 0.1364 101001111001 000101110100 13 372 0.2273 101001111001 011000011100 14 1564 0.1364 101001111001 010010011110 15 1182 0.1364 101001111001 001010001011 16 651 0.1818 101001111001 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 57 010011100000 17 1248 0.2273 101001111001 100110011011 18 2459 0.1364 101001111001 011101000100 19 1860 0.1818 101001111001 000100001110 20 270 0.0909 101001111001 - KHỞI TẠO: Gia tri tot nhat = 0.227 ca the thu tai vi tri 218 vanban - KẾT THÚC: Gia tri tot nhat = 0.364 ca the thu tai vi tri 2681 vanban - Thời gian thực (%second): 32 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 58 Phụ lục 2: Kết chitiết xuất vượt ngưỡng (với ngưỡng = 0.8) Xem kết chitiết lần xuất vượt ngưỡng (với ngưỡng = 0.8) bảng 4.6 TheHe Max CaThe ViTri(trong van ban) KT 0.636 18 10 0.818 0.818 0.818 0.818 0.818 0.909 12 7 0.909 0.909 0.909 10 0.909 11 0.909 12 0.909 13 0.909 14 0.909 15 0.909 16 0.909 17 0.909 18 0.909 19 1.000 13 20 1.000 13 21 1.000 17 22 1.000 23 0.909 24 0.909 25 1.000 26 1.000 27 0.909 28 0.909 29 0.909 30 0.909 31 0.909 32 0.909 33 0.909 34 0.909 35 0.909 36 0.909 37 0.909 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 59 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 0.909 0.909 0.909 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1 16 10 16 14 2 1 1 1 1 1 1 2 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 60 81 1.000 82 1.000 83 1.000 84 1.000 85 1.000 86 1.000 87 1.000 88 1.000 89 1.000 90 1.000 91 1.000 92 1.000 93 1.000 94 1.000 95 1.000 96 1.000 97 1.000 98 1.000 99 1.000 100 1.000 Lan lap thu: Dat vuot nguong 100 the he Lan dat vuot nguong thu Thoi gian thuc hien (%second): 132 TheHe Max CaThe ViTri(trong van ban) KT 0.727 20 2731 13 0.909 2735 14 0.909 2735 15 0.909 2733 16 0.909 2735 17 0.909 17 2733 18 0.909 2735 19 0.909 2733 20 1.000 2734 21 1.000 14 2734 22 1.000 2734 23 1.000 2734 24 1.000 2734 25 1.000 2734 26 1.000 2734 27 1.000 2734 28 1.000 2734 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 61 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 2734 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 62 72 1.000 2734 73 1.000 2734 74 1.000 2734 75 1.000 2734 76 1.000 2734 77 1.000 2734 78 1.000 2734 79 1.000 2734 80 1.000 2734 81 1.000 2734 82 1.000 2734 83 1.000 2734 84 1.000 2734 85 1.000 2734 86 1.000 2734 87 1.000 2734 88 1.000 2734 89 1.000 2734 90 1.000 2734 91 1.000 2734 92 1.000 2734 93 1.000 2734 94 1.000 2734 95 1.000 2734 96 1.000 2734 97 1.000 2734 98 1.000 2734 99 1.000 2734 100 1.000 2734 Lan lap thu: Dat vuot nguong 88 the he Lan dat vuot nguong thu Thoi gian thuc hien (%second): 83 TheHe Max CaThe ViTri(trong van ban) KT 0.455 19 1657 0.909 12 3061 0.909 3061 0.909 3061 0.909 3061 10 0.909 3061 11 0.909 3061 12 0.909 3061 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 63 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3063 3061 3061 3061 3061 3063 3061 3061 3061 3061 3061 3061 3061 3061 3061 3063 3063 3061 3061 3061 3061 3061 3061 3061 3061 3061 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 64 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 1.000 1.000 1.000 1.000 1.000 0.909 0.909 0.909 1.000 1.000 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 0.909 1 1 1 1 1 1 10 13 1 10 1 1 1 3 1 1 1 1 3061 3061 3063 3061 3061 3061 3063 3061 3061 3061 3061 3061 3063 3062 3062 3062 3062 3062 3061 3061 3061 3062 3062 3063 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 3061 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 65 99 0.909 3061 100 0.909 3061 Lan lap thu: Dat vuot nguong 95 the he Lan dat vuot nguong thu Thoi gian thuc hien (%second): 71 TheHe Max CaThe ViTri(trong van ban) KT 0.455 289 12 0.818 19 13 0.818 10 14 0.818 15 0.818 16 0.909 18 17 0.909 18 0.909 19 0.909 20 0.909 21 0.909 13 22 0.909 23 1.000 24 1.000 12 25 1.000 26 1.000 27 1.000 28 1.000 29 1.000 30 1.000 11 31 1.000 32 1.000 33 1.000 34 1.000 35 1.000 36 1.000 37 1.000 38 1.000 39 1.000 40 1.000 41 1.000 42 1.000 43 1.000 44 1.000 45 1.000 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 66 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 67 89 1.000 90 1.000 91 1.000 92 1.000 93 1.000 94 1.000 95 1.000 96 1.000 97 1.000 98 1.000 99 1.000 100 1.000 Lan lap thu: Dat vuot nguong 89 the he Lan dat vuot nguong thu Thoi gian thuc hien (%second): 77 TheHe Max CaThe ViTri(trong van ban) KT 0.455 17 286 23 0.818 13 24 0.818 25 0.818 26 0.818 27 0.818 28 0.818 29 0.818 30 0.818 31 0.818 32 0.818 33 0.818 34 0.818 35 0.818 36 0.818 37 0.818 38 0.909 13 75 39 0.818 40 0.818 41 0.818 42 0.818 43 0.818 44 0.818 45 0.818 46 0.818 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 68 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 0.818 0.818 0.818 0.818 0.818 0.818 0.818 0.818 0.818 0.818 0.818 0.818 0.818 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.909 0.909 0.818 0.818 0.818 0.818 0.818 0.818 0.818 0.818 0.818 1.000 1.000 1.000 1.000 1.000 1.000 1.000 2 1 1 1 1 20 13 12 10 10 17 1 2 1 11 12 8 8 8 8 8 8 76 76 76 76 76 76 76 76 76 76 76 76 77 77 8 78 78 8 8 76 76 76 76 76 76 76 BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền 69 90 1.000 76 91 1.000 76 92 1.000 10 76 93 0.818 94 0.818 95 0.818 96 0.818 97 0.818 98 0.818 99 0.818 100 0.818 Lan lap thu: Dat vuot nguong 78 the he Lan dat vuot nguong thu Thoi gian thuc hien (%second): 88 ======================================================= BàitoánTìmkiếmvănsửdụnggiảithuậtditruyền ... lần thực hiện, Bài toán Tìm kiếm văn sử dụng giải thuật di truyền 19 nguyên lý giải thuật di truyền sở toán học cho vấn đề nghiên cứu Bài toán Tìm kiếm văn sử dụng giải thuật di truyền 20 CHƯƠNG... văn sử dụng giải thuật di truyền CHƯƠNG MỘT SỐ KỸ THUẬT TÌM KIẾM VĂN BẢN Trong phần quan tâm đến toán tìm kiếm văn thông dụng thuật toán có để tìm kiếm tất vị trí xuất mẫu văn Các thuật toán. .. VỀ GIẢI THUẬT DI TRUYỀN Phần tìm hiểu giải thuật di truyền, trọng đến kỹ thuật có liên quan đến toán tìm kiếm 2.1 Tổng quan giải thuật di truyền 2.1.1 Giới thiệu Thuật giải di truyền, thuật toán