Có những cải tiến về thuật toán của Dana Angluin để học các bộ thông thường


33

Trong bài báo chuyên đề năm 1987 của cô, Dana Angluin trình bày một thuật toán thời gian đa thức để học DFA từ các truy vấn thành viên và truy vấn lý thuyết (đối chiếu với DFA được đề xuất).

Cô ấy cho thấy rằng nếu bạn đang cố gắng học một DFA tối thiểu với trạng thái và mẫu số lớn nhất của bạn có độ dài , thì bạn cần thực hiện các truy vấn thành viên và nhiều nhất là truy vấn lý thuyết.m O ( m n 2 ) n - 1nmO(mn2)n1

Đã có những cải tiến đáng kể về số lượng truy vấn cần thiết để tìm hiểu một bộ thông thường?


Tài liệu tham khảo và câu hỏi liên quan


Hy vọng, @DominikFreydenberger giảm xuống vào một lúc nào đó trong tương lai. Anh ấy sẽ biết.
Raphael

2
Tôi nghi ngờ @LevReyzin cũng sẽ biết câu trả lời ... và đó là lý do ban đầu tôi cân nhắc việc hỏi về cstheory, nhưng tôi đoán tôi nên giúp phát triển trang web mới này.
Artem Kaznatcheev

Không phải là một câu trả lời cho câu hỏi, nhưng vẫn có thể hữu ích: [ citeulike.org/user/erelsegal-halevi/article/9275508 Một hạt nhân phổ biến để học ngôn ngữ thông thường]
Erel Segal-Halevi

cảm ơn vì liên kết @Erel, nhưng tôi không hiểu nó liên quan như thế nào. Hạt nhân phổ quát của Kontorovich không thể tính toán một cách hiệu quả và mô hình học tập không có phản ứng mẫu.
Artem Kaznatcheev

Câu trả lời:


15

Trong câu trả lời của mình về cstheory.SE, Lev Reyzin đã hướng dẫn tôi đến luận án của Robert Schapire nhằm cải thiện các truy vấn thành viên trong phần 5.4.5. Số lượng truy vấn mẫu không thay đổi. Thuật toán Schapire sử dụng khác nhau về những gì nó thực hiện sau một truy vấn mẫu.O(n2+nlogm)


Phác thảo cải tiến

Ở cấp độ cao nhất, các lực Schapire từ thuật toán của Angluin có thêm điều kiện để đóng ( S , E , T ) và mỗi s 1 , s 2S nếu s 1s 2 thì r o w ( s 1 ) r o w ( s 2 ) . Điều này đảm bảo rằng | S |(S,E,T)(S,E,T)s1,s2Ss1s2row(s1)row(s2) và cũng làm chotính thống nhấttài sản của thuật toán Angluin của tầm thường để đáp ứng. Để đảm bảo điều này, anh ta phải xử lý các kết quả của một ví dụ khác nhau.|S|n

Cho một phản ví dụ , Angluin chỉ cần thêm z và tất cả các tiền tố của nó để S . Schapire làm điều gì đó tinh tế hơn bằng cách thay vì thêm một yếu tố duy nhất e để E . E mới này sẽ làm cho ( S , E , T ) không bị đóng theo nghĩa của Angluin và bản cập nhật để kết thúc với việc giới thiệu ít nhất một chuỗi mới cho S trong khi giữ cho tất cả các hàng khác biệt. Điều kiện trên e là:zzSeEe(S,E,T)Se

s,sS,aΣs.trow(s)=row(sa)ando(δ(q0,se))o(δ(q0,sae))

Ở đâu là chức năng đầu ra, q 0 là trạng thái ban đầu, và δ sự cai trị cập nhật của true 'vô danh' DFA. Nói cách khác, e phải làm nhân chứng để phân biệt tương lai của s với s a .oq0δessa

Để con số ra này từ z chúng ta thực hiện tìm kiếm nhị phân để tìm ra một substring r i như rằng z = p i r i0 | p i | = tôi < | z | sao cho hành vi của máy được phỏng đoán của chúng tôi khác nhau dựa trên một ký tự đầu vào. Cụ thể hơn, chúng ta để cho s i là chuỗi tương ứng với nhà nước đạt được trong máy phỏng đoán của chúng tôi bằng cách làm theo p i . Chúng tôi sử dụng tìm kiếm nhị phân (đây là nơi đăng nhập mezriz=piri0|pi|=i<|z|sipilogmko(δ(q0,skrk))o(δ(q0,sk+1rk+1)rk+1eE


5

Tôi không biết nếu câu trả lời của tôi vẫn còn liên quan. Gần đây, nó đã được mô tả việc thực hiện một thuật toán mới gọi là Gói quan sát hoặc trong một số trường hợp Cây phân biệt đối xử bởi Falk Howar. Thuật toán này giống như L * nhưng sử dụng Rivest-Shapire hoặc một phương thức khác (xem Steffen và Isberner) để xử lý phân tách mẫu phản; và nó sử dụng cấu trúc dữ liệu, cây phân biệt đối xử (cây nhị phân) để thực hiện "sàng lọc" một cách hiệu quả, cụ thể là chèn một chuyển tiếp A (trong đó A là mỗi ký hiệu của bảng chữ cái) của trạng thái mới được tìm thấy cho đến khi không có độ kín . Thuật toán này tồn tại trong hai phiên bản: OneGlobally và OneLocally tùy thuộc vào việc hậu tố được tạo ra trong phân tách có được thêm vào từng thành phần hay không (tỷ lệ đằng sau thuật toán là tất cả các tiền tố trong một thành phần đều tương đương với một tiền tố ngắn và thể hiện cùng một trạng thái trong mục tiêu theo các hậu tố được tìm thấy tại thời điểm này. Sau này với một ví dụ mới, một hậu tố mới được tìm thấy phân biệt ít nhất 2 tiền tố của cùng một thành phần. Điều này gây ra sự phân chia thành phần đó trong hai thành phần). Với OneLocally, có ít truy vấn thành viên hơn nhưng số lượng truy vấn tương đương có thể tăng mạnh với DFA mục tiêu lớn. Thay vào đó OneGlobally có số lượng truy vấn thành viên luôn thấp hơn L * (nhưng lớn hơn OneLocally) và số lượng truy vấn tương đương tương tự so với L * Sau đó với một ví dụ mới, một hậu tố mới được tìm thấy phân biệt ít nhất 2 tiền tố của cùng một thành phần. Điều này gây ra sự phân chia thành phần đó trong hai thành phần). Với OneLocally, có ít truy vấn thành viên hơn nhưng số lượng truy vấn tương đương có thể tăng mạnh với DFA mục tiêu lớn. Thay vào đó OneGlobally có số lượng truy vấn thành viên luôn thấp hơn L * (nhưng lớn hơn OneLocally) và số lượng truy vấn tương đương tương tự so với L * Sau đó với một ví dụ mới, một hậu tố mới được tìm thấy phân biệt ít nhất 2 tiền tố của cùng một thành phần. Điều này gây ra sự phân chia thành phần đó trong hai thành phần). Với OneLocally, có ít truy vấn thành viên hơn nhưng số lượng truy vấn tương đương có thể tăng mạnh với DFA mục tiêu lớn. Thay vào đó OneGlobally có số lượng truy vấn thành viên luôn thấp hơn L * (nhưng lớn hơn OneLocally) và số lượng truy vấn tương đương tương tự so với L *

Tôi biết rằng cũng tồn tại một thuật toán khác: thuật toán TTT tốt hơn cả Gói quan sát nhưng tôi không có kiến ​​thức tốt về nó. Thuật toán TTT phải là trạng thái nghệ thuật


Cảm ơn bạn cho câu trả lời này! Bạn có tài liệu tham khảo cho thuật toán Howar và cho TTT không?
Artem Kaznatcheev

Cái này cho liên kết Gói quan sát Howar và cái này cho liên kết thuật toán TTT TTT Bạn có thể tìm thấy việc triển khai trong LearLib (Gói quan sát được gọi là Cây phân biệt đối xử)
Umbert
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.