You are on page 1of 6

Tìm hiểu

1. Máy turing đơn định:


- 1 băng.
- 2 băng.
- Ngôn ngữ đoán nhận bởi nó.
- Các bài toán trên nó.
2. Máy turing đa định.
3. Chứng minh sự tương đương giữa chúng
4. Định nghĩa thuật toán, độ phức tạp thuật toán theo máy turing.
BT1. Thiết kế một máy Turing tìm dấu cách trong 1 xâu cho trước.

1. Máy Turing 1 băng 1 chiều là bộ năm ( K , ∑ , δ , s , H ), với:


- K là một tâp hữu hạn các trạng thái.
- ∑ là một bảng chữ cái, chứa đựng ký tự khoảng trống/ dấu cách ⨆ và ký tự
trái nhất ⊳ , nhưng không chứa các kí tự ← ,→ .
- s ∈ K là trạng thái khởi đầu.
- H ⊆ K là tập trạng thái kết thúc.
- δ là hàm chuyển : là một hàm từ ( K −H ) x ∑sang K x (∑ ∪{← , →}) sao cho:

a, với mọi q ∈ K −H ,nếu δ (q ,⊳ )(hàmchuyển của q và ký tự trái nhất ⊳)=( p , b)thì b=→

b, với mọi q ∈ K −H và a ∈∑ ,nếu δ(q , a)=( p , q) thìb ≠ ⊳

Cấu hình của máy Turing


M =(K ,∑ , δ , s , H )là một phần tử cảu K x ⊳ ∑∗(∑∗(∑−{⨆})∪ {ε }) .

Chú ý:

- Mọi cấu hình đều bắt đầu bởi ký hiệu trái nhất và NEVER kết thúc với 1 dấu
cách ( trừ khi dấu cách đang là ký tự hiện tại được đọc).
- Cấu hình có chứa trạng thái H gọi là cấu hình dừng.
- Ta cũng qui ước dùng một kí hiệu đơn giản để mô tả nội dung băng vào của
cấu hình. Cụ thể, ta sẽ viết wau để diễn tả nội dung băng vào của cấu hình
(q,wa, u). Kí hiệu được gạch dưới chỉ ra vị trí của đầu đọc. Từ đây, ta có thể
viết gọn, chẳng hạn (q,wau) thay cho (q,wa, u).

Máy Turing 1 băng vô hạn 2 chiều


Máy Turing với băng vô hạn hai chiều cũng tương tự như mô hình gốc (TM vô hạn
một chiêu 1 băng), chỉ khác là băng của nó không có cận trái như mô hình gốc,
nghĩa là ta xem như TM có vô hạn Blank ở cả hai đầu băng. Vì thế hàm δ được mở
rộng thêm băng cách xét thêm các trường hợp đặc biệt tại cận trái như sau :

δ ( q , X )=( p , Y , L ) thì qXα ⊢ pBYα


δ ( q , X )=( p , Y , R ) thì qXα ⊢ pα

Máy Turing 2 băng M là một bộ 5 tương tự như máy Turing 1 băng


Tuy nhiên, có sự khác biệt: Máy Turing đơn định 1 băng chỉ có 1 đầu đọc và 1 băng,
còn máy Turing đơn định 2 băng có 2 đầu đọc và 2 băng. Mỗi phép chuyển của máy
Turing phụ thuộc vào trạng thái của bộ điều khiển và ký tự đọc được tại mỗi đầu đọc
nó thực hiện theo các bước sau:
B1. Chuyển trạng thái
B2. In ký hiệu mới tại mỗi đầu đọc để thay thế ký hiệu vừa đọc.
B3. Đầu đọc có thể giữ nguyên vị trí hoặc dịch trái, dịch phải 1 ô cách độc lập nhau
Chú ý: Input xuất hiện trên băng thứ nhất, các băng khác chỉ toàn ô rỗng.
Máy Turing đoán nhận ngôn ngữ :

Cho máy Turing M =¿ với H = {y, n} gồm hai trạng thái dừng phân biệt (y và n
tương ứng với "yes" và "no"). Bất kỳ cấu hình nào có chứa thành phần y được gọi là
cấu hình chấp nhận, còn cấu hình chứa thành phần n được gọi là cấu hình bác bỏ.
Định nghĩa : máy Turing M chấp nhận sâu x nếu và chỉ nếu T xuất phát từ vị trí ban
đầu khi x đã được viết trên băng sẽ dừng lại ở cấu hình chấp nhận
Ngôn ngữ đệ quy :
Ngôn ngữ L là ngôn ngữ đệ quy nếu tồn tại 1 máy Turing chấp nhận mọi xâu trong L
và bác bỏ tất cả xâu không trong L.
Máy Turing sẽ luôn dừng và trả về 1 kết quả (chấp nhận hoặc bác bỏ) với mỗi và
mọi xâu cho vào máy.
Ngôn ngữ đệ quy liệt kê :
Ngôn ngữ L là ngôn ngữ đệ quy liệt kê nếu tồn tại 1 máy Turing chấp nhận mọi xâu
vào trong L.
Nhưng có thể có hoặc không dừng đối với các xâu không thuộc L.
Máy Turing tính các hàm

Cho hàm f: ∑∗→ ∑∗¿ . Máy Turing tính hàm f bằng cách xử lý mỗi từ vào ω ∈ ∑∗¿ sao
cho , nếu tại ω hàm f xác định thì máy dừng ở trạng thái chấp nhận và nội dung trên
băng là từ f (ω)∈∑*, ngược lại thì máy dừng ở trạng thái bác bỏ.

Giả sử M =¿ ) là một máy Turing. Hàm tương ứng với máy Turing M là hàm từ
∑∗vào ∑∗¿, được ký hiệu là FM và được định nghĩa như sau:
,nếu qoω ⊢ * uyv
FM(ω ¿= {khônguvxác định nếu ngược lại
Hàm f: ∑∗→ ∑∗¿ được gọi là tính được (computable), hay cụ thể hơn là tính được
theo Turing (Turing-computable), nếu tồn tại một máy Turing dừng M sao cho hàm
tương ứng với nó FM trùng với hàm f , tức FM ≃ f theo nghĩa, đối với mỗi ω ∈ ∑∗¿,nếu
một trong hai hàm xác định thì hàm kia cũng xác định vàchúng nhận cùng một giá
trị. Khi đó ta nói rằng "máy Turing dừng M tính hàm f " hay "hàm f tính được bởi
máy Turing dừng M".

Một số bài toán không giải được


1. Bài toán chấp nhận (acceptance problem) đối với máy Turing:
ATM = {<M, ω>| M là máy Turing và M chấp nhận ω}.
Định lý: Ngôn ngữ ATM là không khẳng định được.

2. Bài toán dừng (halting problem) đối với máy Turing:


HALTTM = {<M, ω>| M là máy Turing và M dừng trên đầu vào ω}.
Định lý : HALTTM là không khẳng định được.
3. Bài toán tương ứng Post (PCP - Post correspondence problem):
Mỗi dữ kiện của bài toán PCP là một cặp (A, B), trong đó A và B là hai danh sách
chứa k từ trên một bảng chữ nào đó:
A = (a1, a2, . . . , ak ),
B = (b1, b2, . . . , bk ),
Nội dung của PCP bao gồm việc kiểm tra xem, đối với mỗi dữ kiện (A, B), liệu có hay
không một dãy các chỉ số (i1, i2, . . . , ih) với 1 ≤ ij ≤ k và không nhất thiết khác
nhau, sao cho:
ai1ai2. . . aih = bi1bi2. . . bih
Bài toán tương ứng PCP:
PCP = {P| P là dữ kiện ghép được của PCP}.
Định lý: PCP là không khẳng định được.

2. Máy Turing đa định N là một bộ năm ( K , ∑, △ , s , H ) với :


- K là một tâp hữu hạn các trạng thái.
- ∑ là một bảng chữ cái, chứa đựng ký tự khoảng trống/ dấu cách ⨆ và ký tự
trái nhất ⊳ , nhưng không chứa các kí tự ← ,→ trái và phải.
- s ∈ K là trạng thái khởi đầu.
- H ⊆ K là tập trạng thái kết thúc.
- △ là một bộ phận của tập hơp ((K −H) x ∑) x ( K x (∑∪ {←, → }))¿ .Trong định nghĩa
TM tiêu chuẩn, thành phần này là một hàm từ
( K−H ) x ∑ sang K x ( ∑ ∪{←, → })
Quan hệ ⊢N ở TM đa định không nhất thiết sinh ra đơn vị hay một cấu
hình có thể sinh ra một số cấu hình khác trong một bước chuyển.
Cho máy Turing đa định N với bảng chữ vào Σ. Ta nói rằng máy Turing N
chấp nhận (một cách không tất định) đầu vào ω nếu trong cây tính toán T N(ω)
của N trên ω có nhánh tính toán dẫn đến cấu hình chấp nhận.
(Với TN(ω) là một cây tính toán, biểu diễn quá trình tính toán của TM N
trên mỗi từ vào ω.)
Tập các từ vào mà máy Turing N chấp nhận tạo thành ngôn ngữ chấp
nhận được của N, được gọi là ngôn ngữ của máy Turing đa định N và được kí
hiệu bởi LN.
Cho ngôn ngữ L và một máy Turing đa định N. Ta nói rằng máy Turing N
đoán nhận ngôn ngữ L hay ngôn ngữ L được đoán nhận bởi máy Turing N, nếu
L = LN.
Mỗi máy turing đa định đều có máy Turing đơn định một băng tương tương
nên ta sẽ có:

 Một ngôn ngữ là đoán nhận được khi và chỉ khi nó được đoán nhận bởi
máy Turing đa định nào đó.
3. Sự tương đương giữa TM đơn định và TM đa định
Mỗi máy turing đa định đều có máy Turing đơn định một băng tương tương
Thuật toán mô phỏng TM đa định trên TM đơn định:

1. Khởi tạo băng 1 chứa xâu ω, băng 2, băng 3 rỗng.


2. Khởi tạo băng 3 với các hàm chuyển đa định khả thi.
3. Sao chép băng 1 sang băng 2.
Sử dụng băng 2 làm đầu vào, xác định các ký tự trên băng 3 bằng các hàm
chuyển đa định
- Nếu gặp một cấu hình chấp nhận được ( Đa định vào trạng thái chấp
thuận) thì tạm dừng và chấp nhận
- Nếu gặp cấu hình bác bỏ hoặc không thể tính toán trên băng 3 thì ta
chuyển sang bước 4
4. Khởi tạo băng 3 bằng xâu kí tự mới theo trình tự lựa chọn của đa định
5. Quay lại bước 3.

4. Định nghĩa thuật toán, độ phức tạp thuật toán theo máy Turing.
Luận đề Church-Turing (Church-Turing thesis) Thuật toán theo nghĩa trực giác đồng
nhất với thuật toán máy Turing.
(Luận đề Church-Turing khẳng định mọi hàm toán học tính được thì cũng có thể
dùng các máy Turing để tính, và do đó cho phép định nghĩa các khái niệm như sự
tính được của hàm hay thuật toán.)
Thuật toán là máy Turing dừng.
(Thuật toán được định nghĩa bởi mô hình máy Turing còn được gọi là thuật toán máy
Turing.)
Luận đề Turing giúp định nghĩa chính xác khái niệm thuật toán :
Cho một giải thuật cho hàm f : D → R là một máy Turing MT sao cho một chuỗi nhập
d ∈ D trên băng nhập , cuối cùng M dừng với kết quả f(d) ∈ R trên băng. Một cách cụ
thể là :

q 0 d ⊢MT q f . f ( d ) với q f ∈ F , ∀ d ∈ D .
¿

Bỏ qua các yếu tố phần cứng của công nghệ hiện hành các bài toán được giải trên
máy tính phải có thuật toán để xử lý và theo Alan Turing, tất cả các thuật toán đều
có thể mô tả lại trên mô hình máy Turing, vậy việc đánh giá các thuật toán trên
máy Turing sẽ cho kết quả chính xác và công bằng nhất.
Độ phức tạp thuật toán được đánh giá bằng máy Turing theo hai tiêu chí là:

- Thời gian (số nhịp làm việc của máy Turing): là số lần dịch chuyển của đầu đọc
trên băng.
- Bộ nhớ (số ô nhớ cần sử dụng trong quá trình máy làm việc): là số ô trên bang
mà máy Turing ghi các kí tự trong khi xử lý.

You might also like