নিয়মিত সেট শেখার জন্য ডানা অ্যাংলুইনের অ্যালগরিদমের কোনও উন্নতি আছে কি?


33

তার 1987 এর শেষ কাগজে ডানা অ্যাংলুইন সদস্যপদ অনুসন্ধান এবং তত্ত্বের প্রশ্নগুলি (প্রস্তাবিত ডিএফএর প্রতিবিম্ব) থেকে ডিএফএ শেখার জন্য একটি বহুবর্ষীয় সময়ের অ্যালগরিদম উপস্থাপন করেন।

তিনি দেখিয়েছেন যে আপনি যদি স্টেটগুলির সাথে একটি ন্যূনতম ডিএফএ শিখতে চাইছেন এবং আপনার বৃহত্তম প্রতিরূপ দৈর্ঘ্য তবে আপনাকে সদস্যপদ-কোয়েরি করতে হবে এবং সর্বাধিক এন - 1 তত্ত্ব-কোয়েরি করতে হবে।nmO(mn2)n1

নিয়মিত সেট শিখতে প্রয়োজনীয় প্রশ্নের সংখ্যাতে কি উল্লেখযোগ্য উন্নতি হয়েছে?


তথ্যসূত্র এবং সম্পর্কিত প্রশ্ন


আশা করি, @ ডোমিনিকফ্রেডেনবার্গার ভবিষ্যতের কোনও এক সময় কমে আসবেন। সে জানবে।
রাফেল

2
আমি সন্দেহ করি যে @ লিভেরাইজিন উত্তরটিও জানতেন ... এবং এ কারণেই আমি মূলত সিস্টেরিতে জিজ্ঞাসা করা বিবেচনা করেছি, তবে আমার ধারণা এই নতুন সাইটটি বাড়ানোর ক্ষেত্রে আমার সহায়তা করা উচিত।
আর্টেম কাজনাটচিভ

প্রশ্নের উত্তর না হলেও এটি এখনও সহায়ক হতে পারে: [ citeulike.org/user/erelsegal-halevi/article/9275508 নিয়মিত ভাষা শেখার জন্য একটি ইউনিভার্সাল কার্নেল]
এরেল সেগাল-হালেভি

লিঙ্কের জন্য ধন্যবাদ ইরেল, কিন্তু এটি কীভাবে সম্পর্কিত তা আমি বুঝতে পারি না। কনটোরোভিচের সর্বজনীন কার্নেল দক্ষতার সাথে গণনাযোগ্য নয়, এবং শেখার মডেলটির পাল্টা উদাহরণ নেই।
আর্টেম কাজনাটচিভ

উত্তর:


15

ইন তার উত্তর cstheory.SE উপর, লেভ Reyzin আমাকে নির্দেশ রবার্ট Schapire থিসিস আবদ্ধ উন্নত যে অধ্যায় 5.4.5 মধ্যে সদস্যপদ প্রশ্নের। কাউন্টারিকামে প্রশ্নের সংখ্যা অপরিবর্তিত রয়েছে। অ্যালগরিদম স্কাপায়ার একটি কাউন্টারেরেক্সাম কোয়েরির পরে এটি কী করে তা ব্যবহার করে তার থেকে আলাদা fersO(n2+nlogm)


উন্নতির স্কেচ

উচ্চ স্তরে, শ্যাচাপায়ার অ্যাংলুইনের অ্যালগরিদম থেকে অতিরিক্ত শর্ত রয়েছে যে একটি বন্ধ ( এস , , টি ) এবং প্রতিটি এস 1 , এস 2এস যদি এস 1s 2 হয় তবে আর W ( গুলি 1 ) W ( গুলি 2 ) । এটি গ্যারান্টি দেয় | এস |(S,E,T)(S,E,T)s1,s2Ss1s2row(s1)row(s2) এবংঅ্যাঙ্গলুইনের অ্যালগরিদমকেসামঞ্জস্যকরার জন্যসামঞ্জস্যেরসম্পত্তিটিকেও তুচ্ছ করেতোলে। এটি নিশ্চিত করতে তাকে কাউন্টারেক্সেমালামের ফলাফলগুলি আলাদাভাবে পরিচালনা করতে হবে।|S|n

একটি counterexample দেওয়া , Angluin কেবল যোগ z- র এবং তার সব উপসর্গ এস । Schapire পরিবর্তে একটি একক উপাদান যোগ করে বেশি সূক্ষ্ম কিছু আছে করতে । এই নতুন করতে হবে ( এস , , টি ) না করা বন্ধ Angluin এর অনুভূতি এবং আপডেটে অবসান করতে অন্তত একটি নতুন স্ট্রিং পরিচয় করিয়ে দিয়ে পেতে এস সব সারি স্বতন্ত্র পালন করার সময়। ই- তে শর্তটি হ'ল:zzSeEe(S,E,T)Se

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

Where o is the output function, q0 is the initial state, and δ the update rule of the true 'unknown' DFA. In otherwords, e must serve as a witness to distinguish the future of s from sa.

To figure out this e from z we do a binary search to figure out a substring ri such that z=piri and 0|pi|=i<|z| such that the behavior of our conjectured-machine differs based on one input character. In more detail, we let si be the string corresponding to the state reached in our conjectured machine by following pi. We use binary search (this is where the logm 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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.