Giải thuật tìm kiếm

Một phần của tài liệu MÔ HÌNH ôtômát hữu hạn TRONG hệ THỐNG DỊCH tự ĐỘNG ANH VIỆT (Trang 51 - 55)

Từ trạng thái tìm kiếm xuất phát được hình thành như định nghĩa phía trên, cùng với các toán tử và trạng thái kết thúc, quá trình tìm kiếm được thực hiện để tìm ra trạng thái kết thúc có chi phí nhỏ nhất. Là điều kiện xuất phát, một cận trên của chi phí phải được đưa ra, chính là ngưỡng khoảng cách nhân với tổng của độ dài câu đầu vào và câu ví dụ trong đồ thị.

a. Hàm đánh giá

52

là chi phí từ trạng thái ban đầu đến trạng thái s, chính bằng chi phí của trạng

thái svà có thể được tính từ s.paths. Nếu s là trạng thái kết thúc, . là cận dưới của chi phí để đi từ trạng thái s tới trạng thái kết thúc.

- Tất cả các câu trong đồ thị có cùng số từ nội dung và số từ chức năng. Vì thế, có thể dễ dàng xác định được số từ nội dung trong đồ thị, số từ nội dung trong câu đầu vào, số từ chức năng trong đồ thị, và số từ chức năng trong câu đầu vào mà chưa được xử lý tại trạng thái s. Gọi các số đó lần lượt là

. Cận dưới của chi phí sẽ được tính dựa vào số các từ chưa được xử lý, được ký hiệu là bên dưới.

- Hơn nữa, với giả sử rằng một trong các toán tử E, S, I và D đã được áp dụng cho trạng thái s mà có thể đã được áp dụng toán tử D trước đó nếu cần thiết, cận dưới

của chi phí từ s tới trạng thái đích được ký hiệu bằn với o biểu thị một

toán tử. Giá trị của được định nghĩa sau đâu với mỗi loại toán tử o.

 Toán tử E: .

 Toán tử S: cộng với chi phí nhỏ nhất của bản ghi S.

 Toán tử I:

o nếu đầu của

s.input là từ nội dung,

o nếu ngược

lại.

 Toán tử D:

o nếu không có cạnh nào có đỉnh đầu là s.node và nhãn là

53

o nếu không có cạnh nào có đỉnh đầu là s.node và nhãn là

một từ nội dung,

o nếu ngược lại, với:

- Bằng việc sử dụng các giá trị trên, h”(s) được định nghĩa như là: (1) h”(s,E) nếu s.trans là toán tử E

(2) giá trị nhỏ nhất giữa h”(s, S),h”(s,I) và h”(s,D)nếu s.trans là toán tử S (3) giá trị nhỏ nhất giữa h”(s,I) và h”(s,D) nếu s.trans là toán tử NIL.

b.Thuật toán

Thuật toán tìm kiếm được mô tả bên dưới sử dụng OPEN là danh sách các trạng thái chưa được mở rộng và CLOSED là các trạng thái đã được mở rộng. Hai trạng thái giống nhau ở bước (5) có nghĩa là chúng có giá trị giống nhau ở mọi thuộc tính trừ thuộc tính paths.

(1)Đặt giá trị của giới hạn cận trên và gọi OPEN là danh sách chỉ bao gồm trạng thái xuất phát.

(2)Kết thúc trừ khi OPEN có một đỉnh có chi phí không vượt quá cận trên. (3)Lấy một đỉnh s có giá trị nhỏ nhất của f” ra khỏi OPEN và đặt s vào

CLOSED.

(4)Nếu s là trạng thái kết thúc, giữ s làm một lời giải, cập nhật giá trị cận

trên bằng giá trị của s và quay lại bước (2).

(5)Mở rộng s thành các trạng thái kế tiếp và với mỗi trạng thái kế tiếp s’,

nếu f”(s’) không vượt quá cận trên, thực hiện theo các nhánh điều kiện sau:

a. Nếu không có trạng thái nào giống s’ ở cả OPEN lẫn CLOSED,

đưas’ vào OPEN.

b. Nếu có một trạng thái giống s’ nhưng có chi phí lớn hơn chi phí của s’ ở OPEN hoặc CLOSED, xóa bỏ nó và đưa s’ vào OPEN.

54

c. Nếu có một trạng thái giống s’ có chi phí bằng chi phí của s’ ở

CLOSED, xóa bỏ nó và đưa s’ vào OPEN.

d. Nếu có một trạng thái giống s’ có chi phí bằng chi phí của s’ ở

OPEN, thêm các đường đi trong s’.paths vào thuộc tính paths của trạng thái đó.

(6)Trở lại bước (2).

c. Tối ưu

Đồ thị từ thường có một lượng các cạnh bắt nguồn từ đỉnh xuất phát nhiều hơn so với các đỉnh khác. Vì thế, khi toán tử D được áp dụng cho một trạng thái có thuộc tính node là đỉnh xuất phát, rất nhiều đỉnh kế tiếp được sinh ra làm tốn kém thời gian xử lý, đây là trường hợp mà đầu của chuỗi so khớp là một bản ghi loại D. Lần này, khi toán tử D được áp dụng cho một trạng thái có đỉnh là đỉnh xuất phát, trạng thái này được mở rộng thành trạng thái kế tiếp có đỉnh là đỉnh giả đầu tiên. Đỉnh giả đầu tiên này (minh họa hình 3.5) là đỉnh đầu của các cạnh có nhãn là từ thứ hai trong các câu ví dụ, và các cạnh này đi vào luồng đồ thị bình thường. Một trạng thái có đỉnh là đỉnh giả đầu tiên được mở rộng thành một trạng thái có đỉnh bình thường bằng toán tử E hay S, và thành một trạng thái có đỉnh là đỉnh giả thứ hai nhờ toán tử D.

55

Từ công tức của ngưỡng khoảng cách, ta có thể xác định được số bước đỉnh giả cần chuẩn bị. Gọi L là độ dài của câu ví dụ, d là số bản ghi loại D nằm ở đầu

chuỗi so khớp, như vậy câu đầu vào với khoảng cách nhỏ nhất cả thể là câu được tạo thành từ câu ví dụ bằng cách xóa đi d từ ở đầu. Từ đó rút ra khoảng cách nhỏ nhất có thể là . Nếu khoảng cách này lớn hơn ngưỡng giới hạn Θ, việc tìm kiếm có thể được dừng lại. Vì thế, với ràng buộc là d, từ dó rút ra . Số nguyên d lớn nhất thỏa mãn điều kiện này chính là số đỉnh giả cần phải chuẩn bị.

Một phần của tài liệu MÔ HÌNH ôtômát hữu hạn TRONG hệ THỐNG DỊCH tự ĐỘNG ANH VIỆT (Trang 51 - 55)