নীচে পুনরুক্তি সূত্রটি আপনার এনকোডিংটি সন্ধান করার জন্য আপনি যেভাবে ব্যবহার করতে পারেন:
এটি আরও কতগুলি উপাদান উপাদান রয়েছে এমন অংশ বিবেচনা করে প্রমাণিত হয় । যদি এর মধ্যে , তবে আমাদের কাছে তাদের জন্য পছন্দ রয়েছে এবং ভাগ করার জন্য পছন্দ রয়েছেBn+1=∑k=0n(nk)Bk.
n+1n−k(nn−k)=(nk)Bk
এটি ব্যবহার করে, আমরা যে কোনও বিভাজনকে মধ্যে একটি সংখ্যায় রূপান্তর করতে একটি পুনরাবৃত্ত আলগোরিদিম দিতে পারি । আমি অনুমান আপনি ইতিমধ্যে আকারের একটি উপসেট রূপান্তর একটি উপায় আছে এর সীমার মধ্যে একটি সংখ্যা (যেমন একটি অ্যালগরিদম পাস্কালের পুনরাবৃত্তি ) ব্যবহার করে একই পদ্ধতিতে পরিকল্পনা করা যেতে পারে ।n+10,…,Bn+1−1k{1,…,n}0,…,(nk)−1(nk)=(n−1k)+(n−1k−1)
ধরা যাক যে অংশে রয়েছে অন্যান্য উপাদান রয়েছে । তাদের কোডটি । Range of এর একটি পার্টিশনটি সেই সমস্ত উপাদানকে "সঙ্কুচিত" করে গণনা করুন । Recursively এটির কোড গনা । নতুন কোডটি হলn+1kC1{1,…,n−k}C2C=∑l=0n−k−1(nl)Bl+C1Bn−k+C2.
অন্য দিকে, একটি কোড , অনন্য মতো সন্ধান করুন
এবং
যেহেতু , এটা হিসেবে লেখা যেতে পারে , যেখানে । এখন অংশটি এমন কোড করে এবং of এর কোড করেCk∑l=0n−k−1(nl)Bl≤C<∑l=0n−k(nl)Bl,
C′=C−∑l=0n−k−1(nl)Bl.
0≤C′<(nk)Bn−kC1Bn−k+C20≤C2<Bn−kC1n+1C2{1,…,n−k}, যা পুনরাবৃত্তভাবে ডিকোড করা যায়। ডিকোডিংটি সম্পূর্ণ করার জন্য, আপনাকে পরবর্তী পার্টিশনটি "সঙ্কুচিত" করতে হবে যাতে এতে থাকা অংশে উপস্থিত সমস্ত উপাদান উপস্থিত থাকে ।n+1
এখানে কিভাবে একই কৌশল ব্যবহার করার জন্য একটি উপসেট এনকোড হয় এর আকারের , যাও recursively। যদি তবে কোডটি , সুতরাং ধরুন । যদি then থাকে তবে of এর সাইজের এর উপসেট হিসাবে of এর কোড হতে দিন ; কোড হয় । যদি ; এর সাইজের এর একটি উপসেট হিসাবে তবে কে কোড হতে দিন ; এর কোডS{1,…,n}kk=00k>0n∈SC1S∖{n}k−1{1,…,n−1}SC1n∉SC1Sk{1,…,n−1}Sহয় ।C1+(n−1k−1)
একটি কোড ডিকোড করার জন্য , দুটি ক্ষেত্রে আছে। যদি তারপর ডিকোড একটি উপসেট এর আকারের যার কোড হল , এবং আউটপুট । অন্যথায়, সাইজের of এর একটি উপসেট ডিকোড করুন যার কোড , এবং আউটপুট ।CC<(n−1k−1)S′{1,…,n−1}k−1CS′∪{n}S′{1,…,n−1}kC−(n−1k−1)S′