ইন তার উত্তর cstheory.SE উপর, লেভ Reyzin আমাকে নির্দেশ রবার্ট Schapire থিসিস আবদ্ধ উন্নত যে অধ্যায় 5.4.5 মধ্যে সদস্যপদ প্রশ্নের। কাউন্টারিকামে প্রশ্নের সংখ্যা অপরিবর্তিত রয়েছে। অ্যালগরিদম স্কাপায়ার একটি কাউন্টারেরেক্সাম কোয়েরির পরে এটি কী করে তা ব্যবহার করে তার থেকে আলাদা fersO(n2+nlogm)
উন্নতির স্কেচ
উচ্চ স্তরে, শ্যাচাপায়ার অ্যাংলুইনের অ্যালগরিদম থেকে অতিরিক্ত শর্ত রয়েছে যে একটি বন্ধ ( এস , ই , টি ) এবং প্রতিটি এস 1 , এস 2 ∈ এস যদি এস 1 ≠ s 2 হয় তবে আর ণ W ( গুলি 1 ) ≠ দ ণ W ( গুলি 2 ) । এটি গ্যারান্টি দেয় | এস |(S,E,T)(S,E,T)s1,s2∈Ss1≠s2row(s1)≠row(s2) এবংঅ্যাঙ্গলুইনের অ্যালগরিদমকেসামঞ্জস্যকরার জন্যসামঞ্জস্যেরসম্পত্তিটিকেও তুচ্ছ করেতোলে। এটি নিশ্চিত করতে তাকে কাউন্টারেক্সেমালামের ফলাফলগুলি আলাদাভাবে পরিচালনা করতে হবে।|S|≤n
একটি counterexample দেওয়া , Angluin কেবল যোগ z- র এবং তার সব উপসর্গ এস । Schapire পরিবর্তে একটি একক উপাদান যোগ করে বেশি সূক্ষ্ম কিছু আছে ই করতে ই । এই নতুন ই করতে হবে ( এস , ই , টি ) না করা বন্ধ Angluin এর অনুভূতি এবং আপডেটে অবসান করতে অন্তত একটি নতুন স্ট্রিং পরিচয় করিয়ে দিয়ে পেতে এস সব সারি স্বতন্ত্র পালন করার সময়। ই- তে শর্তটি হ'ল:zzSeEe(S,E,T)Se
∃s,s′∈S,a∈Σs.trow(s)=row(s′a)ando(δ(q0,se))≠o(δ(q0,s′ae))
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 s′a.
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.