এটি @ আইস ৫২৩ এর উত্তরের আরও বিকাশ , এটি কেবলমাত্র দুটি সেট বন্ধনীতে হ্রাস করে এবং গোলম্ব রুলার তত্ত্বের ভিত্তিতে আরও কমপ্যাক্ট সেল প্লেসমেন্ট ব্যবহার করে। ais523 এই নির্মাণের জন্য একটি সংকলক তৈরি করেছেন , পাশাপাশি এই টিআইও অধিবেশনটি একটি নমুনা দেখায় যাতে বিএফ প্রোগ্রাম টিউবএমএম কাউন্টারগুলির ডিবাগ ট্রেসিংয়ের সাথে চলছে।
আসলটির মতো, এটি জলপ্রপাতের মডেলটির একটি প্রোগ্রাম দিয়ে শুরু হয় , কিছু বিধিনিষেধের সাথে যা সাধারণতা হারায় না:
- সমস্ত কাউন্টারে একই স্ব-রিসেট মান ; যে TWM ট্রিগার মানচিত্র সম্পত্তি যে হয়েছে সবার জন্য ।Rff(x,x)=Rx
- একটি একক থামার কাউন্টার ।h
- কাউন্টারগুলির সংখ্যা হয় কিছু প্রাথমিক সংখ্যা ।c(p−1)/2p
গোলম্ব শাসক
প্রয়োজনীয় বৈশিষ্ট্য সহ গোলম্ব রুলারকে পেতে আমরা একটি ওয়েলচ – কাস্টাস অ্যারের পারমিটেশন ফাংশনটির সাথে এরদেস – তুরান নির্মাণকে একত্রিত করি ।
(আমি নিশ্চিত যে এই সম্মিলিত নির্মাণটি কোনও নতুন ধারণা হতে পারে না তবে আমরা উইকিপিডিয়া থেকে এই দুটি টুকরো সন্ধান করেছি এবং একসাথে ফিট করেছি))
যাক একটি আদিম শিকড় হতে । ফাংশন সংজ্ঞায়িত করুনrp=2c+1
g(k)=4ck−((rk−1)mod(2c+1)),k=0,…,2c−1.
- g একটি হল Golomb শাসক আদেশের । অর্থাৎ পার্থক্য স্বতন্ত্র সংখ্যার যে যুগল অনন্য ।2 গ ছ ( আমি ) - ছ ( ঞ ) আমি , ঞ ∈ { 0 , ... , 2 গ - 1 }2cg(i)−g(j)i,j∈{0,…,2c−1}
- g(k)mod(2c) প্রতিটি মান ঠিক একবারে গ্রহণ করে।0,…,2c−1
টেপ কাঠামো
প্রতিটি টিডব্লিউএম কাউন্টারে , আমরা দুটি বিএফ টেপ সেল অবস্থান নির্ধারণ করি, একটি ফ্যালব্যাক সেল এবং একটি মান ঘর :x∈{0,…,c−1}ইউ ( এক্স ) ভি ( এক্স ) u(x) v(x)
u(x)=g(k1)<v(x)=g(k2) with u(x)≡v(x)≡x(modc)
দ্বিতীয় সম্পত্তি দ্বারা সেখানে ঠিক দুই স্বতন্ত্র থেকে পছন্দ করে নিন মান।gk1,k2
একটি ফ্যালব্যাক সেলের সামগ্রীটি বেশিরভাগ সময় তে রাখা হবে , কেবলমাত্র তার কাউন্টারটি কেবল দেখা না করা ছাড়া, যখন এটি এ হবে তখন কাউন্টার স্ব-পুনরায় সেট করার মান দ্বিগুণ। সংশ্লিষ্ট টিডব্লিউএম কাউন্টারের দ্বিগুণ মানের একটি মান ঘর রাখা হবে।02R
বিএফ প্রোগ্রামের সম্পাদন (একটি সীমাবদ্ধ নম্বর) দ্বারা পৌঁছানো যায় এমন অন্যান্য সমস্ত কক্ষকে বিজোড় মানগুলিতে রাখা হবে, যাতে তারা সর্বদা ননজারো হিসাবে পরীক্ষা করে। আরম্ভের পরে এটি স্বয়ংক্রিয় কারণ সমস্ত ঘরের সমন্বয় সমান পরিমাণে।
যদি পছন্দসই হয় তবে প্রাথমিক বিএফ টেপ অবস্থানের বাম দিকে যেতে না দেওয়ার জন্য সমস্ত ঘরের অবস্থানগুলি একটি ধ্রুবক দ্বারা ডানদিকে ডানদিকে স্থানান্তরিত করা যায়।
বিএফ প্রোগ্রাম কাঠামো
যাক বিরাম কাউন্টার এর মান এবং ফলব্যাক কোষের মধ্যে দূরত্ব হবে | একটি সংখ্যা বৃহৎ যথেষ্ট হবে যে সমস্ত কাউন্টারের জন্য । তারপরে বেসিক বিএফ প্রোগ্রাম কাঠামোটি হ'লH=v(h)−u(h)NcN+1≥v((x+1)modc)−u(x)x
প্রারম্ভিককরণ সমন্বয়[
>
×(H+cN+1) [
<
×c × এইচ]
<
×H ]
আরম্ভ
আরম্ভের ফেজ সেট করে সব কোষ, তাদের প্রাথমিক মান প্রোগ্রাম দ্বারা পৌঁছানো অবস্থায় গত কাউন্টার যেন শুধু পরিদর্শন করা হয়েছে এবং মাত্র সক্রিয় কক্ষ তার ফলব্যাক সেল ছিল :u(c−1)
- মান কোষগুলি সংশ্লিষ্ট টিডব্লিউএম কাউন্টারটির প্রাথমিক কন্টেন্টের দ্বিগুণ হয়ে শুরু করা হয়, ব্যতীত টি পূর্ব হ্রাস করা হয়।0
- ফলব্যাক সেলগুলি সেল ব্যতীত সেট করা থাকে , যা সেট করা থাকে ।0u(c−1)2R
- প্রোগ্রামের মাধ্যমে অ্যাক্সেসযোগ্য অন্যান্য সমস্ত কক্ষ (একটি সীমাবদ্ধ সংখ্যা) সেট করা আছে ।1
তারপরে টেপ পয়েন্টারটিকে আমরা প্রোগ্রামের প্রথমটিতে পৌঁছানোর আগে (সর্বদা অ-শূন্য সেল) অবস্থানে নিয়ে যাওয়া হয় ।u(c−1)−H[
বাইরের লুপের শুরু
বাহ্যিক লুপের পুনরাবৃত্তির শুরুতে, টেপ পয়েন্টারটি কোনও কাউন্টার জন্য বা ।u(x)−Hv(x)−Hx
যাক হতে দর্শন পাশে কাউন্টার।y=((x+1)modc)
আন্দোলনটি টেপ পয়েন্টারটিকে এমন অবস্থানে রাখে যা এবং এর বাম দিকে নয় ।>
×(H+cN+1)≡y(modc)v(y)
অভ্যন্তরীণ লুপ এখন একটি শূন্য ঘরের জন্য ধাপে বাম দিকে অনুসন্ধান করে । যদি পাল্টা শূন্য হয়, তবে এটি (শূন্য) মান ঘর এ থামবে ; অন্যথায় এটি ফ্যালব্যাক সেলটি ।[
<
×c সি ওয়াই ভি ( y ) আপনি ( y )]
cyv(y)u(y)
যে কোনও কক্ষটি পাওয়া যায় এটি নতুন সক্রিয় কোষে পরিণত হয় ।
সমন্বয়
সমন্বয় ফেজ সক্রিয় কক্ষের তাদের অবস্থান আপেক্ষিক উপর ভিত্তি করে টেপ বিভিন্ন কোষ সামঞ্জস্য করে। এই বিভাগে কেবলমাত্র +-><
আদেশ রয়েছে এবং তাই এই সামঞ্জস্যগুলি নিঃশর্তভাবে ঘটে। তবে, যেহেতু সমস্ত পাল্টা সম্পর্কিত কোষগুলি গোলম্ব রুলার প্যাটার্নে রয়েছে, বর্তমান সক্রিয় কোষের জন্য উপযুক্ত নয় এমন কোনও সামঞ্জস্য সমস্ত গুরুত্বপূর্ণ কোষকে মিস করবে এবং পরিবর্তে কিছু অপ্রাসঙ্গিক কক্ষকে সামঞ্জস্য করবে (এটিকে বিজোড় রেখে)।
সক্রিয় ও সমন্বিত ঘরের প্রতিটি সম্ভাব্য প্রয়োজনীয় জোড়ের জন্য প্রোগ্রামে পৃথক কোড অবশ্যই এতে অন্তর্ভুক্ত করতে হবে, একটি সক্রিয় ঘরের স্ব-সামঞ্জস্য ব্যতীত , যেহেতু সামঞ্জস্য কেবলমাত্র আপেক্ষিক অবস্থানের উপর ভিত্তি করে, অবশ্যই তাদের সকলের মধ্যে ভাগ করা উচিত।
প্রয়োজনীয় সমন্বয়গুলি হ'ল:
- পূর্ববর্তী কাউন্টারটির সেলটি দ্বারা ।u(x)−2R
- বর্তমান কাউন্টার এর ফলব্যাক সেল সামঞ্জস্যবিধান দ্বারা , ব্যতীত যদি বর্তমান সক্রিয় কক্ষের হয় এবং তাই আমরা বন্ধ করা উচিত নয়।u(y)2Rভি ( এইচ )v(h)
- পরবর্তী পাল্টা মান সেল সামঞ্জস্যবিধান দ্বারা (পাল্টা decrementing)।v((y+1)modc)−2
- যখন অ্যাক্টিভ সেলটি একটি মান ঘর (তাই কাউন্টার শূন্যে পৌঁছেছে), টিডব্লিউএম ট্রিগার মানচিত্র থেকে সমস্ত মান ঘর দ্বারা সামঞ্জস্য করুন । নিজেই দ্বারা সামঞ্জস্য হয় ।v(y)yv(z)2f(y,z)v(y)2R
প্রথম এবং দ্বিতীয় সমন্বয় উপরে সত্য যে সমস্ত সক্রিয় কোষ সমন্বয় আবশ্যক দ্বারা প্রয়োজনীয় তৈরি করা হয় নিজেদের একই মান, যা দ্বারা ফলব্যাক কোষ জন্য এছাড়াও মান কোষ জন্য, এবং এইভাবে। এই প্রস্তুতি এবং তারা ফিরে পেতে নিশ্চিত করার ফলব্যাক কোষ পরিষ্কার আপ প্রয়োজন উভয় মান এবং ফলব্যাক শাখায়।2R0
বাইরের লুপের সমাপ্তি
আন্দোলনটি প্রতিনিধিত্ব করে যে সমন্বয় পর্বের শেষে টেপ পয়েন্টারটি সক্রিয় ঘরের বামে স্থানগুলিতে সরানো হয় ।<
×HH
থামানো কাউন্টারের মান সেল ব্যতীত অন্য সমস্ত সক্রিয় কোষের জন্য , এটি একটি অপ্রাসঙ্গিক ঘর এবং তাই বিজোড় এবং অ-শূন্য এবং বাইরের লুপটি অন্য পুনরাবৃত্তির জন্য অবিরত থাকে।v(h)
জন্য , পয়েন্টার পরিবর্তে তার সংশ্লিষ্ট ফলব্যাক সেল স্থাপন করা হয় চূড়ান্ত মাধ্যমে যাতে প্রোগ্রাম প্রস্থান করে, যার জন্য আমরা একটি ব্যতিক্রম শূন্য রাখার উপরে তৈরি করা হয়েছে এবং এবং বন্ধ হয়ে যাবে।v(h)u(h)]