1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Toán tin: Xây dựng chương trình minh họa hoạt động của các Ôtômat hữu hạn

35 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây Dựng Chương Trình Minh Họa Hoạt Động Của Các Ôtômat Hữu Hạn
Tác giả Lấ Thị Thu Hương
Người hướng dẫn Th.S: Nguyễn Ngọc Trung
Trường học Trường Đại Học Sư Phạm TP.HCM
Chuyên ngành Toán - Tin
Thể loại đồ án tốt nghiệp
Năm xuất bản 2006
Thành phố TP.HCM
Định dạng
Số trang 35
Dung lượng 27,2 MB

Nội dung

Dữ liệu cho chương trình hoạt động của ôtômat hữu hạn không tiền định.... Lí thuyết ôtômat hữu hạn đóng vai trò quan trọng trong mô hình hỏa toán học và cũng vì những lí do trên nhiều kh

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM

KHOA TOÁN - TIN

BỘ MÔN TIN

LÊ THỊ THU HƯƠNG

DO AN TOT NGHIỆP CỬ NHÂN SƯ PHAM TIN

TP.HCM , 2006.

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM

KHOA TOÁN - TIN

BO MON TIN

LÊ THỊ THU HƯƠNG

Giáo viên hướng dẫn : Th.s: NGUYEN NGỌC TRUNG

TP.HCM, 2006.

Trang 3

Lời cảm ơn

Sau gan hai tháng làm việc, cuối cùng thì em cũng đã hoàn thành được đỗ án tốt

nghiệp của mình Mặc dù, kiến thức trong dé án nảy chi là một phần nhỏ trong kho

tảng kiến thức của môn 6témat, nhưng đối với em đó là một thành công tuyệt vời Đó

là thành quả của gần hai tháng trời nghiên cứu học tập và làm việc Và xa hơn nữa,

chính là kết quả của bốn năm đèn sách dưới mái trường Đại Học Sư Phạm

Có được thành tựu dù không lớn nhưng nó cũng đã thẻ hiện phần nào sự quyết

tâm, có gắng của bản thân cũng như sự chỉ bảo tận tình của các thay cô đã dạy bảo emtrong suốt thời gian học vừa qua Em xin chân thành cảm ơn đến tat cả các thầy cô

trong trong Khoa Toán Tin, đặc biệt là Tổ Bộ môn Tin Học đã tận tình chi bảo,

truyền đạt những kinh nghiệm, kiến thức cho chúng em dé chúng em có được những cơ

sở kiến thức can thiết hoàn thành đô án này Những kỷ niệm, những ân tình mà các

thay đối với chúng em sẽ mãi là những kỷ niệm dep, chúng em sẽ mãi không bao giờ

quên Em xin chân thành cảm ơn thầy Nguyễn Ngọc Trung, thầy đã hướng dẫn em

hoàn thành tốt đồ án này.

Tuy đã rất cé gắng nhằm đạt được những gì tốt nhất cho đồ án này, nhưng dokiến thức có hạn nên dé án này nhất định sẽ có những khiếm khuyết cần được sửa

chữa Kinh mong các thay cô cùng các bạn đọc thông cảm và nhiệt tình đóng góp

những ý kiến nhằm khắc phục những khiếm khuyết của đồ án Qua đó, em sẽ củng cd

lại kiến thức của minh, khắc phục lại những sai lầm cũ, làm cho đô án này được mới

mé hơn, hừu ich hơn.

Một lan nữa, em xin gửi lời cảm ơn đến tat cả các Thay Cô đã dạy bao em trong

suốt thời gian qua Sự day bảo, đóng góp của các Thầy Cô chinh là những nên tảng cơ

bản nhất giúp chúng em có đủ tự tin trên bước đường hoàn thiện kiến thức của mình

Thành phố Hồ Chí Minh Ngày 15 tháng 06 năm 2006

LÊ THỊ THU HƯƠNG

Trang 4

DPA CANON ‡oztrcnrtetgtserlvftrgetaiytsttrrirttiangTA7E101300-E.IEIIDNTHREIIGE00RIATE1/008E |

2.2.M6 hình của một ôtômat hữu han (tiền định hoặc không tiền định) 5

2.3.Định nghĩa về ôtômat hữu hạn tiền định cseeecsseeccseeeseeeeseessesessneesssessseceuseeane §

2.3.1 Hoạt động của Ôtômat hữu hạn tiền định cceeiiiieo 6 2.3.2 Ví dụ về Ôtômat hữu hạn tiền định (cá nssieeirree 6 2.3.3 Định nghĩa : (để mô tả hình thức quá trình chap nhận một từ người ta đưavào ánh xạ mở rộng ổ' từ tập con của KxV” vào K) - scccccsseceeresrrree 72.3.4 Định nghĩa :( Nói lên điều kiện để ôtômat A có chấp nhận từ @) 82.4 Ôtômat hữu hạn không tién định .c ccssccessessesssseesssessecssesssecssesenecsseessseesseeeneeees 9

2.4.1 Dinh nghĩa ôtômat hữu hạn không tiền định : ‹ 9 2.4.2 Hoạt động của Ôtômat hữu han không tiền định -.- - 10 2.4.3 Ví dụ về Ôtômat hữu hạn không tiền định - c5 10

2.4.4 Định nghĩa :( Nói lên điều kiện để ôtômat A có chấp nhận từ @) 10

Chương 3: 'Ứng dụng nữnh họä «coosenosssssosennseeeeonossseensssrase 12

3.1 Chương trình hoạt động của ôtômat hữu hạn thên!O 0lirxecsuentreroiagraaicrenrrt 12

3.2 Dữ liệu cho chương trình hoạt động của ôtômat hữu hạn không tiền định 1§

3.3 Các lớp sử dụng trong chương trình -:‹:‹c:ccc sec sc cecScsecsrserrreererereerxee 16

3.4 Mô tả ứng dụng minh họỌa: «cà tết nghe HH ry 18

Trang 5

Chương 4 Danh giá dé tài và dé xuất hướng phát triển kế tiếp - . .- 27

4.1.Những kết quả đã dat được -:- t5 tt 22 1 22171127232211222722222122xccce 27

ADD xuái tưởng pi ht tebe aanreenarayeranannirrrrrrnrdiniindtiriiisiirnenrniattiasadi 27

Danhimucitarl liu thant KAO se siassiessesccssncsessvasacavevsavevsevasvavvansnvssseuavarreswanensanavisonenvenwsen 28

Phụ lục ee eeceecececcesccsscecesesecesscseecusesessceuecssessesacensesascaecsueeusceussacesesensesecaeseusearenscaceesees 29

Trang 6

Chương 1 Giới thiệu về đề tài.

l1 € ia dé tai:

Ngày nay lí thuyết về ngôn ngữ hình thức va ôtômat đóng vai trò quan trọngtrong việc thiết lập một số cơ sở lí thuyết toán học của nganh tin học và nghiên cứu của

các máy thông tin Ngôn ngữ hình thức còn được sử dụng trong việc xây dựng các

ngôn ngữ lập trình, lí thuyết về các chương trình dịch Vì vậy môn học này từ lâu đã là

môn học chuân trong chuyên ngành khoa học may tinh ở cap bậc dai học Do các

ôtômat hữu hạn này là các máy tưởng tượng dùng đẻ nhận biết lớp các ngôn ngữ đơn

giản rất cẩn thiết cho ngôn ngữ lập trình Lí thuyết ôtômat hữu hạn đóng vai trò quan

trọng trong mô hình hỏa toán học và cũng vì những lí do trên nhiều khi làm cho sinh

viên đôi khi cũng chưa hiểu rõ nguyên tắc hoạt động của các máy này dựa trên những

cơ sở đó nên em cũng muốn có một chúc gì góp phần giúp đỡ cho các bạn sinh viên

trong việc học môn ngôn ngữ hình thức và ôtômat hữu hạn.

1.2 Mục tiêu của đề tài :

+ Xây dựng tài liệu tham khảo cho sinh viên về Nhdp Món NGON NGỮ HÌNH

THỨC VÀ ÔTÔMAT HỮU HẠN

Xây dựng một ứng dụng minh họa (chương trình minh họa hoạt động của các

ôtômat hữu hạn)

1.3 Pham vi của dé tài:

Như trên đã nói, chú dé của đồ án này là xây dựng chương trình minh họa hoạtđộng của các ôtômat hữu hạn Do đó, chúng ta chỉ trình bày những kiến thức cơ bản

nhất mà qua đó sinh viên có thé đọc, hiểu và vận dụng vào việc học tập môn học

ôtômat và ngôn ngữ hình thức.Cụ thé hơn, chúng ta sẽ trình bay những van để sau đây :

+ Giới thiệu về Ôtômat Hữu Han(TIEN ĐỊNH VA KHONG TIEN ĐỊNH)

s»* Xây dựng ứng dụng minh họa chương trình hoạt động của các ôtômat hữu hạn.

Trang 7

A AGA

Chương2 Lý thuyết về ôtômat hữu han tiền định

và không tiền định

2.1 Ôtômat hữu han là gì:

Ôtômat hữu hạn là một bộ máy tưởng tượng dùng đẻ nhận biết lớp các ngôn ngữđơn giản nhưng rất cần thiết trong xây dựng các ngôn ngữ lập trình Lý thuyết Ôtômat

hừu hạn đóng vai trò quan trọng trong mô hình hóa toan học các phương pháp tính toán

và các phép xử lí thông tin Một Ôtômat hữu hạn bao gồm ba bộ phận chính sau đây :

* Mot bang trên đó có thé ghi một từ trên bộ chữ vảo gọi là băng vào.

* Một đầu đọc mỗi lan chi đọc được một kí hiệu và dịch chuyển sang phải một

vị trí.

* - Một tập hữu hạn các trạng thái điều khiển.

Mô hình của một ôtômat hữu hạn (tiền định hoặc không tiền định) :

2.3 Định nghĩa về ôtômat hữu hạn tiền định :

Ôtômat hữu hạn tiền định là bộ năm A=<K,V, 3, q,, F>, trong đó :

* K là tập hữu hạn khác rỗng các kí hiệu gọi là tập trạng thai,

Trang 8

*® 6 là một ảnh xạ từ một tập con nảo đó của KxV vào K.

Nếu ở là ánh xạ từ KxV vào K (xác định trên toàn miền KxV) thì ôtômat

A được gọi là xác định hoàn toàn :

a

Hoạt động của Otémat có thê mô tả như sau Giả sử chúng ta cần xem xét

từ @ =a)ap a, Trước hết ghi từ œ lên băng vao của ôtômat A ở vị trí a, trên băng và ôtômat A xuất phát từ trang thái qạ Anh xạ chuyên trang

thai ðở quyết định trạng thải hiện hành tiếp theo, chẳng hạn, ta có p= ở (qo,4)) va dau doc chuyén sang phải một vi tri ki hiệu để đọc kí hiệu ap.

khi đầu đọc ở vị tri a; ánh xa chuyén trạng thái ở xác định trang thái tiếp

theo, chăng hạn, ta có p;= ổ (p),a2) và quá trình đọc các kí hiệu a), ả;,

tiếp tục cho đến khi gặp một trong các tình huống sau (điều kiện dừng,

của hoạt động) :

+ _ Trong trường hợp ôtômat A đọc hết từ @ và ở (p,,an)=p„ € F

ta nói rằng A chấp nhận từ ø.

+ Trong trường hợp ôtômat A đọc hết từ @ và ở(pai,ân)=paeF,

hoặc là tôn tại chỉ số j (j<=n) sao cho ở (P,.¡,a,) không xác

định ta nói rằng A không chp nhận từ ø2.

Ví dụ về Ôtômat hữu hạn tiền định :

Cho một Ôtômat hữu hạn tiền định là bộ năm:

A“<{qo.q›,q:1,(0,1}, ở, qo,{q;†>

Trong đó 5 được định nghĩa như sau :

Trang 9

ở (qo.0)=qo ổ(qo,Ì)=qì ô(q:,0)=qu,

6 (q),1)=42 ð(q;,0)=qo ô(q;,1)=q;

-2.3.3 Định nghĩa : (để mỏ tả hình thức quá trình chấp nhận một từ người ta

đưa vào ánh xạ mở rộng ổ từ tap con của KxV` vào K)Cho Ôtômat hữu hạn tiền định A=<K,V, ở, qo, F> Mở rộng ở của ở làmột ánh xạ từ tập con của KxVỶ vào K, được xác định như sau

1 đ(q, £)=q với mọi qek và e là từ rỗng,

2 ổ(q, wa)= (ổ(q, @),a) với Vae V và VqeK, Vøe VÌ sao

cho 6 (q, œ) xác định.

Với VaecV và VqeK ta có :

5 (q, a)" 5 (q, €a)= 5( 5 (q, £),a)= ổ(q,a) Do đó trên KxV ta có

thé đồng nhất 5 với 5 Nếu không can phân biệt ta viết 5 thay cho

ở' Trong trường hợp nảy ở (q, ø@)=ở (q, ø) nếu øeV”.

Ví dụ tương ứng (2.3.3) :

Với ôtômat A cho trong vi dụ 2.3.2 ta cỏ :

5 (qo, 011011) = 5 (8 (qo, 01101),1) (1)

& ( qo, 01101) = 5 (5 (qo, 0110),1) (2)

& ( qo, 0110) = 5 (5 (qo, 011),1) (3)

& ( qo, 011) = 5 (5 (q, 01),1) (4)

5 (qo, 01) = ð (8 (qo, 9),1) (5)

ở (qo, 9) = ð (40,0) = qo (6)

Thay (6) vào (5) ta có :

ð( qo, 01) = ô (5 (go, 0).1)= ổ(qo,1)= qi(7)

Thay (7) vào (4) ta có: 5 (qo, 011) = ở (q),1) Tiếp tục như vậy

cudi cùng ta có : ổ( qo, 011011) = qạ

Trang 10

2.3.4 Định nghĩa : ( Nói lên điều kiện dé ótômat A có chấp nhận từ w)

Cho Ôtômat hữu hạn tiền định A=<K,V, ở, qo, F> và một từ we V” Tanói rằng A chấp nhận œ ( hay @ được chấp nhận bởi A) nếu và chỉ nếu

ð(qu, @) € F.

Hay nói cách khác A chấp nhận từ @ nếu w=a)ap a, và tổn tại một day

các trạng thai p;, po, , py sao cho 6 (qo,a1)=p1, ổ(P¡,42)EP:.: O (Pais

8a)=pạ € F.

Vi dụ tương ứng với định nghĩa 2.3.4 :

Cho một Ôtômat hữu hạn tiền định là bộ năm:

A=<(qa,q¡,q›}.{0,1}, ở, qo, {qa,q2}>

Trong đó 5 được định nghĩa như sau :

ð(qo.0)=qo ô(qo,l)=q: 5 (q1,0)=q , ô(q¡,l)Zq¡ ô(q›,0)=q; ð(q;,l)=qo

Xét từ w= 001110 Ta có :

5 ( qo, 001110) = 8 (ô (qo, 00111),0),

8 ( qo, 00111) = & (8 (qo, 0011),1),

& ( qo, 0011) = ở (8 (qo, 001),1),

(qo, 00111) = ở (8 (qo, 0011),1)=ð (qi, 1) #Qì,

8 (qo, 001110) == 8 (8 (qo,00111),0)= ö (qy, 0) =qg.

Trang 11

Vì q; là một trong những trạng thái kết thúc nên ta có thé nói rằng từ @

được chấp nhận bởi ôtômat A

Trong Ôtômat hữu hạn tiền định ánh xạ ở là một ánh xạ đơn trị có nghĩa

là tại mỗi thời điểm 6 (q,a) hoặc là không xác định hoặc là trạng thái p nào đó.

Bây giờ ta xét trường hợp ánh xa 6 là đa trị, có nghĩa là, tại mỗi thời điểm

ồ(q.a) có giá trị là tập hợp con của các trạng thái Một cách hình thức ta có thê

định nghĩa như sau :

Ôtômat hữu hạn không tiền định là bộ năm A=<K,V, ở, qu F>, trong đó :

* K là tập hữu hạn khác rỗng các ki hiệu gọi là tập trang thái,

* V là tập hữu hạn các ki hiệu gọi là bảng chữ vao,

* qe K là trạng thái đầu

* FC K là tập các trạng thái kết thúc,

* & là một ảnh xạ từ KxV vào :⁄2K) ( tập các con của k), gọi là ánh xạ

chuyển trạng thái Có nghĩa là với q eK ,a € V, 3(q,a)={p),

P2. Dx}, trong đó p; eK với mọi i (i = 1,2, , k).

Nếu ổ(q.a)= {pj, P› p} thì ta nói rằng dtémat ở trạng thái q gặp kíhiệu a có thể chuyển đến một trong các trang thái p), p; py Nếu

6 (q,a)={p} thì ở trạng thái q gặp ki hiệu a ôtômat chi chuyển một trạng

thái duy nhất p Nếu 4(q,a)= Ø thi trạng thái q gặp kí hiệu a không théchuyên đến trạng thái nào Trường hợp này tương tự như ở(q,a) khôngxác định của Ôtômat hữu hạn tiền định Như vậy ta thấy rằng có thể xemÔtômat hữu hạn tiễn định là một Ôtômat hữu hạn không tiền định Hay

Trang 12

tiếp theo là p), pz px Tiếp tục với mỗi p, (¡=1,k) và kí hiệu tiếp theo là

a) các trạng thải tiếp theo có thẻ là ð (p),a2)U 6 (p2,a2)U U ở (p82)

={ri,r;, ,r¿} quá trình này tiếp tục cho đến khi gặp một trong các tìnhhuống sau (điều kiện dừng của hoạt động) :

* Tập trạng thái tiếp theo sau khi đọc a; nào đó là rỗng lúc đó ta

nói rằng A không chấp nhận @

* Tap trang thái tiép theo sau khi đọc kí hiệu a, là K" và

K'¬Fz Ø Khi đó ta nói rằng A chấp nhận từ ø.

Ví dụ về Ôtômat hữu hạn không tiền định :

Cho một Ôtỏmat hữu hạn :A=<{qo,qi.q¿},(0,1},ổ , qo,{qa}> , trong đó

ð được xác định như sau :

5 (qo,0)= {qo} ô(qo,l)= {qoq›} ð(qi,0)= Ø2,

5 (qi,1)" {q2} 5 (42,0) {qa} 6 (q2,1)= {qi}

-Là không tiền định

Định nghĩa :( Noi lên điều kiện để 6témat A có chap nhận từ w)

Cho Ôtômat hữu hạn không tiễn định A=<K,V, ở, qạ,F>

1 Một từ @ gọi là được chấp nhận bởi A nếu và chỉ néu

5(q0,@) ¬F# Ø.

-lũ0=

Trang 13

2 Ngôn ngữ được chap nhận bởi A là T(A)E {@ eV": ổ(qo, @)

F# Ø }.

Ví dụ tương ứng với định nghĩa 2.4.4 :

Cho Ôtômat hữu hạn không tiền định A=<{qo.q.q›}.{0,1} ở , qo.(qo}>,

trong đó ánh xạ dịch chuyên trạng ở được xác định như sau :

ở(qo0)={quqj} — ổ(qe.l)= {qo} ổ(qi,0)= {q0 đi),

5(q0,0100) = 5 (qa0) x2 5 (41,0) = {qu, qi Qa}

5 (qo,01000) = ô(qa,0) t2 5 (qi,0) c2 ô (q2,0) = {qo, G1,

G2}-Vi 6 (qo,01000) AF # Ø nên từ 01000 eT(A).

Bang phương pháp tương ty định nghĩa trên ta có thé vẽ sơ đồ dịch

chuyên trạng thái cho Otémat hữu han không tiền định Trong trường

hợp này, nếu ở (q,4)“ {p), Pz ,Px} thì có các cạnh ki hiệu a đi từ nút qđến các nút p), pạ, p„ chẳng hạn, đối với ôtômat A trong ví dụ trên ta

có thẻ vẽ sơ dé dịch chuyên trạng thái như sau :

Trang 14

Ca b

Chương 3 Ứng dụng minh họa

của ôtômat hữu han tiền định :

+ Dữ liệu vào : ( nhập diz liệu)

° Nhập tổng số trạng thái i của K từ đó chúng ta xuất ra được tương ứng

các trạng thái từ qo, qị,- Gia- — „.

Nhập tổng số bảng chữ vào j từ đỏ xuất ra được các chữ trong bảng chữ

vào tương ứng từ 0, Ì, , G-1).

Nhập tổng số trạng thái kết thúc : trạng thái kết thúc phải thuộc tập các

trạng thái va các trạng thai kết thúc không được trùng nhau

Nhập ánh xạ đelta sao cho các ánh xạ phải thuộc tập các trạng thái

Nhập tông số kí của từ can đọcNhập từng kí tự của từ cần đọc sao cho các từ nảy phải thuộc vào bảngchữ vào (néu nhập sai chương trình bắt nhập lai)

+ Hoạt động :

© Thiết kế màn hình đồ họa : chia ra làm 3 khung trong đỏ có khung mô

tả họat động gồm có word mới được nhập vào và các trạng thái, khung

Trang 15

-12-thứ hai là khung thong kê gồm có tập các trang thái kết thúc, bang chữ

vào và bảng thé hiện anh xa delta, khung còn lại có mục đích giới thiệu

cách thức làm việc của chương trình và giới thiệu đôi nét về bản thân

Trong đó có một số hàm như sau :

Ham vcanhxa() : dùng dé vẽ bảng ánh xa delta lên màn hình đồ họa.Hàm vebangchuvao() : dùng để vẽ bảng chữ vào lên mản hình đồ họaHàm vetrangthai() : dùng đẻ vẽ tập các trạng thái trên khung hoạt

động

Hàm vechuvao() : dùng dé vẽ từ cần đọc Còn một số hàm cụ thé nữa

sẽ được giới thiệu trong phần sau

o_ Minh họa cách ôtômat tiền định đọc từ mới nhập vào

* Phương thức hoatdong() trong lớp Automattiendinh minh họa

cách ôtômat đọc từ :

/¡ Đoạn code thé hiện cách thức hoạt động của ôtômat hữu hạn tiền

định int kq,i = 0,q = 0;

while(1)

{

while(i<tông số kí tự của từ)

{ /ƒIìm ánh xạ delta(trang thai, kí tự trong từ)

kq = delta[q](wordint[i]], /[q] : trạng thái, wordim{i]: Kí tự trong từ.

VE đường thăng thể hiện sự kết hợp của trạng thái với kí tự

trong từ

setcolor(5);

line(q*30+110,300,1%30+1 10,120);

ke

Trang 17

outtextxy(350,70," Word duoc Automat chap nhan”);

else outtextxy(350,70,"Word khong duoc Automat chap nhan”);

+ Kết quả màn hình ứng dụng : kết quả thu được là từ có được ôtômat chấp

nhận hay không.

3.2 Dữ liệu cho chương trình hoạt động của ôtômat hữu hạn không tiền định :

+ Lớp ôtômat hữu hạn không tiền định kế thừa từ lớp ôtômat hữu hạn tiền

định Nên có một số phần không thay đổi thi lớp nay kẻ thừa từ lớp ôtômat

hữu hạn tiền định

= Bis

Ngày đăng: 04/02/2025, 15:02

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

TÀI LIỆU LIÊN QUAN

w