Tải bản đầy đủ (.doc) (20 trang)

tiểu luận môn lý thuyết tính toán post’s corespondence problems

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (581.06 KB, 20 trang )

Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
ĐẠI HỌC ĐÀ NẴNG
BAN ĐÀO TẠO SAU ĐẠI HỌC



GVHD : PGS. TS. PHAN HUY KHÁNH
NHÓM HV :
LÊ QUANG VŨ
ĐẶNG QUÝ LINH
TRẦN THỊ ÁI QUỲNH
LỚP : CAO HỌC KHMT K24
Trang
1
Đà Nẵng, tháng 05/2012
Đề tài:
POST’S CORESPONDENCE PROBLEMS
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
MỤC LỤC
MỤC LỤC 2
LỜI MỞ ĐẦU 3
BÀI TOÁN TƯƠNG ỨNG POST 4
1. Định nghĩa bài toán tương ứng Post 4
2. PCP đã sửa đổi 7
3. Hoàn thiện chứng minh PCP không có lời giải 11
BÀI TẬP 18
Bài tập 9.4.1: 18
Giải bài tập: 18
KẾT LUẬN 20
Trang
2


Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
LỜI MỞ ĐẦU
Để chứng minh một bài toán không có lời giải P
1
,
chúng ta có thể quy P
2
- là bài toán không có lời giải, về P
1
.
Chúng ta bắt đầu với một bài toán gọi là “Bài toán tương ứng Post” (Post’s
Correspondence Problem) hay gọi tắt là PCP, nó cũng là bài toán trừu tượng nhưng nó
liên quan đến chuỗi (string) hơn là máy Turing.
Mục tiêu của của chúng ta là chứng minh chuỗi là không có lời giải, sau đó sử
dụng tính không có lời giải của nó để chứng minh các bài toán không có lời giải khác
bằng quy PCP về các vấn đề đó.
Chúng ta sẽ chứng minh PCP không có lời giải bằng cách quy L
u
về PCP. Để dễ
dàng chứng minh, ta giới thiệu một PCP được sửa đổi, và quy bài toán PCP được sửa
đổi đến PCP ban đầu. Sau đó chúng ta quy L
u
về PCP đã sửa đổi. Một chuỗi các rút
gọn này được gợi ý trong hình 9.1. Vì L
u
ban đầu là không có lời giải, ta kết luận, PCP
là không có lời giải.
Hình 9.1: Các rút gọn chứng minh tính không có lời giải của bài toán tương ứng
Post.
Trang

3
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
BÀI TOÁN TƯƠNG ỨNG POST
- Post’s Correspondence Problem –
1. Định nghĩa bài toán tương ứng Post
Một instance (tạm dịch là một trường hợp cụ thể ) của bài toán tương ứng Post
(PCP) gồm hai danh sách các chuỗi (string) trên các bảng alphabet ∑, hai danh sách
phải có độ dài bằng nhau. Một cách tổng quát, chúng ta tham chiếu đến các danh sách
A và B, và A = w
1
, w
2,
, w
k
và B = x
1
, x
2,
…, x
k
, với k nguyên.Với mỗi i, cặp (w
i
, x
i
)
được gọi là một cặp tương ứng.
Chúng ta nói instance PCP này có một lời giải nếu có một dãy một hoặc nhiều số
nguyên i
1
, i

2
, … i
m
mà khi biên dịch như các chỉ số của các chuỗi trong các danh sách
A và B, tạo ra chuỗi giống nhau là w
i1
w
i2
… w
im
= x
i1
x
i2
… x
im
. Chúng ta nói chuỗi i
1
,
i
2,
… i
m
là một lời giải cho instance PCP, nếu đúng vậy, bài toán tương ứng Post là:
• Cho trước một instance PCP, tìm xem instance này có lời giải hay không.
Ví dụ 9.13:
Cho ∑ = {0,1}, cho các danh sách A, B được định nghĩa như trong hình 9.12.
Trong trường hợp này PCP có một lời giải. Ví dụ, cho m = 4, i
1
= 2, i

2
= 1, i
3
= 1 và i
4
= 3; lời giải là danh sách 2,1,1,3. Chúng ta kiểm tra danh sách này là lời giải bằng
cách nối hai xâu tương ứng theo thứ tự cho hai danh sách, đó là w
2
w
1
w
1
w
3
= x
2
x
1
x
1
x
3
= 101111110. Chú ý rằng, lời giải này không phải là duy nhất. Ví dụ, 2,1,1,3,2,1,1,3 là
một lời giải khác.
Hình 9.12: Một ví dụ PCP
Trang
4
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
PCP như một ngôn ngữ
Chúng ta đang thảo luận về bài toán xác định xem một instance PCP cho trước

có lời giải hay không, chúng ta cần biểu diễn bài toán này dưới dạng một ngôn ngữ.
Vì PCP cho phép các ký tự alphabet tuỳ ý, do vậy ngôn ngữ PCP thực sự là một tập
các chuỗi trên một số bảng alphabet cố định, mà nó mã hoá PCP như chúng ta mã
hoá máy Turing có các tập trạng thái tuỳ ý và các ký hiệu đánh dấu như trong phần
9.1.2. Instance, nếu một instance PCP có một bảng ký hiệu (symbol) đến 2
k
ký tự,
chúng ta có thể sử dụng k bit nhị phân phân biệt mã hoá hoá cho mỗi ký hiệu.
Vì mỗi instance PCP có một bảng alphabet hữu hạn, chúng ta có thể tìm thấy
một vài k cho mỗi instance PCP. Chúng ta có thể mã hoá mọi bài toán PCP trong một
bảng 3 ký hiệu gồm 0,1 và một dấu phẩy để phân biệt các chuỗi. Chúng ta bắt đầu
việc mã hoá bằng cách viết k dưới dạng nhị phân, theo sau bởi một dấu phẩy. Sau mỗi
cặp chuỗi, với các chuỗi phân biệt bởi các dấu phẩy và các ký hiệu của chúng được
mã hoá dưới một mã k bit nhị phân.
Ví dụ 9.14:
Đây là một ví dụ về trường hợp không lời giải. Chúng ta cũng cho ∑ = {0,1},
nhưng bài toán có hai danh sách như trong hình 9.13.
Giã sử rằng bài toán PCP trong hình 9.13 có một lời giải, ta nói i
1,
i
2,
, i
m
, với m
>= 1. Chúng ta cho i
1
= 1. Nếu i
1
= 2, thì một chuỗi bắt đầu với w
2

= 011 sẽ phải bằng
một chuỗi bắt đầu với x
2
= 11. Nhưng điều này là không thể, vì ký hiệu đầu tiên của
hai chuỗi này là 0 và 1. Tương tự, nó cũng không đúng với i
1
= 3, vì một chuỗi bắt đầu
với w
3
= 101 sẽ phải bằng một chuỗi x
3
= 011.
Nếu i
1
= 1, thì hai chuỗi tương ứng từ các danh sách A và B sẽ phải bắt đầu:
Trang
5
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
Bây giờ chúng ta xét i
2
:
1. Nếu i
2
= 1, thì sẽ có vấn đề, sẽ không có chuỗi bắt đầu với w
1
w
2
= 1010
có thể khớp với chuỗi bắt đầu với x
1

x
2
= 101101; chúng phải không trùng khớp tại vị
trí thứ tư.
Hình 9.13: Một ví dụ PCP khác
2. Nếu i
2
= 2, chúng ta cũng có vấn đề, bời vì không có chuỗi bắt đầu với
w
1
w
2
= 10011 có thể khớp với chuỗi bắt đầu với x
1
x
2
= 10111; chúng phải khác nhau ở
vị trí sthứ 3.
3. Chỉ có i
2
= 3 là có thể
Nếu chúng ta chọn i
2
= 3, thì các chuỗi tương ứng được tạo thành từ danh sách
các số nguyên i
1
, i
3
là:
Chúng ta không thể mở rộng danh sách 1,3 để có một lời giải. Tuy nhiên, chúng

ta có thể kết luận là điều đó không thể làm được. Lý do là chúng ta có cùng điều kiện
sau khi lựa chọn i
1
= 1. Chuỗi từ danh sách B giống với chuỗi từ danh sách A, ngoại
trừ trong danh sách B có thêm ký hiệu 1 ở cuối. Vì vậy, chúng ta bắt buộc chọn i
3
= 3,
i
4
= 3, và vì vậy, để tránh tạo ra lỗi. Chúng ta có thể sẽ không bao giờ cho phép chuỗi
A giống đạt đến chuỗi B, và vì vậy có thể không bao giờ đạt đến một lời giải.
Trang
6
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
2. PCP đã sửa đổi
Sẽ dễ dàng quy L
u
về PCP hơn nếu chúng ta giới thiệu một phiên bản trung gian
của PCP, mà ta gọi là PCP đã sửa đổi, hay MPCP. Trong PCP sửa đổi, có thêm một
yêu cầu về lời giải mà cặp đầu tiên trong danh sách A và B phải là cặp đầu tiên trong
lời giải. Cụ thể hơn, một bài toán MPCP có hai danh sách A = w
1
, w
2,
, w
k
và B = x
1
,
x

2,
…, x
k
, và một lời giải là một danh sách gồm 0 hoặc nhiều số i
1
, i
2
, … i
m
mà:
Chú ý rằng cặp (w
1
, x
1
) là bắt buộc để tại vị trí bắt đầu của hai chuỗi, ngay cả chỉ
số 1 không được đề cập phía trước danh sách là lời giải. Không giống như PCP mà lời
giải phải có tối thiểu một số nguyên trong danh sách lời giải, trong MPCP, danh sách
rỗng có thể là lời giải nếu w
1
= x
1
(nhưng những trường hợp này không được quan tâm
nhiều)
Các lời giải từng phần
Trong ví dụ 9.14, chúng ta đã sử dụng một kỹ thuật để phân tích trường hợp
PCP xuất hiện thường xuyên. Chúng ta xét các lời giải từng phần có thể, đó là các
dãy chỉ số i
1
, i
2

, …, i
r
mà một trong các w
1
, w
2,
, w
r
và B = x
1
, x
2,
…, x
r
là phần tiếp đầu
của chuỗi khác cho dù hai chuỗi là không bằng nhau. Chú ý rằng nếu một dãy các số
nguyên là lời giải thì mọi phần tiếp đầu là của dãy phải là lời giải từng phần. Vì vậy,
tìm hiểu các lời giải từng phần cho phép chúng ta chứng minh các lời giải là có thể.
Tuy nhiên, bởi vì PCP là không có lời giải, nên không có giải thuật để tính toán
mọi lời giải từng phần. Có thể có vô số các lời giải từng phần, nên không có giới hạn
trên về sự khác nhau về chiều dài các chuỗi w
1
, w
2,
, w
r
và B = x
1
, x
2,

…, x
r ,
ngay cả
khi các lời giải từng phần đưa đến một lời giải.
Trang
7
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
Ví dụ 9.15:
Các danh sách trong hình 9.12 có thể xem như một bài toán MPCP. Tuy nhiên,
như một bài toán MPCP không có lời giải. Để chứng minh, chúng ta xét mọi lời giải
từng phần phải bắt đầu với chỉ số 1, vì vậy, hai chuỗi của lời giải sẽ bắt đầu
Số kế tiếp không thể là 2 hoặc 3, vì cả w
2
và w
3
đều bắt đầu với 10 và vì vậy sẽ
tạo ra lỗi không khớp tại vị trí thứ 3. Vì vậy, chỉ số kế tiếp phải là 1, tạo ra:
Chúng ta có thể chỉ ra cách này một cách không rõ ràng. Chỉ một số 1 khác trong
lời giải có thể tranh lỗi, nhưng nếu chúng ta chỉ có thể lấy chỉ số 1, chuỗi B vẫn dài
hơn chuỗi B 3 lần và hai chuỗi sẽ không bao giờ bằng nhau.
Một bước quan trong việc trình bày PCP không có lời giải là giảm MPCP đến
PCP. Sau đây, chúng ta trình bày MPCP không có lời giải bằng cách giảm L
u
đến
MPCP. Tại điểm đó, chúng ta sẽ có một bằng chứng rằng PCP không có lời giải, nếu
nó là có thể quyết định, thì chúng ta có thể quyết định MPCP, và L
u
.
Cho trước bài toán MPCP với bảng ký hiệu ∑, chúng ta xây dựng bài toán PCP
như sau. Đầu tiên, chúng ta giới thiệu một ký hiệu mới *, trong bài toán PCP, di

chuyển giữa mọi ký hiệu trong các chuỗi của một MPCP. Tuy nhiên trong các chuỗi
của danh sách A, * theo sau các ký hiệu ∑, và trong danh sách B, * đi trước các ký
hiệu của ∑. Một ngoại lệ là một cặp mới dựa trên cặp đầu tiêncủa MPCP; cặp này có
thêm * tại bắt đầu của w
1
, vì vậy nó co thể bắt đầu lời giải PCP. Cặp cuối cùng (*,*$)
được thêm vào PCP. Cặp này phục vụ như là cặp cuối cùng trong lời giải PCP mà
giống như một lời giải của MPCP.
Bây giờ chúng ta chuẩn hoá nội dung xây dựng nêu trên. Chúng ta cho trước một
MPCP với các danh sách A = w
1
, w
2,
, w
k
và B = x
1
, x
2,
…, x
k
. Chúng ta giã sử rằng *
Trang
8
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
và $ là các ký hiệu không xuất hiện trong ∑của MPCP này. Chúng ta xây dựng một
PCP C = y
0
, y
1,

, y
k+1
và D = z
0
, z
1,
…, z
k+1
, như sau:
1. Với i = 1,2,…,k, thay y
i
với w
i
với với một * sau mỗi ký hiệu của w
i
, và
thay z
i
với x
i
với một * trước mỗi ký hiệu của x
i
.
2. y
0
= y
1
, và z
0
= z

1
. Khi đó, cặp thứ 0 sẽ giống cặp 1, ngoại trừ thêm một
ký tự * tại vị trí bắt đầu của chuỗi từ danh sách đầu tiên. Chú ý rằng, cặp thứ 0 sẽ là
cặp duy nhất trong PCP trong cả hai chuỗi bắt đầu với cùng ký hiệu, vì vậy mọi lời
giải với PCP sẽ phải bắt đầu từ chỉ số 0.
3. y
k+1
= $ và z
k+1
= *$
Ví dụ 9.16:
Giã sử rằng hình 9.12 là một MPCP. Thì PCP được xây dựng từ các bước trên
được trình bày trong hình 9.14.
Hình 9.14: Xây dựng một PCP từ một MPCP
Định lý 9.17: MPCP rút gọn về PCP
Chứng minh: Các bước xây dựng ở trên là nội dung chính của việc chứng minh.
Đầu tiên, giã sử rằng i
1
, i
2
, …,i
m
là một lời giải của MPCP với các danh sách A và B.
Chúng ta biết w
i1
w
i2
… w
im
= x

i1
x
i2
… x
im
. Nếu chúng ta thay thế w bởi y và x bởi z,
chúng ta sẽ có hai chuỗi gần giống nhau: y
1
y
i1
y
i2
… y
im
và z
1
z
i1
z
i2
… z
im
. Sự khác nhau
Trang
9
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
đó là chuỗi đầu tiến sẽ thiếu một * tại vị trí đầu tiên, và sẽ thiếu * tại vị trí cuối. Như
sau:
Tuy nhiên, y
0

= *y
1
và z
0
= z
1
, vậy ta có thể cố định phần khởi tạo * bằng các
thay thế chỉ số đầu tiên về 0. Chúng ta sẽ có:
Chúng ta có thể quan tâm đến * cuối cùng bằng cách thêm chỉ số k + 1. Vì y
k+1
=
$ và z
k+1
= *$, chúng ta sẽ có:
Chúng ta đã biết rằng 0, i
1
,i
2
, …, i
m
, k + 1 là một lời giải của PCP.
Bây giờ chúng ta chỉ ra sự biến đổi, rằng nếu, một PCP đã xây dựng có một lời
giải, thì MPCP ban đầu cũng có một lời giải. Chúng ta thấy rằng một lời giải của PCP
phải bắt đầu với chỉ số 0 và kết thúc với chỉ số k + 1, vì chỉ cặp thứ 0 có các chuỗi y
0
và z
0
mà bắt đầu với cùng ký hiệu, và chỉ cặp (k+1) đầu tiên có các chuỗi kết thúc với
cùng kỹ hiệu. Vì vậy, lời giải PCP có thể được viết 0, i
1

,i
2
,…, i
m,
k+1.
Chúng ta kết luận rằng i
1
,i
2
,…,i
m
là một lời giải của MPCP. Lý do là nếu ta loại
bỏ * và $ cuối cùng từ chuỗi y
0
y
i1
y
i2
… y
im
y
k+1
chúng ta nhận được chuỗi w
1
w
i1
w
i2

w

im
. Nếu chương trình loại bỏ * và $ từ chuỗi z
0
z
i1
z
i2
… z
im
z
ik+1
chúng ta nhận được
x
1
x
i1
x
i2
… x
im
. Chúng ta biết rằng
Vì vậy:
Do đó, một lời giải của PCP cũng ngầm hiểu là lời giải của MPCP.
Chúng ta thấy rằng, việc xây dựng được mô tả phần trước của định lý là một giải
thuật mà chuyển đổi từ MPCP với một lời giải sang PCP một lời giải, và nó cũng
Trang
10
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
chuyển một MPCP không lời giải sang PCP không lời giải. Vì vậy, chứng tỏ có sự rút
gọn MPCP thành PCP, điều này khẳng định rằng nếu PCP là có thể quyết định, MPCP

cũng sẽ có thể quyết định.
3. Hoàn thiện chứng minh PCP không có lời giải
Bây giờ chúng ta hoàn thiện một chuỗi các rút gọn của hình 9.11 bằng cách rút
gọn L
u
thành MPCP. Đó là cho trước một cặp (M,w), chúng ta xây dựng một bộ (A,B)
của MPCP mà TM M chấp nhận đầu vào w nếu và chỉ nếu (A,B) có một lời giải.
Tư tưởng chủ yếu là instance MPCP (A,B) mô phỏng, trong các lời giải từng
phần của nó, việc tính toán M trên đầu vào w. Các lời giải từng phần sẽ bao gồm các
chuỗi là phần tiếp đầu (prefix) của dãy ID của M: #α
1

2

3
#…, trong đó α
1
là ID
khởi đầu của M với đầu vào w, và α
i
| α
i+1
với mọi i. Chuỗi từ danh sách B sẽ luôn là
một ID trước chuỗi từ danh sách A, trừ khi M chuyển vào trạng thái chấp nhận. Trong
trường hợp đó, sẽ có các cặp để sử dụng mà sẽ cho phép danh sách A đạt đến danh
sách B và cuối cùng tạo ra một lời giải. Tuy nhiên, nếu không chuyển vào trạng thái
chấp nhận, không có cách nào sử dụng các cặp này và không tồn tại lời giải.
Để đơn giản việc xây dựng một instance MPCP, chúng ta sẽ viện dẫn định lý 8.2,
rằng chúng ta giã sử rằng TM không bao giờ in một khoảng trống, và không bao giờ
chuyển sang trái từ vị trí khởi đầu ban đầu. Trong trường hợp đó, một ID của máy

Turing sẽ luôn là một chuỗi dưới dạng αqβ, trong đó α và β là các chuỗi ký hiệu
không trống, và q là trạng thái. Tuy nhiên, chúng ta sẽ cho phép β là trống nếu là đầu
tại vị trí trống tức thì bên phải α, sau đó đặt một khoảng trống vào bên phải trạng thái.
Vì vậy, các ký hiệu α và β sẽ tương ứng chính xác nội dung các tế bào mà tổ chức đầu
vào, cộng với mọi tế bào đầu vào bên phải mà đầu đọc đã được thăm trước đó.
Cho M = (Q,∑,Г,δ,q
0
,B,F) là một TM thoả mản định lý 8.12, và cho w thuộc ∑
*
là chuỗi đầu vào. Chúng ta xây dựng một instance MPCP như sau. Để hiểu sự vận
động đằng sau lựa chọn các cặp của chúng ta, nhớ rằng mục đích là với danh sách đầu
tiên là một ID đằng sau danh sách thứ hai, trừ khi M chấp nhận.
Trang
11
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
1. Cặp đầu tiên là:
Cặp này phải khởi động mọi lời giải theo các luật của MPCP, bắt đầu sự mô
phỏng của M trên đầu vào w. Chú ý rằng, danh sách B là một đầu ID đầy đủ của danh
sách A.
2. Các ký hiệu và dấu phân biệt # có thể được thêm vào sau các danh sách,
các cặp
cho phép các ký hiệu không liên quan đến trạng thái được sao chép. kết quả, sự
lựa chọn của các cặp này cho phép chúng ta mở rộng chuỗi A khớp với chuỗi B, và tại
các phần sao chép thời gian giống nhau của ID trước đó đến phần cuối của chuỗi B.
Điều này giúp tạo nên ID kế tiếp trong dãy di chuyển của M, tại phần cuối của chuỗi
B.
3. Để tạo ra một di chuyển của M, chúng ta có chắc chắn các cặp mà phản
ánh các di chuyển đó. Với mọi q trong Q – F (nghĩa là q là một trạng thái không chấp
nhận), p thuộc Q, và X, Y, và Z thuộc Г, chúng ta có:
Giống như các cặp của (2), các cặp này giúp mở rộng chuỗi B để thêm ID kế

tiếp, bằng cách mở rộng chuỗi A để khớp với chuỗi B. Tuy nhiên, các cặp này
sưửdụng trạng thái để xác định thay đổi trong ID hiện tại mà cần để tạo ra ID kế tiếp.
Các thay đổi này - một trạng thái mới, ký hiệu, di chuyển đầu - được phản ánh trong
ID được xây dựng tại phần cuối của chuỗi B.
Trang
12
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
4. Nếu ID tại cuối của chuỗi B có một trạng thái chấp nhận, thì chúng ta
cần cho phép lời giải từng phần trở thành lời giải đầy đủ. Chúng ta làm điều này bằng
cách mở rộng với ID mà không thực sự ID của M, nhưng trình bày những trạng thái sẽ
xãy ra nếu trạng thái chấp nhận được cho phép sử dụng mọi ký hiệu. Vì vậy, nếu q là
một trạng thái chấp nhận, thì mọ ký hiệu X và Y, các cặp là:
5. Cuối cùng, khi trạng thái chấp nhận đã sử dụng mọi ký hiệu, nó đứng
một mình như ID cuối cùng của chuỗi B. Phần còn lại của hai chuỗi (phần sau của
chuỗi B phải được thêm vào chuỗi A để khớp với chuỗi B) là q#. Chúng ta sử dụng
cặp cuối cùng:
để hoàn thành lời giải.
Phần sau, chúng ta tham khảo 5 loại cặp được tạo ở trên như các cặp từ quy tắc
(1) và (2) …
Ví dụ 9.18:
Chuyển đổi TM
Trong đó δ được cho bởi:
Trang
13
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
Và chuỗi đầu vào w = 01 của một instance MPCP. Để đơn giản, chú ý rằng M
không bao giờ ghi a khoảng trống, vậy chúng ta sẽ không bao giờ có B trong một ID.
Vậy, chúng ta sẽ bỏ qua mọi cặp liên quan đến B. Toàn bộ danh sách các cặp là trong
hình 9.15, cùng với các giải thích về mỗi cặp.
Hình 9.15: Ví dụ MPCP được xây dựng từ TM M của ví dụ 9.18.

Chú ý rằng M chấp nhận đầu vào 01 bởi dãy các di chuyển:
Chúng ta thấy dãy các lời giải từng phần mà sử dụng tính toán của M và cuối
cùng đưa đến một lời giải. Chúng ta phải khởi động với cặp đầu tiên, như được yêu
cầu trong mọi lời giải MPCP:
Trang
14
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
Cách duy nhất để mở rộng lời giải từng phần là với chuỗi từ danh sách A là phần
tiếp đầu của phần còn lại, q
1
01#. Vì vậy, tiếp đến chúng ta phải chọn cặp (q
1
0, 1q
2
),
mà là một trong những cặp mô phỏng di chuyển mà chúng ta nhận được từ luật (3).
Lời giải từng phần vì vậy là:
Bây giờ chúng ta có thể mở rộng hơn nữa lời giải từng phần sử dụng cặp sao
chép (copying) từ luật (2), cho đến khi chúng ta đạt đến trạng thái trong ID thứ 2. Lời
giải từng phần là:
Tại điểm này, chúng ta có thể sử dụng một cặp luật (3) khác để mô phỏng một di
chuyển; cặp tương ứng là (q
2
1, 0q
1
), và lời giải kết quả là:
Bây giờ chúng ta sử dụng các cặp lụât (2) để sao chép ba ký hiệu kế tiếp: #, 1, và
0. Tuy nhiên, để đi xa như vậy sẽ là một lỗi, vì di chuyển kế tiếp của M di chuyển đầu
sang trái, và ký hiệu 0 chỉ trước trạng thái là cần thiết trong cặp luật (3) kế tiếp. Vì
vậy, chúng ta chỉ sao chép 2 ký hiệu kết tiếp, đưa đến lời giải từng phần:

Cặp luật (3) thích hợp để sử dụng là (0q
1
#,q
2
01#), sẽ cho chúng ta lời giải từng
phần:
Bây giờ chúng ta sử dụng một cặp luật (3) khác, (1q
2
0,q
3
10), mà đưa đến chấp
nhận:
Trang
15
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
Tại điểm này, chúng ta sử dụng các cặp từ luật (4) để loại trừ tất cả, ngoại trừ q
3
từ ID. Chúng ta cũng cần các cặp từ luật (2) để sao chép các ký hiệu khi cần thiết.
Phần tiếp theo của lời giải từng phần là:
Chỉ với q
3
trái trong ID, chúng ta có thể sử dụng cặp (q
3
##,#) từ luật (5) để kết
thúc lời giải:
Định lý 9.19: Bài toán tương ứng Post PCP không có lời giải.
Chứng minh: Chúng ta đã hoàn thành hấu hết một chuỗi các thu gọn được gợi ý
bởi hình 9.11. Sự thu gọn từ MPCP thành PCP được trình bày trong định lý 9.17. Việc
xây dựng của phần này trình bày cách thu gọn L
u

thành MPCP. Vì vậy, chúng ta hoàn
thành việc chứng minh tính không có lời giải của PCP bằng cách chứng minh rằng
việc xây dựng là đúng, như sau:
• M chấp nhận w nếu và chỉ nếu instance MPCP được xây dựng là có lời giải.
(Chỉ nếu) Ví dụ 9.18 đưa ra tư tưởng chính. Nếu ư w là thuộc L(M), thì chúng ta
có thể khởi động với cặp luật (1), và mô phỏng sự tính toán của M trên w. Chúng ta sử
dụng một cặp từ luật (3) để sao chép trạng thái từ mỗi ID và mô phỏng một di chuyển
của M, và chúng ta sử dụng các cặp từ luật (2), để sao chép các ký hiệu đánh dấu và
bộ đánh dấu # khi cần thiết. Nếu M đạt đến trạng thái chấp nhận, thì các cặp từ luật (4)
và một cuối cùng sử dụng cặp từ luật (5) cho phép chuỗi A đạt đến chuỗi B và đưa ra
lời giải.
Trang
16
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
(Nếu) Chúng ta cần chứng tỏ rằng nếu MPCP có lời giải, chỉ có thể là do M chấp
nhận w. Đầu tiên, bởi vì chúng ta đang xử lý với MPCP, mọi lời giải phải bắt đầu với
cặp đầu tiên, vậy một lời giải từng phần bắt đầu.
Miễn là không có trạng thái chấp nhận trong lời giải từng phần, các cặp từ các
luật (4) và (5) là không sử dụng. Các trạng thái và một hoặc hai ký hiệu đánh dấu bao
quanh của chúng trong một ID chỉ có thể được xử lý bởi các cặp của luật (3), và mọi
ký hiệu đánh dấu khác và # phải được xử lý bởi các cặp từ luật (2). Vì vậy, trừ khu M
đạt đến một trạng thái chấp nhận, mọi lời giải từng phần có dạng:
Trong đó x là một dãy của ID của M trình bày một tính toán của M trên w đầu
vào, có thể được theo sau bởi # và bắt đầu của ID α kế tiếp. Phần còn lại y là sự hoàn
thành của α, một # khác, và bắt đầu của ID mà theo sau α, đạt đến điểm mà x tự kết
thúc bên trong α.
Nói cách khác, miễn là M không chuyển vào trạng thái chấp nhận, lời giải từng
phần không là một lời giải; chuỗi B dài hơn chuỗi A. Vì vậy, nếu có một lời giải, M
phải bắt đầu tại các điểm chuyển vào trạng thái chấp nhận; nghĩa là M chấp nhận w.
Trang

17
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
BÀI TẬP
Bài tập 9.4.1:
Hãy cho biết các instance cho sau của bài toán PCP có lời giải hay không.
Hãy cho biết các instance cho sau của bài toán PCP có lời giải hay không.
a)
a)
A =(01,001,10); B =(011,10,00)
A =(01,001,10); B =(011,10,00)
b)
b)
A =(01,001,10); B =(011,01,00)
A =(01,001,10); B =(011,01,00)
c)
c)
A = (ab,a,bc,c); B = (bc,ab,ca,a)
A = (ab,a,bc,c); B = (bc,ab,ca,a)
Giải bài tập:
a)
A =(01,001,10); B =(011,10,00)
A =(01,001,10); B =(011,10,00)
Không có lời giải. Vì, lời giải (nếu có) phải bắt đầu bằng cặp số 1,vì đây là cặp
duy nhất có tiền tố đầu tiên giống nhau. Do vậy, lời giải phải được bắt đầu như sau:
A: 01…
B: 011…
Và bây giờ, chúng ta phải cần tiếp một cặp mà chuỗi của A phải được bắt đầu
bằng 1, và chỉ có duy nhất cặp 3 thoả mãn. Lời giải sẽ trở thành:
A: 0110
B: 01100

Và bây giờ, chúng ta phải cần tiếp một cặp mà chuỗi của A phải được bắt đầu
bằng 0, có hai cặp 1 hoặc 2 thoả mãn. Lúc này, chúng ta có thể có 2 lời giải như sau:
A: 011001
B: 01100011
hoặc
A: 0110001
B: 0110010
Cả hai trường hợp đều gây ra lỗi. Như vậy, không tồn tại lời giải.
b)
A =(01,001,10); B =(011,01,00)
A =(01,001,10); B =(011,01,00)
Lời giải có thể bắt đầu bằng cặp 1 hoặc 2.
Giả sử bắt đầu bằng cặp 1, chúng ta có lời giải như sau:
A: 01
B: 011
Trang
18
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
Lúc này, lời giải phải có cặp tiếp theo sao cho chuỗi của A phải bắt đầu bằng 1.
Chỉ có duy nhất cặp 3 đáp ứng, lời giải trở thành:
A: 0110
B: 01100
Tiếp theo, lời giải phải có cặp sao cho chuổi của A phải bắt đầu bằng 0. Có hai
cặp đáp ứng, đó là cặp 1 và 2.
Nếu là cặp 1, lời giải trở thành:
A: 011001
B: 01100011
Xuất hiện lỗi.
Chúng ta xét cặp 2, lời giải trở thành :
A : 0110001

B : 0110001
Như thế, đến đây chúng ta đã có một lời giải như sau: 1,3,2
A: 0110001
B: 0110001
c)
A = (ab,a,bc,c); B = (bc,ab,ca,a)
A = (ab,a,bc,c); B = (bc,ab,ca,a)
Trường hợp này, lời giải chỉ có thể bắt đầu bằng cặp 2:
A: a
B: ab
Đến đây, chúng ta có thể kết luận rằng không có lời giải. Vì độ dài của các
chuỗi trong danh sách A luôn bằng hoặc nhỏ hơn các chuỗi tương ứng trong danh sách
B. Do vậy, khi tiếp tục ghép bất kỳ một cặp nào đó tiếp theo lời giải trên, thì đều nhận
được độ dài của chuỗi lời giải B lớn hơn chuỗi lời giải A.
Trang
19
Tiểu luận môn học Lý thuyết tính toán Post’s Correspondence Problem
KẾT LUẬN
Bài toán tương ứng Post ( Post’s Correspondence Problem ) là một bài toán
không có lời giải kinh điển. Nó là một lý thuyết không giới hạn không gian tìm kiếm,
dùng để phán đoán rằng có hay không một lời giải cho một trường hợp PCP cụ thể, và
tìm ra lời giải nếu chúng tồn tại.
Trong tập báo cáo này, chúng ta đã tìm hiểu được thế nào là một bài toán tương
ứng Post. Và, để chứng minh một bài toán không có lời giải P
1
, chúng ta có thể quy
P
2
- là bài toán không có lời giải, về P
1

.
Chúng ta cũng biết được rằng, sẽ dễ dàng quy L
u
về PCP hơn nếu chúng ta giới
thiệu một phiên bản trung gian của PCP, mà ta gọi là PCP đã sửa đổi, hay MPCP.
Trong PCP sửa đổi, có thêm một yêu cầu về lời giải mà cặp đầu tiên trong danh sách
A và B phải là cặp đầu tiên trong lời giải.
Bên cạnh đó, nắm được cách chứng minh định lý MPCP rút gọn về PCP và hoàn
thiện chứng minh PCP không có lời giải.
Trang
20

×