1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng Lý thuyết tính toán: Bài 8 - Phạm Xuân Cường

24 12 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 24
Dung lượng 431,19 KB

Nội dung

Bài giảng Lý thuyết tính toán: Bài 8 - Phạm Xuân Cường cung cấp cho học viên các kiến thức về máy Turing; khái niệm máy Turing; định nghĩa hình thức; ngôn ngữ của Turing Machine; cấu trúc dữ liệu Turing Machine; thành phần của Turing Machine; trạng thái hoạt động của Turing Machine;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!

LÝ THUYẾT TÍNH TỐN BÀI 8: Máy Turing Phạm Xn Cường Khoa Công nghệ thông tin cuongpx@tlu.edu.vn Nội dung giảng Khái niệm Định nghĩa hình thức Ngơn ngữ TM Khái niệm Khái niệm • Máy Turing = Turing Machine (TM) • TM: - Được đề xuất vào năm 1936 Alan Turing Là mơ hình tính tốn mạnh PDA FSM Là mơ hình xác nhiều máy tính đa Tương tự DFA có nhớ vơ hạn khơng hạn định b b b a a a a q1 Finite Control Cấu trúc liệu TM • FSM: Lưu trữ hữu hạn trạng từ liệu vào • PDA: Chuỗi đầu vào ngăn xếp • TM: Băng nhớ Sự khác biệt TM FSM TM đọc, ghi ký tự lên mà đầu đọc nằm Đầu đọc di chuyển sang trái phải Dải băng (tape) dài vô tận Những trạng thái đặc biệt cho việc bác bỏ chấp thuận có hiệu lực tức Thành phần TM • Bộ chữ băng (tape alphabet): Σ= {0,1} thông thường Σ= {0,1,a,b,x,#,$} • Ký hiệu dấu trắng ␣ ký hiệu đặc biệt ␣ ∈ Σ • Cấu hình ban đầu có xâu vào phần lại ký hiệu ␣ 1 1 ␣ ␣ ␣ q1 Finite State Machine TM hoạt động nào? Tại bước tính tốn: • Đọc ký hiệu ô băng mà trỏ trỏ tới • Có thể cập nhật ký hiệu trỏ tới • Dịch chuyển theo chiều định (trái phải) Biểu diễn hình học: a → b, R - a ký hiệu đọc, thuộc ô băng - b ký hiệu ghi vào ô băng - R chiều dịch chuyển (L: left, R: right) TM hoạt động nào? Thao tác đọc ký hiệu → 1, R Các trường hợp tính tốn (computation): • Tam dừng chấp thuận (Halt and accept): Nếu đạt trạng thái chấp thuận dừng • Tạm dừng bác bỏ (Halt and reject): Nếu đạt trạng thái bác bỏ dừng • Lặp (loop): Máy chạy liên tục không dừng → TM đơn định Ví dụ TM sau đốn nhận ngơn ngữ L = 01*0 → y, R → x, R A → x, R B C → 1, R → 0, R → 1, R ␣ → ␣, R ␣ → ␣, R Reject ␣ → ␣, R Accept Ví dụ Đưa TM đốn nhận ngơn ngữ L = 0n 1n Thuật toán để xây dựng TM cho ngơn ngữ • Bước 1: Đọc đổi thành x băng nhớ di chuyển sang phải gặp số thay y Nếu không gặp số → Chuyển sang trạng thái Reject • Lặp lại bước khơng cịn ký tự • Kiểm tra để đảm bảo khơng cịn số Ví dụ Lịch sử tính tốn (Computation history): 00001111 x0001111 x000y111 xx00y111 xxxxyyy Ví dụ → 0, R y → y, R → x, R A → 0, L y → y, L → y, R B C x → x, R y → y, R ␣ → ␣, L y → y, R D ␣ → ␣, L Accept 10 Định nghĩa hình thức Định nghĩa hình thức • Máy Turing ≡ (hay chiều) M = (Q, Σ, Γ, δ, q0 , qaccept , qreject ) Trong đó: - Q: Tập trạng thái (hữu hạn) Σ: Bộ chữ đầu vào, ε ∈ Σ Γ: Bộ chữ phép viết băng, ε ∈ Γ Σ ⊂ Γ δ: Hàm dịch chuyển δ: Q x Γ → Q x Γ x {L,R} - q0 ∈ Q: Trạng thái bắt đầu - qaccept ∈ Q: Là tập trạng thái chấp thuận - qreject ∈ Q: Là tập trạng thái bác bỏ, qaccept = qreject 11 Ý nghĩa cấu hình Cấu hình TM có ý nghĩa: • Đưa hình ảnh máy • Đưa hình ảnh bước tính tốn máy 1 1 ␣ ␣ ␣ q1 → tương ứng với cấu hình 011q1 01101 12 Ngơn ngữ TM Ngôn ngữ TM Tập hợp xâu TM đốn nhận = ngơn ngữ TM • Ngơn ngữ định (Decidable): Khi đọc xâu đầu vào - TM luôn đạt trạng thái dừng - TM chấp thuận xâu ∈ ngôn ngữ TM - TM bác bỏ xâu ∈ ngơn ngữ TM • Ngơn ngữ đốn nhận máy Turing (Recursivly Enumerable): - TM dừng chấp thuận (halt and accept) xâu ∈ ngôn ngữ TM - Nếu xâu ∈ ngơn ngữ TM, máy rơi vào trạng thái dừng bác bỏ lặp 13 Ngôn ngữ TM Định nghĩa Gọi ngơn ngữ đốn nhận máy Turing (TRL) tồn máy Turing đoán nhận ngơn ngữ Định nghĩa Gọi ngơn ngữ Turing-có thể định hay đơn giản định tồn máy Turing định ngơn ngữ → Tất ngơn ngữ định Turing đốn nhận 14 Tập ngơn ngữ 15 Ví dụ TM n Mơ tả máy Turing M định ngôn ngữ A = {02 | n ≥ 0} Thuật toán TM định A: Đảo từ trái qua phải dọc theo băng, xóa tất ký hiệu Nếu bước 1, băng chứa ký hiệu chấp thuận Nếu bước 1, băng chứa nhiều ký hiệu số lượng ký hiệu số lẻ bác bỏ Đưa đầu đọc trở đầu bên trái băng Lặp lại bước 16 Biểu đồ trạng thái → 0, L x → x, L q5 ␣ → ␣, L ␣ → ␣, R x → x, R → ␣, R q1 q2 → x, R q3 x → x, L ␣ → ␣, R ␣ → ␣, R x → x, R qreject → x, R qaccept → 0, R q4 x → x, R ␣ → ␣, R 17 Mô tả hình thức • Q = {q1 , q2 , q3 , q4 , q5 , qaccept , qreject } • Σ = {0} • Γ = {0,x,␣} • δ Minh họa biểu đồ trạng thái 18 Lịch sử tính tốn Lịch sử tính tốn với xâu 0000 Cấu hình ban đầu q1 0000 q1 0000 ␣q2 000 ␣xq3 00 ␣x0q4 ␣x0xq3 ␣ ␣x0q5 x␣ ␣xq5 0x␣ ␣q5 x0x␣ q5 ␣x0x ␣ ␣q2 x0x␣ ␣xq2 0x␣ ␣xxq3 x␣ ␣xxxq3 ␣ ␣xxq5 x␣ ␣xq5 xx␣ ␣q5 xxx␣ q5 ␣xxx␣ ␣q2 xxx␣ ␣xq2 xx␣ ␣xxq2 x␣ ␣xxxq2 ␣ ␣xxx␣qaccept 19 Questions? 19 ... Khi đọc xâu đầu vào - TM luôn đạt trạng thái dừng - TM chấp thuận xâu ∈ ngơn ngữ TM - TM bác bỏ xâu ∈ ngơn ngữ TM • Ngơn ngữ đốn nhận máy Turing (Recursivly Enumerable): - TM dừng chấp thuận... bước tính tốn: • Đọc ký hiệu ô băng mà trỏ trỏ tới • Có thể cập nhật ký hiệu trỏ tới • Dịch chuyển ô theo chiều định (trái phải) Biểu diễn hình học: a → b, R - a ký hiệu đọc, thuộc ô băng - b... ) Trong đó: - Q: Tập trạng thái (hữu hạn) Σ: Bộ chữ đầu vào, ε ∈ Σ Γ: Bộ chữ phép viết băng, ε ∈ Γ Σ ⊂ Γ δ: Hàm dịch chuyển δ: Q x Γ → Q x Γ x {L,R} - q0 ∈ Q: Trạng thái bắt đầu - qaccept ∈ Q:

Ngày đăng: 14/12/2021, 09:36