1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Automata và ngôn ngữ hình thức - Chương 7: Máy turing ppt

50 1,1K 13

Đ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 50
Dung lượng 343,8 KB

Nội dung

Máy Turing Turing machineMỤC ĐÍCH:  Trang bị khái niệm về máy Turing, văn phạm loại 0, các kỹ thuật thiết kế máy Turing;  Khái niệm về LBA, văn phạm loại 1;  Sơ lược về ác hướng nghi

Trang 1

Automata

Trang 2

Bài 7 Máy Turing (Turing machine)

MỤC ĐÍCH:

 Trang bị khái niệm về máy Turing, văn phạm loại

0, các kỹ thuật thiết kế máy Turing;

 Khái niệm về LBA, văn phạm loại 1;

 Sơ lược về ác hướng nghiên cứu liên quan đến

TA&FL;

YÊU CẦU:

 Sinh viên về nhà tìm hiểu thêm về các nội dung

được giới thiệu như một hướng học thuật mở.

©copyright by PhD C.T.Ha, Le Quy Don Technical University

Trang 3

Bài 7 Máy Turing

7.1 Máy hữu hạn trạng thái có đầu ra

7.2 Khái niệm về máy Turing

7.5 Automata tuyến tính giới nội (LBA)

7.6 Các hướng nghiên cứu mở liên quan

3

Trang 4

Bài 7 Máy Turing

7.1 Máy hữu hạn trạng thái có đầu ra

7.2 Khái niệm về máy Turing

7.5 Automata tuyến tính giới nội (LBA)

7.6 Các hướng nghiên cứu mở liên quan

11/25/2023

4

Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don

Technical University

Trang 5

7.1 Máy hữu hạn trạng thái có đầu ra

 Một trong những hạn chế của FA là chỉ có khả năng đoán nhận từ hay chấp nhận ngôn ngữ ( acceptors and

recognizers ) , với mỗi chuỗi nhập vào thì chỉ có tín hiệu

ra dạng true (đạt đến trạng thái kết thúc) hoặc false

(không thể xử lý hoặc không rơi vào trạng thái kết thúc);

 Trong bài toán thực tế, rõ ràng qua từng bước tính toán,

FA có thể đưa ra các xử lý tương ứng (các OUPUT ) Như vậy, hoàn toàn có thể mở rộng FA để giải quyết các lớp bài toán rộng hơn (FA có đầu ra – transducers ):

Mealy machine (Developed by G.H Mealy in 1955)

Moore machine (Developed by E.F Moore in 1956)

5

Trang 6

7.1 Máy hữu hạn trạng thái có đầu ra

Định nghĩa 7.1: Mealy machine là bộ 6:

M = (Q, Σ, Δ, q0, δ, φ)) trong đó:

Σ : tập hữu hạn gọi là tập các kí hiệu vào;

Δ : tập hữu hạn gọi là tập các kí hiệu ra;

Q : tập hữu hạn gọi là tập các trạng thái;

q0 : trạng thái bắt đầu ;

δ : ánh xạ từ Q x Σ sang Q (gọi là hàm chuyển

trạng thái);

φ) : là ánh xạ từ tập Q x Σ sang tập Δ (gọi là hàm ra).

Δ(t) = φ)[q(t),x(t)] q(t),x(t)]

 Automat Mealy hoạt động theo cơ chế phát tín hiệu

ra phụ thuộc vào tín hiệu vào và trạng thái nhận

Trang 7

7.1 Máy hữu hạn trạng thái có đầu ra

7

Ví dụ: Một người cha gửi con

trai đến trường học, chú bé

đem về các điểm 0 và điểm 9,

người cha không muốn lần

nào cũng dùng đến roi mây

mỗi lần đứa bé bị điểm

không, mà muốn có một chiến

lược giáo dục tinh tế hơn qua

Trang 8

7.1 Máy hữu hạn trạng thái có đầu ra

Trang 9

7.1 Máy hữu hạn trạng thái có đầu ra

9

tin nào đó, nếu có 3 bit xuất hiện liên tục thì trạm thu thông báo là quá trình truyền tin

xảy ra lỗi, thiết kế automata có thể thực hiện điều đó.

Trang 10

7.1 Máy hữu hạn trạng thái có đầu ra

11/25/2023

10

Ví dụ: Thiết kế một máy bán hàng tự động đáp ứng

các yêu cầu sau:

 Khi thả vào máy lớn hơn 30 xu, máy lập tức trả lại số tiền vượt quá, khi người dùng nhấn nút màu đỏ (R) sẽ nhận được nước Coca, nhấn nút màu cam (O) sẽ nhận được nước cam;

Ý tưởng: thiết kế các trạng thái, sao cho để đạt trạng thái thứ i, thì người dùng phải bỏ vào máy 5i xu, chỉ

cho phép nhận lại tiền thừa và nước uống sau khi đã

bỏ vào máy không dưới 30 xu.

Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don

Technical University

Trang 11

7.1 Máy hữu hạn trạng thái có đầu ra

Trang 12

7.1 Máy hữu hạn trạng thái có đầu ra

Định nghĩa 7.2: Moore machine là bộ 6:

M = (Q, Σ, Δ, q0, δ, φ)) trong đó:

Σ : tập hữu hạn gọi là tập các kí hiệu vào;

Δ : tập hữu hạn gọi là tập các kí hiệu ra;

Q : tập hữu hạn gọi là tập các trạng thái;

Trang 13

Bài 7 Máy Turing

7.1 Máy hữu hạn trạng thái có đầu ra

7.2 Khái niệm về máy Turing

7.5 Automata tuyến tính giới nội (LBA)

7.6 Các hướng nghiên cứu mở liên quan

13

Trang 14

7.2 Khái niệm về máy Turing

A Turing vào năm 1936 đã đề xuất máy có khả

năng biểu diễn các thuật toán:

 Thực chất TM là một automata , nó phân rã họat động của một quá trình tính toán thành các thao tác đơn giản;

TM sử dụng bộ nhớ ngoài vô hạn, đầu đọc có thể dịch chuyển theo chiều bất kỳ, có thể đọc và sửa đồi giá trị ghi trên bộ nhớ.

TM có khả năng đoán nhận lớp ngôn ngữ đệ quy đếm được (ngôn ngữ loại 0 – recursively

enumerable).

TM không đơn định có bộ nhớ giới hạn thì gọi là một automata tuyến tính giới nội (Linear Baunded Automata -LBA) , LBA có khả năng đoán nhận CSL (ngôn ngữ loại 1)

11/25/2023

14

Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don

Technical University

Trang 15

7.2 Khái niệm về máy Turing

Định nghĩa 7.3: TM (đơn định) là một hệ thống gồm 7 thành phần:

q0 : trạng thái khởi đầu;

B : ký hiệu dùng để chỉ khoảng trống trên băng;

F  Q : tập các trạng thái kết thúc.

15

Trang 16

7.2 Khái niệm về máy Turing

Định nghĩa 7.4: Hình thái của TM có dạng α1qα2, với q là trạng thái hiện hành của TM, α1α2 là nội

dung của băng tính từ đầu băng cho đến ký hiệu

khác Blank bên phải nhất.

Định nghĩa 7.5: Đặt X1X2 Xi-1qXi Xn là một hình thái (ID) Phép dịch chuyển sang trái được ký hiệu là:

Trang 17

7.2 Khái niệm về máy Turing

 Tương tự, phép dịch chuyển sang phải được ký hiệu là

Trang 18

7.2 Khái niệm về máy Turing

Định nghĩa 7.6: phép chuyển trạng thái mở rộng:

δ*: Γ*  Q  Γ*  Γ*  Q  Γ* :

δ*(ua, q, bv) = (uac, qr, v) nếu δ(q, b) = (qr, c, R)

δ*(ua, q, bv) = (u, qr, acv) nếu δ(q, b) = (qr, c, L)

Định nghĩa 7.7: ngôn ngữ được chấp nhận bởi TM M là:

Trang 19

7.2 Khái niệm về máy Turing

Ví dụ 7.2: Thiết kế TM chấp nhận L = {0n1n | n > 0}

19

Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don

Technical University

Trang 20

7.2 Khái niệm về máy Turing

 Xét chuỗi nhập w = 0011, ta có:

q00011 → Xq1011 → X0q111 → X q20Y1 → q2X0Y1 → X

q00Y1 → XXq1Y1 → XXY q11 → XX q2YY → X q2XYY →

XX q0YY → XXYq3Y → XXYYq3 → XXYYq4

q0(0,X,R)

(Y,Y,R)

(0,0,R) (Y,Y,R)

(1,Y,L)

(X,X,R)

(0,0,L) (Y,Y,L)

Trang 21

7.3 Kỹ thuật thiết kế TM

Ví dụ 7.3: Có thể thiết kế TM như là máy tính làm

việc với các hàm số nguyên.

 Quy ước: một số nguyên trong TM được viết dưới dạng nhất phân là một chuỗi số 0, cách nhau bởi 1 số 1.

Trang 23

(1,1,R)

(1,1,R) (0,1,L)

(0,0,L) (1,1,L)

(B,B,L) (B,B,R)

(1,B,L) (0,0,L)

(B,0,Ø)

(0,B,R) (1,B,R) (B,B,Ø)

23

Trang 24

Bài 7 Máy Turing

7.1 Máy hữu hạn trạng thái có đầu ra

7.2 Khái niệm về máy Turing

7.5 Automata tuyến tính giới nội (LBA)

7.6 Các hướng nghiên cứu mở liên quan

11/25/2023

24

Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don

Technical University

Trang 25

7.3 Kỹ thuật thiết kế TM

 Việc xây dựng máy Turing bằng cách liệt kê tất cả các hàm chuyển của nó trên băng nhập có thể là

một công việc thiếu hiệu quả Ta cần sử dụng

những công cụ hay phương pháp thiết kế “thông

minh” hơn:

 Lưu trữ trong bộ điều khiển (Storage in the finite control);

 Sử dụng nhiều rãnh trên băng (multiple tracks);

 Đánh dấu ký hiệu (Checking off symbols);

 Dịch qua (Shifting over);

 Kỹ thuật chu trình con (subrountines);

25

Trang 26

Bài 7 Máy Turing

7.1 Máy hữu hạn trạng thái có đầu ra

7.2 Khái niệm về máy Turing

7.3 Kỹ thuật thiết kế TM

7.3.1 Kỹ thuật lưu trữ trong bộ điều kiển

7.3.2 Kỹ thuật dịch qua 7.3.3 Kỹ thuật chu trình con 7.3.4 Sử dụng nhiều rãnh trên băng 7.4 Sự tương đương giữa TM và REL

7.5 Automata tuyến tính giới nội (LBA)

7.6 Các hướng nghiên cứu mở liên quan

11/25/2023

26

Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don

Technical University

Trang 27

7.3.1 Kỹ thuật lưu trữ trong bộ điều

kiển

Ví dụ 7.4: thiết kế TM kiểm tra ký tự đầu tiên của một

chuỗi không xuất hiện ở bất kỳ vị trí nào khác trong chuỗi.

 Ta xây dựng TM cho ví dụ trên như sau:

M(Q, {0, 1}, {0, 1, B}, δ, [q(t),x(t)] q0, B], B, F) trong đó: các trạng thái thuộc Q là một cặp {q0, q1} x {0,1,

Trang 28

Bài 7 Máy Turing

7.1 Máy hữu hạn trạng thái có đầu ra

7.2 Khái niệm về máy Turing

7.5 Automata tuyến tính giới nội (LBA)

7.6 Các hướng nghiên cứu mở liên quan

11/25/2023

28

Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don

Technical University

Trang 29

Hàm chuyển trạng thái δ:

δ([q(t),x(t)] q1, B, B], A1) = ([q(t),x(t)] q1, B, A1], X, R) δ([q(t),x(t)] q1, B, A1], A2) = ([q(t),x(t)] q1, A1, A2], X, R) δ([q(t),x(t)] q1, A1, A2], A3) = ([q(t),x(t)] q1, A2, A3], A1, R)

δ([q(t),x(t)] q1, Ai-2, Ai-1], Ai) = ([q(t),x(t)] q1, Ai-1, Ai], Ai-2, R)

δ([q(t),x(t)] q1, An-1, An], B) = ([q(t),x(t)] q2, An, B], An-1, R) 11/25/2023

29

Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don

Trang 30

Bài 7 Máy Turing

7.1 Máy hữu hạn trạng thái có đầu ra

7.2 Khái niệm về máy Turing

7.3 Kỹ thuật thiết kế TM

7.3.1 Kỹ thuật lưu trữ trong bộ điều kiển 7.3.2 Kỹ thuật dịch qua

7.3.3 Kỹ thuật chu trình con

7.3.4 Sử dụng nhiều rãnh trên băng 7.4 Sự tương đương giữa TM và REL

7.5 Automata tuyến tính giới nội (LBA)

7.6 Các hướng nghiên cứu mở liên quan

11/25/2023

30

Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don

Technical University

Trang 31

7.3.3 Kỹ thuật chu trình con

Ví dụ 7.6: thiết kế TM thực hiện phép nhân 2 số nguyên dương m và n

 Input: 0m1 0nB

 Output: 0m*nB

Ý tưởng: đặt số 1 sau 0m1 0n ( 0m1 0n1), sau đó

chép n số 0 sang phải m lần, mỗi lần xóa đi 1 số

0 bên trái của m, Sau khi m đã được xóa, phép

nhân đã được thực hiện xong, xóa tiếp 1 0n1 Kếu quả còn lại sẽ là B 0m*nB

Phân tích:

 Xóa 1 số 0 bên trái của m, dịch đầu đọc sang số

n để chuẩn bị cho việc copy n số 0: q00m1 0n1

Trang 32

7.3.3 Kỹ thuật chu trình con

 Quay lại trạng thái bắt đầu:

Trang 33

7.3.3 Kỹ thuật chu trình con

33

Trang 34

7.3.3 Kỹ thuật chu trình con

 Biến đổi hình thái q00m1 0n1 → B 0m-11q10n1:

Trang 35

7.3.3 Kỹ thuật chu trình con

(B,0,L)

(0,0,L) (1,1,L)

(2,2,R)

q4

q5

(1,1,L) (2,0,L)

Trang 36

Bài 7 Máy Turing

7.1 Máy hữu hạn trạng thái có đầu ra

7.2 Khái niệm về máy Turing

7.3 Kỹ thuật thiết kế TM

7.3.1 Kỹ thuật lưu trữ trong bộ điều kiển

7.3.2 Kỹ thuật dịch qua

7.3.3 Kỹ thuật chu trình con

7.3.4 Sử dụng nhiều rãnh trên băng

7.4 Sự tương đương giữa TM và REL

7.5 Automata tuyến tính giới nội (LBA)

7.6 Các hướng nghiên cứu mở liên quan

11/25/202336

Trang 37

7.3.4 Sử dụng nhiều rãnh trên băng

ĐL 7.1: Nếu L được nhận diện bởi TM với băng vô

hạn hai chiều thì L cũng được nhận diện bằng TM vô hạn một chiều băng

ĐL 7.2: Nếu L được nhận dạng bởi máy Turing nhiều băng vô hạn hai chiều thì nó cũng được nhận dạng bởi máy Turing một băng vô hạn hai chiều.

ĐL 7.3: Nếu L được chấp nhận bởi máy Turing

không đơn định M1 thì L cũng được chấp nhận bởi

một máy Turing đơn định M2 nào đó.

ĐL 7.4: Nếu L được chấp nhận bởi máy Turing k

chiều M1 thì L cũng được chấp nhận bởi một máy

Turing một chiều M2 nào đó.

37

Trang 38

Bài 7 Máy Turing

7.1 Máy hữu hạn trạng thái có đầu ra

7.2 Khái niệm về máy Turing

7.4 Sự tương đương giữa TM và REL

7.5 Automata tuyến tính giới nội (LBA)

7.6 Các hướng nghiên cứu mở liên quan

11/25/2023

38

Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don

Technical University

Trang 39

7.4 Sự tương đương giữa TM và REL

ĐL 7.5: Nếu L được chấp nhận bởi máy Turing k đầu đọc M1 thì L cũng được chấp nhận bởi một TM một

đầu đọc M2 nào đó.

ĐL 7.6: Một máy Turing có thể mô phỏng một RAM (Random Access Machine), với điều kiện là mỗi chỉ thị RAM cũng có thể được mô phỏng bởi một TM

ĐL 7.7: Một ngôn ngữ là tập đệ qui liệt kê nếu và chỉ nếu nó là G(M2) với TM M2 nào đó.

ĐL 7.8: Nếu L là L(G) với một văn phạm không hạn chế G thì L là ngôn ngữ đệ quy liệt kê.

ĐL 7.9: Nếu L là ngôn ngữ đệ quy liệt kê thì L = L(G) với một văn phạm không hạn chế G nào đó

39

Trang 40

Bài 7 Máy Turing

7.1 Máy hữu hạn trạng thái có đầu ra

7.2 Khái niệm về máy Turing

7.5 Automata tuyến tính giới nội (LBA)

7.6 Các hướng nghiên cứu mở liên quan

11/25/2023

40

Automata và ngôn ngữ hình thức - ©copyright by PhD C.T.Ha, Le Quy Don

Technical University

Trang 41

7.5 Automata tuyến tính giới nội

(LBA)

LBA ( Linear Bounded Automata) là một TM

không đơn định và băng nhập có giới hạn ở hai đầu (cận phải và cận trái) Vì vậy, nó phải thỏa mãn hai điều kiện sau:

 Bộ chữ cái nhập có chứa thêm hai ký hiệu đặc

biệt ⊄ và $ dùng làm ký hiệu đánh dấu mút trái

và mút phải

 LBA không thực hiện phép chuyển sang trái (L) từ

⊄ và không thực hiện phép chuyển sang phải (R)

từ $, và cũng không viết các ký hiệu khác lên ⊄

và $.

41

Trang 42

7.5 Automata tuyến tính giới nội

(LBA)

Định nghĩa 7.6: LBA là hệ thống 8 thành phần

M(Q, Σ, Γ,δ,qo,⊄, $, F), trong đó Q, Σ, Γ, qo, F vẫn như đã định nghĩa ở máy Turing, còn ⊄, $ ∈ Σ và hàm chuyển δ: Q × Γ → (Q

× Γ × { L, R}) phải thỏa mãn điều kiện:

Trang 43

7.5 Automata tuyến tính giới nội

(LBA)

ĐL 7.6: Tồn tại giải thuật để xác định với mọi ngôn ngữ cảm ngữ cảnh CSG G(V, T, P, S) bất kỳ và một chuỗi nhập w ∈ T*, liệu chuỗi w có thuộc ngôn ngữ L(G) hay không.

ĐL 7.6: Nếu L là một CSG thì L sẽ được chấp nhận bởi một LBA nào đó.

ĐL 7.6: Nếu L = L(M) với một LBA M (Q, Σ,

Γ,δ,qo,⊄, $, F) thì L – {ε} là một ngôn ngữ cảm

ngữ cảnh.

43

Trang 44

7.6 Các hướng nghiên cứu mở liên

quan

Giả thuyết Church-Turing: Any algorithm can be expressed as a TM.

Giả thuyết Church-Turing mở rộng:

 Any polynomial-time algorithm can be expressed

as a TM that operates in polynomial time;

 A polynomial-time algorithm: number of element operations is a polynomial function of input

length;

 A polynomial-time TM: number of state transition

is a polynomial function of input length.

11/25/202344

Trang 45

Bài 7 Máy Turing

7.1 Sự mở rộng của automata hữu hạn

7.2 Khái niệm về máy Turing

7.5 Automata tuyến tính giới nội (LBA)

7.6 Các hướng nghiên cứu mở liên quan

45

Trang 46

The Story So Far

ed b

y

CFG

, N

D PD A

Trang 47

The Story So Far

d b

y

C FG

, N

D PD A

Trang 48

Languages

recognizable by any

mechanical computing machine

Trang 50

Decidable Problems

Decidable Problems

Problems that can be solved by

a computer (eventually) Problems that can be solved by a computer in a reasonable time.

NP P

Note: not known if P  NP or P = NP

Ngày đăng: 27/06/2014, 03:20

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w