Dana Angluin'in normal kümeleri öğrenmek için algoritması üzerinde iyileştirmeler var mı


33

1987 tarihli final makalesinde Dana Angluin, bir DFA'yı üyelik sorgularından ve teori sorgularından (önerilen bir DFA'ya karşı örneklere) öğrenmek için polinom zaman algoritması sunar.

Eğer durumlu en az bir DFA öğrenmeye çalışıyorsanız ve en büyük sayım numaranızın uzunluğu , üyelik sorgusu ve en fazla teori sorgusu yapmanız gerektiğini gösterir .nmO(mn2)n1

Düzenli bir set öğrenmek için gereken sorgu sayısında önemli gelişmeler oldu mu?


Referanslar ve İlgili Sorular


Umarım, @DominikFreydenberger gelecekte bir noktada düşer. O öğrenecek.
Raphael

2
@LevReyzin'in cevabı da bileceğinden şüpheliyim ... ve bu yüzden başlangıçta cstheory'i sormayı düşündüm, ama sanırım bu yeni sitenin büyümesine yardım etmeliyim.
Artem Kaznatcheev

Sorunun cevabı değil, yine de faydalı olabilir: [ citeulike.org/user/erelsegal-halevi/article/9275508 Normal Dilleri Öğrenmek İçin Evrensel Bir Çekirdek]
Erel Segal-Halevi

Link @Erel için teşekkürler, ama nasıl bir ilişki olduğunu anlamıyorum. Kontorovich'in evrensel çekirdeği verimli bir şekilde hesaplanmıyor ve öğrenme modelinin ön örnekleri yok.
Artem Kaznatcheev

Yanıtlar:


15

Gelen onun cevabını cstheory.SE üzerinde, Lev Reyzin beni yönettiği Robert Schapire tezi bağlı geliştirir bölümünde 5.4.5 üyelik sorgular. Karşı örnek sorgu sayısı değişmeden kalır. Schapire'ın kullandığı algoritma, bir karşı-örnek sorgudan sonra ne yaptığına göre farklılık gösterir.O(n2+nlogm)


İyileştirmenin taslağı

En yüksek seviyede, Schapire kuvvetleri bir kapalı söz konusu Angluin algoritması ekstra durum için ( S , E , T ) ve her bir s , 1 , s 2S ise s 1s 2 daha sonra r o w ( s 1 ) r o w ( s 2 ) . Bu garanti eder | S |(S,E,T)(S,E,T)s1,s2Ss1s2row(s1)row(s2) ve ayrıca yapartutarlılıkkarşılamak için Angluin algoritması malıdır önemsiz. Bunu sağlamak için, bir karşı-örneğin sonuçlarını farklı şekilde ele alması gerekir.|S|n

Bir counterexample Verilen , Angluin basitçe eklendi z ve tüm önekler S . Schapire yerine tek unsur eklenerek daha ince bir şey yapar e kadar E . Bu yeni e yapacak ( S , E , T ) olmak üzere yapılan kapalı en az bir yeni dize tanıtmak ile kapatılması almak için Angluin en anlamında ve güncellemede S belirgin tüm satırları tutarken. Üzerinde koşul e geçerli:zzSeEe(S,E,T)Se

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

Burada çıkış fonksiyonu olduğu, q, 0 ilk durumu ve δ gerçek 'bilinmeyen' DFA güncelleme kuralı. Bir başka deyişle, e geleceğini ayırt etmek tanık olarak hizmet etmelidir s den s ' a .oq0δessa

ezriz=piri0|pi|=i<|z|sipilogm comes from) to find an k such that o(δ(q0,skrk))o(δ(q0,sk+1rk+1). In other words, rk+1 distinguishes two states that our conjectured machines finds equivalent and thus satisfies the condition on e, so we add it to E.


5

I do not know if my answer is still relevant. Recently it has been described the implementation of a new algorithm called Observation Pack or in some circumstances Discrimination Tree by Falk Howar. This algorithm is like L* but use Rivest-Shapire or a other method(see Steffen and Isberner) for handle counterexample decomposition; and it uses a data structure, a discrimination tree (a binary tree) for make efficiently a "sift" namely the insertion of a A-transition (where A is each symbol of alphabet) of a new state found until there isn't closedness. This algorithm exists in two versions: OneGlobally and OneLocally according to whether the suffix founded in the decomposition is added to each component or not (the ratio behind the algorithm is that all prefixes in a component are equivalent to a short prefix and represent the same state in the target according to suffixes found at this time. Later with a new counterexample a new suffix is found that discriminates at least 2 prefixes of a same component. This cause a split of that component in two component). With OneLocally there are far fewer membership query but the number of equivalence query can increase drastically with big target DFA. Rather OneGlobally has a number of membership query always lower than L* (but greater than OneLocally) and a similar number of equivalences queries than L*

I know that exists another algorithm too: TTT algorithm that is better than Observation Pack too but I don't have a good knowledge of it.TTT algorithm should be the state of art


Thank you for this answer! Do you have a paper reference for the Howar algorithm and for TTT?
Artem Kaznatcheev

This for Observation Packlink Howar and this for TTT algorithm link TTT You can find the implementation in LearLib (Observation Pack is called there Discrimination Tree)
Umbert
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.