Cài đặt máy turing và ứng dụng máy turing đánh giá độ phức tạp thuật toán

79 189 1
Cài đặt máy turing và ứng dụng máy turing đánh giá độ phức tạp thuật toán

Đ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

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN ANH TÙNG CÀI ĐẶT MÁY TURING VÀ ỨNG DỤNG MÁY TURING ĐÁNH GIÁ ĐỘ PHỨC TẠP THUẬT TOÁN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2015 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN ANH TÙNG CÀI ĐẶT MÁY TURING VÀ ỨNG DỤNG MÁY TURING ĐÁNH GIÁ ĐỘ PHỨC TẠP THUẬT TOÁN Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60480101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: PGS.TSKH NGUYỄN XUÂN HUY THÁI NGUYÊN - 2015 LỜI CAM ĐOAN Tơi xin cam đoan luận văn thực hiện, hướng dẫn khoa học PGS.TSKH Nguyễn Xuân Huy, số liệu kết nghiên cứu luận văn hoàn toàn trung thực chưa sử dụng để bảo vệ cơng trình khoa học nào, thơng tn, tài liệu trích dẫn luận văn rõ nguồn gốc Mọi giúp đỡ cho việc hoàn thành luận văn cảm ơn Nếu sai tơi hồn tồn chịu trách nhiệ m Thái Nguyên, tháng năm 2015 Tác giả Nguyễn Anh Tùng LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành đến thầy giáo PGS.TSKH Nguyễn Xuân Huy định hướng nhiệt tnh hướng dẫn, giúp đỡ em trình làm luận văn Em xin gửi lời biết ơn sâu sắc đến quý thầy cô giáo trường Đại học Công nghệ thông tin truyền thông, thầy giáo, cô giáo Viện công nghệ thông tin Hà Nội truyền đạt kiến thức kinh nghiệm quý báu cho chúng em thời gian học tập Xin chân thành cảm ơn bạn bè, đồng nghiệp, bạn học viên lớp cao học CK12I, người thân gia đình động viên, chia sẻ, tạo điều kiện giúp đỡ suốt trình học tập làm luận văn Thái Nguyên, tháng năm 2015 Học viên Nguyễn Anh Tùng MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC BẢNG BIỂU, HÌNH VẼ v MỞ ĐẦU Chƣơng TỔNG QUAN MƠ HÌNH MÁY TURING 1.1 Giới thiệu chung 1.2 Cấu trúc máy Turing 1.3 Hoạt động máy Turing 1.4 Trạng thái sơ đồ trạng thái máy Turing 1.5 Máy Turing định nghĩa thuật toán 14 1.5.1 Độ phức tạp thuật toán 14 1.5.2 Ứng dụng máy Turing để đo độ phức tạp thuật toán 20 1.6 Kết luận 21 Chƣơng CÀI ĐẶT MÁY TURING NGUYÊN THỦY VÀ MỘT SỐ CẢI TIẾN 22 2.1 Cài đặt Máy Turing 22 2.1.1 Giao diện chương trình 27 2.1.2 Cấu trúc liệu đầu vào 30 2.1.3 Các hàm xử lí liệu 34 2.2 Phát triển nhớ máy Turing 37 2.2.1 Máy Turing nhiều băng 37 2.2.2 Cài đặt cấu trúc ngăn xếp (Stack) 37 2.2.3 Cài đặt cấu trúc hàng đợi (Queue) 39 2.2.4 Cài đặt nhớ imem cmem 40 2.4 Kết luận 42 Chƣơng MỘT SỐ CHƢƠNG TRÌNH ỨNG DỤNG MÁY TURING ĐO ĐỘ PHỨC TẠP THUẬT TOÁN 44 3.1 Bài toán trừ vào số tự nhiên 44 3.2 Biểu diễn số thập phân n thành (n+1) vạch | 47 3.3 Biểu diễn (n+1) vạch | thành số tự nhiên n 50 3.4 Cộng hai số tự nhiên lớn 53 3.5 Kết luận 62 KẾT LUẬN 64 TÀI LIỆU THAM KHẢO 65 DANH MỤC BẢNG BIỂU, HÌNH VẼ Bảng Bảng 1.1 So sánh câu lệnh cách viết thông thường cách viết gộp Bảng 1.2 Trạng thái máy Turing 10 Hình vẽ Hình 1.1 Mơ hình máy Turing Hình 1.2 Mối quan hệ lớp P NP 18 Hình 1.3 Minh hoạ phép dẫn tốn 1 thành 2 thời gian đa thức 19 Hình 1.4 Mối quan hệ lớp P, NP NPC 20 Hình 2.1 Giao diện máy Turing 27 Hình 2.2 Chọn tệp mặc định 28 Hình 2.3 Chọn chương trình người dùng tạo 28 Hình 2.4 Nhập liệu từ bàn phím 29 Hình 2.5 Hiển thị kết 29 Hình 2.6 Hiển thị kết trung gian chương trình 30 MỞ ĐẦU Thuật toán khái niệm quan trọng tin học Thuật toán xuất phát từ nhà khoa học Arập Abu Ja’far Mohammed ibn Musa al Khowarizmi Chúng ta xem thuật tốn cơng cụ dùng để giải toán xác định trước Việc nghiên cứu thuật tốn độ phức tạp thuật tốn có vai trò quan trọng khoa học máy tính máy tính giải vấn đề có hướng dẫn giải xác phù hợp với điều kiện thực tế (điều kiện công nghệ chi phí nhớ, thời gian) Nếu hướng dẫn giải sai khơng phù hợp máy tính khơng thể giải tốn lãng phí tài ngun Trong khoa học máy tính, thuật tốn định nghĩa dãy hữu hạn thao tác xếp theo trình tự định cho sau thực dãy thao tác ấy, từ input tốn, ta nhận output cần tìm Đối với thuật tốn điều quan tâm đến độ phức tạp nó, đánh giá xác độ phức tạp thuật tốn giúp cho trình lựa chọn sử dụng Trước có máy tính điện tử Alan Turing trình bày mơ hình máy Turing vào năm 1936 dành cho thí nghiệm tưởng tượng để tm hiểu giới hạn tính tốn máy móc Tuy khơng trực tếp ảnh hưởng tới việc chế tạo máy tính điện tử máy Turing công cụ đo hiệu thuật toán toán cụ thể Bỏ qua yếu tố phần cứng công nghệ hành tốn giải máy tính phải có thuật tốn để xử lý theo Alan Turing, tất thuật tốn mơ tả lại mơ hình máy Turing, việc đánh giá thuật toán máy Turing cho kết xác cơng Độ phức tạp thuật toán đánh giá máy Turing theo hai têu chí là: thời gian (số nhịp làm việc máy Turing) nhớ (số ô nhớ cần sử dụng trình máy làm việc) Thời gian (số nhịp làm việc máy Turing): số lần dịch chuyển đầu đọc băng Bộ nhớ (số ô nhớ cần sử dụng trình máy làm việc): số ô bang mà máy Turing ghi kí tự xử lý Vì học viên chọn đề tài: “Cài đặt máy Turing ứng dụng máy Turing đánh giá độ phức tạp thuật toán” với mục đích nghiên cứu cơng cụ đánh giá thuật tốn Nội dung luận văn bao gồm: Chương 1: Luận văn trình bày tổng quan máy Turing vấn đền liên quan đến thuật toán Chương 2: Luận văn cài đặt máy Turing ngôn ngữ C++ cải tiến số nhớ tăng hiệu làm việc máy Chương 3: Luận văn sử dụng máy Turing để giải số toán đánh giá độ phức tạp cụ thể Chƣơng TỔNG QUAN MƠ HÌNH MÁY TURING Trong chương luận văn học viên giới thiệu lại số định nghĩa máy Turing thuật toán Trong có mơ tả máy Turing học viên cài đặt, từ quan hệ máy Turing độ phức tạp thuật toán 1.1 Giới thiệu chung Máy Turing mơ hình thiết bị xử lý kí tự, đơn giản, thực tất thuật tốn máy tính Các máy Turing Alan Turing trình bày năm 1936 Các máy Turing không dành cho việc trực tiếp tạo máy tính thực tế mà dành cho thí nghiệm tưởng tượng để tìm hiểu giới hạn việc tính tốn máy móc Việc nghiên cứu tính chất máy Turing cho nhiều kiến thức quan trọng lĩnh vực khoa học máy tính lý thuyết độ phức tạp thuật toán [2] Trong luận đề Church-Turing khẳng định hàm tốn học tính dùng máy Turing để tính tốn có phép định nghĩa khái niệm tính hàm thuật tốn Máy Turing có nhiều dạng đồng khả năng, tức có nhiều mơ hình định nghĩa cho máy Turing chúng tương đương Về mơ hình máy Turing gồm phần sau: - Một điều khiển hữu hạn - Một băng chia thành ô - Một đầu đọc-ghi, lần đọc duyệt qua ô băng để đọc hay viết ký hiệu.[2] % Bien doi bieu dien vach sang dang thap phan | R // Khoi tri tai | dau ten (Trai nhat) # _ _ // input = |: stop | ? L // Xoa | trai nhat _ _ L // Cong {012345678} $& R 390L_ # R // Cong xong _ _ R _ // Ve dau phai # _ L // Xoa ? 5?#L_ _0 4|?L3 E - Trong mã lệnh trên: Bảng chữ là: chữ số từ đến 9, dấu vạch thẳng |, kí tự hai chấm “?”, kí tự khoảng trắng mặc định “#” Tập trạng thái: 0,1,2,3,4,5 Trong trạng thái bắt đầu 1, trạng thái kết thúc Các kí hiệu %, // tốn tử điều khiển thích - Mơ với số đầu vào |||||||||||||| (14 vạch) Input: #||||||||||||||# (14) Final output: #13# (2) Timer: 213 Vậy với thuật toán máy Turing cần 213 bước chuyển nhớ cần 15 (vì bước chuyển trung gian dài nên học viên đưa kết cuối cùng, số ô nhớ 15 số dùng q trình xử lí thuật toán) * Thuật toán sử dụng imem: - Tư tưởng thuật toán: Khởi tạo imem, đầu đọc máy Turing gặp kí tự “|” trái chuyển thành kí tự “#” (xóa vạch đầu tiên) Nếu hết vạch, dừng chương trình, gặp vạch cộng thêm vào imem Nạp hết kí tự “|” băng đưa giá trị imem băng, chương trình kết thúc - Mã lệnh chương trình: % Chuyen dang vach sang so thap phan % Dung imem _ $i _ // Khoi tri imem 2|#R3 # $> N // Xuat imem, stop 3|#N4 _ $+ R // Tang imem E - Trong mã lệnh trên: Bảng chữ là: chữ số từ đến 9, dấu vạch thẳng |, kí tự khoảng trắng mặc định “#” Tập trạng thái: 0,1,2,3,4 Trong trạng thái bắt đầu 1, trạng thái kết thúc Sử dụng nhớ imem toán tử liên quan đến imem Các kí hiệu %, // tốn tử điều khiển thích - Mơ với số đầu vào |||||||||||||| (14 vạch) Input: #||||||||||||||# (14) Final output: #13# (2) Timer: 29 Vậy với thuật toán máy Turing cần 29 bước chuyển ô nhớ cần 14 ô (vì bước chuyển trung gian dài nên học viên đưa kết cuối cùng, số ô nhớ 14 số ô dùng trình xử lí thuật tốn) 3.4 Cộng hai số tự nhiên lớn - Tư tưởng thuật toán: Với toán học viên quy định liệu đầu vào viết theo quy cách: “a+b=” Với a, b số tự nhiên lớn (nhiều chữ số không quy định độ dài với số a b) “a” số hạng 1, “b” số hạng Ví dụ: Input: 123+45= Bước 1: Khởi tạo nhớ imem nhớ ngăn xếp (stack) Bước 2: Tìm chữ số phải số hạng Đầu đọc ghi máy Turing gặp kí tự tự động dịch phải gặp kí tự “+” đầu đọc ghi dịch trái tìm chữ số phải số hạng Khi đầu đọc ghi trỏ vào chữ số phải số hạng chia thành hai trường hợp: + imem rỗng (chưa nhớ) ghi kí tự trỏ vào imem + imem khác rỗng (đang nhớ) cộng kí tự trỏ vào imem Chuyển kí tự vừa xét thành ? Bước 3: Tìm chữ số phải số hạng Chuyển đầu đọc ghi máy Turing phải Khi gặp kí tự “=”, đầu đọc ghi dịch trái tm chữ số phải số hạng Khi đầu đọc ghi máy Turing tìm chữ số phải số hạng cộng dồn vào nhớ imem Cộng xong chuyển kí tự đầu đọc ghi trỏ vào thành “?” Chuyển đầu đọc ghi sau kí tự “=” ghi giá trị imem Chuyển đầu đọc chữ số phải kết tạm, ghi kí tự vào nhớ stack, chuyển kí tự vừa xét thành “#” Dịch trái đầu đọc ghi, xảy hai trường hợp sau: + Đầu đọc ghi trỏ vào kí tự “1”, phép cộng có nhớ Làm rỗng imem, ghi “1” vào imem Chuyển “1” thành “#”, dịch trái đầu đọc ghi đầu xâu + Đầu đọc ghi trỏ vào kí tự “=”, phép cộng khơng nhớ, dịch trái đầu đọc ghi đầu xâu Trở trạng thái ban đầu Bắt đầu vòng lặp Bước 4: Điều kiện kết thúc chữ số hai số a,b chuyển thành “?”, nhớ imem, nhớ stack làm rỗng Các trường hợp kết thúc: + a b có số chữ số Khi máy Turing xác nhận trạng thái tất chữ số số hạng chuyển thành kí tự “?” gặp trạng thái tất chữ số số hạng chuyển thành kí tự “?” Đầu đọc ghi dịch phải đến vị trí sau dấu “=”, imem khơng rỗng nạp kí tự vào stack, làm rỗng imem, ghi kết Dừng chương trình + a có chữ số b Khi máy Turing xác nhận trạng thái tất chữ số số hạng chuyển thành kí tự “?” số hạng chữ số chưa chuyển thành kí tự “?” Đầu đọc dịch phải đến hết xâu, dịch trái tm chữ số phải số hạng Khi tm được, imem rỗng nạp kí tự vào stack, dịch trái đến gặp trạng thái tất chữ số số hạng chuyển thành kí tự “?” (đầu đọc gặp kí tự “+”) chuyển đầu đọc ghi vị trí sau dấu “=” ghi kết quả, làm rỗng imem stack + a có nhiều chữ số b Khi máy Turing xác nhận trạng thái tất chữ số số hạng chuyển thành kí tự “?” số hạng chữ số chưa chuyển thành “?” Đầu đọc ghi chuyển vị trí sau dấu “=”, ghi kết imem vào stack, có nhớ làm rỗng imem ghi số nhớ, dịch trái trỏ tm chữ số phải số hạng nạp vào imem, chuyển thành “?” Lặp lại trình đến gặp trạng thái tất chữ số số hạng chuyển thành kí tự “?” (đầu đọc gặp kí tự “+”) chuyển đầu đọc ghi vị trí sau dấu “=” ghi kết quả, làm rỗng imem stack - Mã lệnh chương trình: %========================= % Cong hai so tu nhien lon % ************************ // khoi tao imem stack _ $i N // khoi tao imem _ $s N // khoi tao stack // bat dau _ _ R // tm + + _ L tm thay + {0,1,2,3,4,5,6,7,8,9} _ N // tim chu so nho nhat ? _ L // day trai tim so hang can cong # _ N 120 // sh1 het _ $I N // xet imem rong {0,1,2,3,4,5,6,7,8,9} $< N // day chu so nho nhat vao imem (1) {0,1,2,3,4,5,6,7,8,9} ? N 12 // chuyen chu so da cong ? (2) _ $- N // lam rong stack {0,1,2,3,4,5,6,7,8,9} $< N 10 // (1) 10 _ $+ N 11 // tra lai da xoa o imem 11 {0,1,2,3,4,5,6,7,8,9} ? N 12 // (2) 12 _ _ R 12 // day phai tim chu so o sh 12 = _ N 13 13 _ _ L 13 13 + _ N 80 // sh2 het // tm so hang 13 _ N 15 13 _ N 16 13 _ N 17 13 _ N 18 13 _ N 19 13 _ N 20 13 _ N 21 13 _ N 22 13 _ N 23 // cong don sh2 vao imem 15 _ $+ N 16 16 _ $+ N 17 17 _ $+ N 18 18 _ $+ N 19 19 _ $+ N 20 20 _ $+ N 21 21 _ $+ N 22 22 _ $+ N 23 23 _ $+ N 24 24 {0,1,2,3,4,5,6,7,8,9} ? N 24 // bien chu so da cong ? // ghi ket qua tam 24 _ _ R 24 24 = _ R 25 // tim dau = 25 _ $> N 26 // lay gia tri tu imem 26 _ _ R 26 // tim # o cuoi 26 # _ L 27 // tim thay # 27 {0,1,2,3,4,5,6,7,8,9} $[ N 28 // nap chu so dang o cuoi 28 {0,1,2,3,4,5,6,7,8,9} # L 29 // chuyen so da nap stack # 29 _ $I N 30 31 30 $< N 32 32 # L 33 30 = _ N 33 31 _ $- N 29 33 _ _ L 33 33 # _ R // vong lap // sh2 het truoc 80 _ _ R 80 80 # $> N 81 81 _ _ R 82 82 _ _ R 82 82 # _ L 83 83 {0,1,2,3,4,5,6,7,8,9} $[ N 84 84 {0,1,2,3,4,5,6,7,8,9} # L 85 //ghi tam xong 85 _ $I N 86 87 86 $< N 88 88 # L 89 86 = _ N 89 87 _ $- N 85 // sh2 da cong het 89 _ _ L 89 92 {0,1} $[ N 93 93 {0,1} # N 94 94 _ $I N 95 96 95 _ _ N 100 96 _ $- N 94 89 {0,1,2,3,4,5,6,7,8,9} $I N 90 91 90 {0,1,2,3,4,5,6,7,8,9} $[ L 90 90 # _ N 100 91 _ $- N 97 97 {0,1,2,3,4,5,6,7,8,9} $< N 98 98 _ $+ N 99 99 {0,1,2,3,4,5,6,7,8,9} ? N 111 111 _ _ N 80 // sh1 het 120 _ _ R 120 120 + _ R 121 121 _ _ R 121 121 # _ _ 122 122 _ _ L 122 122 + $I N 100 128 128 _ _ R 128 129 _ _ R 129 129 # _ L 130 130 $[ N 131 131 # N 132 132 _ _ L 132 132 + _ N 100 122 {0,1,2,3,4,5,6,7,8,9} $I N 123 124 123 _ $[ N 125 125 {0,1,2,3,4,5,6,7,8,9} ? L 122 124 N 126 126 _ $[ N 127 127 ? N 122 124 {0,1,2,3,4,5,6,7,8} $& N 133 133 _ $[ N 134 134 _ $I N 136 137 136 _ ? N 122 137 _ $- N 134 // ket thuc 100 _ _ R 100 100 = _ R 101 101 _ $S N 102 103 102 _ _ _ 103 _ $] R 101 E - Trong mã lệnh Bảng chữ là: chữ số từ đến 9, dấu cộng “+”, dấu “=”, dấu hỏi chấm “?”, kí tự khoảng trắng mặc định “#” Tập trạng thái: 0,1,2,3,4,5,6,7,8,9… 13, 15, 16… 33,80,81 … 103, 111,120,121… 134 Trong trạng thái bắt đầu 1, trạng thái kết thúc Sử dụng nhớ imem, bô nhớ stack toán tử liên quan đến imem, stack Các kí hiệu %, // tốn tử điều khiển thích - Mơ với số đầu vào 2015+3999= (hai số chữ số) Input: #2015+3999=# (10) Final output: #????+????=6014# (14) Timer: 315 Vậy với thuật toán máy Turing cần 315 bước chuyển ô nhớ cần 14 (vì bước chuyển trung gian q dài nên học viên đưa kết cuối cùng, số ô nhớ 14 số ô dùng q trình xử lý thuật tốn) - Mơ với số đầu vào 33+3456= (số hạng có chữ số số hạng 2) Input: #33+3456=# (8) Final output: #??+????=3489# (12) Timer: 164 Vậy với thuật toán máy Turing cần 164 bước chuyển ô nhớ cần 12 (vì bước chuyển trung gian q dài nên học viên đưa kết cuối cùng, số ô nhớ 12 số ô dùng q trình xử lý thuật tốn) - Mơ với số đầu vào 3389+56= (số hạng có chữ số số hạng 1) Input: #3389+56=# (8) Final output: #??+????=3445# (12) Timer: 223 Vậy với thuật toán máy Turing cần 223 bước chuyển ô nhớ cần 12 (vì bước chuyển trung gian q dài nên học viên đưa kết cuối cùng, số ô nhớ 12 số ô dùng q trình xử lí thuật tốn) 3.5 Kết luận Trong chương học viên trình bày chương trình cài đặt số toán máy Turing trình bày cụ thể thành phần, ví dụ mơ trình thực máy Trong qua trình cài đặt học viên sử dụng nhớ cải tiến chương máy Turing cụ thể sau: - Bài toán trừ vào số tự nhiên nhằm giới thiệu cách viết mã lệnh cho máy Turing - Bài toán biểu diễn số thập phận n thành (n+1) vạch thẳng “|” toán biểu diễn (n+1) vạch thẳng “|” thành số tự nhiên n Trong hai toán học viên cài đặt phương pháp có so sánh, phương pháp dùng máy Turing thường, phương pháp học viên sử dụng nhớ imem để tăng hiệu làm việc máy Turing - Bài toán cộng hai số tự nhiên lớn Trong toán học viên sử dụng hai nhớ imem ngăn xếp để xử lý, qua toán học viên sử dụng nhớ lúc để tăng hiệu hoạt động máy Turing KẾT LUẬN Thuật toán độ phức tạp thuật toán mảng rộng, tm hiểu tất vấn đề khối lượng kiến thức khổng lồ Trong luận văn tập trung nghiên cứu, trình bày kiến thức máy Turing, thuật toán ứng dụng máy Turing vào đánh giá độ phức tạp thuật tốn Qua luận văn đạt số kết sau: Về lý thuyết: Luận văn tập trung nghiên cứu kiến thức chung máy Turing, thuật toán độ phức tạp thuật toán Luận văn phân tích kỹ độ phức tạp thuật tốn toán ứng dụng Về ứng dụng: Luận văn phân tích cài đặt máy Turing, thơng qua cài đặt số tốn máy Turing Phạm vi khả áp dụng Luận văn tài liệu tham khảo tốt cho cho người tham gia vào việc nghiên cứu thuật toán độ phức tạp thuật toán Hướng nghiên cứu Hoàn thiện tối ưu cài đặt máy Turing để chuẩn hóa thành thước đo thuật tốn xác, hiệu TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Nguyễn Thanh Bình (2007), Giáo trình - giảng thuật toán nâng cao, trường Đại học Bách khoa - Đại học Đà Nẵng [2] Nguyễn Gia Định (2004), Lý thuyết ngơn ngữ hình thức ơtơmát , Đại học Huế [3] Nguyễn Hữu Điển (2002), Một số vấn đề thuật tốn, Nxb Giáo dục [4] Lê Minh Hồng (2002), Giải thuật lập trình, Nxb ĐHSP Hà Nội [5] Nguyễn Xuân Huy (2012), Sáng tạo thuật toán lập trình, T1,2,3, Nxb Thơng tin truyền thơng [6] Đỗ Xuân Lôi (1998), Cấu trúc liệu giải thuật, Nxb Giáo dục Tài liệu tiếng nƣớc [7] John E Hopcroft; Jeffrey D.Ullman (2013), Introduction to Automata Theory, Languages and Computation, th Edision, Wesley Publishing Company, (Chapter 7: Turing Machines) [8] Peter Linz (2011), An Introduction to Formal Languages and Automata, th Edision, D.C.Heath and Company [9] Garey Michael R-David S Johnson (2007), Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H Freeman ... thuật toán 14 1.5.1 Độ phức tạp thuật toán 14 1.5.2 Ứng dụng máy Turing để đo độ phức tạp thuật toán 20 1.6 Kết luận 21 Chƣơng CÀI ĐẶT MÁY TURING NGUYÊN THỦY VÀ MỘT... thuật tốn để xử lý theo Alan Turing, tất thuật toán mơ tả lại mơ hình máy Turing, việc đánh giá thuật toán máy Turing cho kết xác cơng Độ phức tạp thuật toán đánh giá máy Turing theo hai têu chí là:... việc): số bang mà máy Turing ghi kí tự xử lý Vì học viên chọn đề tài: Cài đặt máy Turing ứng dụng máy Turing đánh giá độ phức tạp thuật tốn” với mục đích nghiên cứu cơng cụ đánh giá thuật tốn Nội

Ngày đăng: 14/10/2018, 13:48

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan