Bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - Chương 9 pot

20 411 0
Bài giảng môn lý thuyết ôtômát và ngôn ngữ hình thức - Chương 9 pot

Đ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

Chương Máy Turing PDA mặt mạnh nhiều FSA NNPNC-PDA giới hạn Bên ngồi gì? FSA PDA khác chất lưu trữ tạm thời Nếu PDA dùng hai, ba stack, hàng (queue), hay thiết bị lưu trữ khác sức mạnh nào? Mỗi thiết bị lưu trữ định nghĩa loại ơtơmát thơng qua họ ngơn ngữ mới? Ơtơmát mở rộng đến chừng nào? Khả mạnh ơtơmát? Những giới hạn việc tính tốn? Máy Turing đời khái niệm tính tốn có tính máy móc hay giải thuật (mechanical or algorithmic computation) Máy Turing thô sơ, đủ sức để bao trùm trình phức tạp luận đề Turing (Turing thesis) cho q trình tính tốn thực máy tính ngày nay, thực máy Turing Trang 286 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin Chương Máy Turing 9.1 Máy Turing chuẩn 9.2 Kết hợp máy Turing cho công việc phức tạp 9.3 Luận đề Turing Trang 287 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Máy Turing chuẩn Định nghĩa 9.1 − − − − − − − Một máy Turing M định nghĩa bảy M = (Q, Σ, Γ, δ, q0, , F), Q tập hữu hạn trạng thái nội, Σ tập hữu hạn kí hiệu gọi bảng chữ ngõ nhập, Γ tập hữu hạn kí hiệu gọi bảng chữ băng, δ hàm chuyển trạng thái, ∈ Γ kí hiệu đặc biệt, Control unit gọi khoảng trắng (blank), q0 ∈ Q trạng thái khởi đầu, F ⊆ Q tập trạng thái kết thúc Input, Storage, Output Trang 288 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Máy Turing chuẩn (tt) Trong định nghĩa giả thiết Σ ⊆ Γ - { } Hàm δ định nghĩa sau δ: Q × Γ → Q × Γ × {L, R} Nó diễn dịch sau: Các đối số δ trạng thái hành ôtômát kí hiệu băng đọc Kết trạng thái automat, kí hiệu băng thay cho kí hiệu đọc băng di chuyển đầu đọc sang phải sang trái Ví dụ δ(q0, a) = {q1, d, R} Trạng thái nội q0 a b c Trạng thái nội q1 d b c Trang 289 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ Xét máy Turing định nghĩa sau Q = {q0, q1}, Σ = {a, b}, Γ = {a, b, }, F = ∅, δ định nghĩa δ(q1, a) = (q0, a, L) δ(q0, a) = (q1, a, R) δ(q0, b) = (q1, b, R) δ(q1, b) = (q0, b, L) δ(q0, ) = (q1, , R) δ(q1, ) = (q0, , L) Xét hoạt động M trường hợp sau q0 q1 q0 a b a b a b Trường hợp máy không dừng lại rơi vào vịng lặp vơ tận (infinite loop) Trang 290 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin Các đặc điểm máy Turing chuẩn Có nhiều mơ hình khác máy Turing Sau số đặc điểm máy Turing chuẩn Máy Turing có băng khơng giới hạn hai đầu, cho phép di chuyển số bước tùy ý bên trái phải Máy Turing đơn định ngữ cảnh δ định nghĩa tối đa chuyển trạng thái cho cấu hình Khơng có băng nhập (input file) riêng biệt Chúng ta giả thiết vào thời điểm khởi đầu băng chứa nội dung cụ thể Một vài số xem chuỗi nhập (input) Tương tự khơng có băng xuất (output file) riêng biệt Bất kỳ máy dừng, vài hay tất nội dung băng xem kết xuất (output) Trang 291 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Hình trạng tức thời Định nghĩa 9.2 Cho M = (Q, Σ, Γ, δ, q0, , F) máy Turing, chuỗi a1a2 ak-1q1akak+1 an với ∈ Σ q1∈ Q, hình trạng tức thời M (gọi tắt hình trạng) Một di chuyển a1a2 ak-1q1akak+1 an |_ a1a2 ak-1bq2ak+1 an δ( q1, ak) = (q2, b, R) Một di chuyển a1a2 ak-1q1akak+1 an |_ a1a2 q2ak-1bak+1 an δ( q1, ak) = (q2, b, L) Trang 292 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Hình trạng tức thời (tt) M gọi dừng sau cấu hình khởi đầu x1qix2 x1qix2 |_* y1qjay2 với qj a, mà δ(qj, a) khơng định nghĩa Dãy cấu hình dẫn tới trạng thái dừng gọi tính tốn (computation) Ví dụ slide 290 trình bày khả máy Turing khơng dừng, thi hành vịng lặp vơ tận từ khơng thể Trường hợp đóng vai trị thảo luận máy Turing, kí hiệu x1qx2 |_* ∞ để rằng, cấu hình khởi đầu x1qx2, máy khơng dừng Trang 293 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thông Tin Máy Turing chấp nhận ngôn ngữ Định nghĩa 9.3 Cho M = (Q, Σ, Γ, δ, q0, , F) máy Turing, ngơn ngữ chấp nhận M L(M) = {w ∈ Σ+: q0w |_* x1qfx2 dừng, qf ∈ F, x1, x2 ∈ Γ*} Định nghĩa chuỗi nhập w viết băng với khoảng trắng chặn hai đầu Đây lý khoảng trắng bị loại khỏi bảng chữ ngõ nhập Σ Điều đảm bảo chuỗi nhập giới hạn vùng rõ ràng băng bao bọc hai đầu kí hiệu trắng Khơng có qui ước này, máy khơng thể giới hạn vùng tìm kiếm chuỗi nhập Định nghĩa khơng nói rõ w ∉ L(M) Điều hai trường hợp sau xảy Trang 294 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ (1) Máy dừng lại trạng thái không kết thúc (2) Máy vào vịng lặp vơ tận khơng dừng Ví dụ Cho Σ = {a, b}, thiết kế máy Turing chấp nhận L = {anbn: n≥1} Ý tưởng thiết kế đọc a thay x, kiếm b thay y Cứ không cịn đồng thời a b để thay dừng chấp nhận chuỗi, trường hợp khác khơng chấp nhận Máy Turing kết sau Q = {q0, q1, q2, q3, qf }, F = {qf}, Σ = {a, b}, Γ = {a, b, x, y, } δ(q0, a) = {q1, x, R} δ(q2, y) = {q2, y, L} δ(q0, y) = {q3, y, R} δ(q1, a) = {q1, a, R} δ(q2, a) = {q2, a, L} δ(q3, y) = {q3, y, R} δ(q1, y) = {q1, y, R} δ(q2, x) = {q0, x, R} δ(q3, ) = {qf, , R} δ(q1, b) = {q2, y, L} Trang 295 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ q0aaabbb |_ xq1aabbb |_ xq2aaybb |_ xxaq1ybb |_ xq2xayyb |_ xxxyyq1b |_ xxq2xyyy |_ xxxyyyq3 |_ |_ |_ |_ |_ |_ |_ xaq1abbb q2xaaybb xxayq1bb xxq0ayyb xxxyyq1b xxxq0yyy xxxyyy qf q0aaabb |_ xq1aabb |_ xaq1abb |_ xq2aaybq2 |_ xaayb |_ xxaq1yb |_ xxayq1b |_ xq2xayy |_ xxq0ayy |_ xxxyyq1 (dừng) |_ |_ |_ |_ |_ |_ |_ |_ |_ |_ xaaq1bbb |_ xq0aaybb |_ xxaq2yyb |_ xxxq1yyb |_ xxxyq2yy |_ xxxyq3yy |_ (chấp nhận) xaaq1bb xq0aayb xxaq2yy xxxq1yy Trang 296 Lý thuyết Ơtơmát & NNHT - Khoa Công Nghệ Thông Tin |_ |_ |_ |_ xaq2aybb xxq1aybb xxq2ayyb xxxyq1yb xxxq2yyy xxxyyq3y xaq2ayb xxq1ayb xxq2ayy xxxyq1y Máy Turing transducer Máy Turing không quan tâm chấp nhận ngôn ngữ mà tổng qt cịn cung cấp mơ hình trừu tượng đơn giản máy tính số Vì mục đích máy tính biến đổi input thành output, hoạt động transducer Hãy thử mơ hình hóa máy tính cách dùng máy Turing Input tính tốn tất kí hiệu khơng trắng băng thời điểm khởi đầu Tại kết thúc tính tốn, output có băng Vậy xem máy Turing M thực hàm f định nghĩa ∧ w = f(w) ∧ _* q w với q trạng thái kết thúc q0w | M f f Trang 297 Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin Máy Turing transducer (tt) Định nghĩa 9.4 Một hàm f với miền xác định D gọi khả tính tốnTuring hay đơn giản khả tính tốn tồn máy Turing M = (Q, Σ, Γ, δ, q0, , F) cho q0w |_* qf f(w), qf ∈ F, ∀ w ∈ D M Ví dụ Cho x, y nguyên dương, thiết kế máy Turing tính x + y Chúng ta chọn qui ước để biểu diễn số nguyên dương Ta biết cách biểu diễn số nguyên dương chuỗi nhị phân cách cộng hai số nhị phân, nhiên để ứng dụng điều ∧ vào trường hợp phức tạp chút w Vậy để đơn giản ta biểu diễn số nguyên dương x chuỗi w(x) số có chiều dài x Trang 298 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Ví dụ Chúng ta phải định số x y vào lúc ban đầu đặt băng tổng chúng xuất lúc kết thúc tính tốn Chúng ta giả thiết w(x) w(y) phân cách kí hiệu 0, với đầu đọc kí tự trái w(x) Sau tính tốn, w(x + y) băng theo sau kí tự 0, đầu đọc đặt kí tự trái kết Chúng ta muốn thiết kế máy Turing để thực tính tốn (trong qf trạng thái kết thúc) q0w(x)0w(y) |_* qf w(x + y)0, Q = {q0, q1, q2, q3, qf,}, F = {qf} δ(q0, 0) = (q1, 1, R) δ(q1, 1) = (q1, 1, R) δ(q0, 1) = (q0, 1, R) δ(q1, ) = (q2, , L) δ(q2, 1) = (q3, 0, L) δ(q3, 1) = (q3, 1, L) δ(q3, ) = (qf, , R) Trang 299 Lý thuyết Ơtơmát & NNHT - Khoa Cơng Nghệ Thơng Tin Kết hợp máy Turing cho công việc phức tạp Chúng ta thấy máy Turing thực phép toán quan trọng mà có tất máy tính Vì máy tính số, phép tốn thành phần cho lệnh phức tạp hơn, trình bày máy Turing có khả kết hợp phép tốn lại với Ví dụ Thiết kế máy Turing tính tốn hàm sau f(x, y) = x + y x ≥ y =0 x < y Ta xây dựng mơ hình tính tốn cho sau Trang 300 Lý thuyết Ôtômát & NNHT - Khoa Công Nghệ Thông Tin Kết hợp máy Turing cho công việc phức tạp (tt) x≥y x, y Bộ so sánh C Bộ cộng A x+y f (x, y) x

Ngày đăng: 23/07/2014, 20:21

Từ khóa liên quan

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

Tài liệu liên quan