আপনি হ্যামিং দূরত্বের উপর ভিত্তি করে অবস্থানের পরিবারগুলির পক্ষে তাদের nessশ্বর্য, নমনীয়তা এবং গণনামূলক ট্র্যাকটেবিলিটির পক্ষে পক্ষে থাকতে পারেন ।
স্বরলিপি এবং সংজ্ঞা
স্মরণ করুন যে ভিত্তিতে সহ একটি নিখরচায় সীমাবদ্ধ মডিউল , দুটি ভেক্টরের মধ্যে হামিং দূরত্ব এবং হয় যেখানে সংখ্যা ।V(e1,e2,…,eJ) δHv=v1e1+⋯+vJeJw=w1e1+⋯+wJeJivi≠wi
কোনও উত্স , হামিং দূরত্বের পার্টিশন কে গোলক , , যেখানে । যখন মাটিতে রিং আছে উপাদান, হয়েছে উপাদান এবং হয়েছে উপাদান। (এটি উপাদানগুলি ঠিক জায়গাগুলিতে from এর থেকে পৃথক হয়ে পর্যবেক্ষণ করার সাথে সাথে অনুসরণ করে - যার মধ্যে are রয়েছেv0∈VVSi(v0)i=0,1,…,JSi(v0)={w∈V | δH(w,v0)=i}nVnJSi(v)(Ji)(n−1)iSi(v)vi(Ji)সম্ভাবনা - এবং স্বতন্ত্রভাবে, প্রতিটি জায়গার জন্য মানগুলির পছন্দ রয়েছে)n−1
তে সংযুক্ত অনুবাদ লোকেশন পরিবারগুলিকে দেওয়ার জন্য বিতরণে স্বাভাবিকভাবে কাজ করে। বিশেষ করে, যখন কোন বন্টন হয় (যার মানে সামান্য বেশি , সবার জন্য , এবং ) এবং কোন উপাদান , তারপর একটি বিতরণ হয় কোথায়VfVf:V→[0,1]f(v)≥0v∈V∑v∈Vf(v)=1wVf(w)
f(w)(v)=f(v−w)
সমস্ত for এর জন্য । একটি অবস্থান পরিবার utions বিতরণের এই ক্রিয়াকলাপের অধীনে অবিচ্ছিন্ন: সমস্ত জন্য বোঝায় ।v∈V Ωf∈Ωf(v)∈Ωv∈V
নির্মাণ
এটি আমাদের বিতরণের সম্ভাব্য আকর্ষণীয় এবং দরকারী পরিবারগুলির একটি নির্দিষ্ট ভেক্টর at এ তাদের আকার নির্দিষ্ট করে সংজ্ঞা দিতে সক্ষম করে , যা সুবিধার জন্য আমি আর এই "উৎপাদিত ডিস্ট্রিবিউশন" এর কর্ম অধীনে অনুবাদ সপরিবারে প্রাপ্ত । পছন্দসই সম্পত্তি অর্জনের জন্য নিকটস্থ পয়েন্টগুলিতে তুলনামূলক মান থাকতে হবে, কেবলমাত্র সমস্ত উত্পাদক বিতরণের সেই সম্পত্তি প্রয়োজন।v0=(0,0,…,0)VΩf
এটি কীভাবে কাজ করে তা দেখতে, আসুন ক্রমবর্ধমান দূরত্বের সাথে হ্রাস হওয়া সমস্ত বিতরণের লোকেশন পরিবারটি তৈরি করুন। কারণ শুধুমাত্র Hamming দূরত্বের সম্ভব, অ নেতিবাচক বাস্তব সংখ্যার কোনো কমে ক্রম বিবেচনা = । সেটJ+1a0≠a0≥a1≥⋯≥aJ≥0
A=∑i=0J(n−1)i(Ji)ai
এবং দ্বারা ফাংশনটি সংজ্ঞায়িত করুনfa:V→[0,1]
fa(v)=aδH(0,v)A.
তারপরে, যাচাই করা সহজবোধ্য হিসাবে, উপর বিতরণ । তদ্ব্যতীত, যদি এবং কেবল যদি of (ভেক্টর হিসাবে ।)। সুতরাং, আমরা যদি পছন্দ করি তবে আমরা কে করতে ।faVfa=fa′a′aRJ+1aa0=1
তদনুসারে, এই নির্মাণটি হ্যামিং দূরত্বের সাথে হ্রাস পাচ্ছে এমন সমস্ত অবস্থান-আক্রমণকারী বিতরণগুলির একটি সুস্পষ্ট প্যারামিটারাইজেশন দেয়: এ জাতীয় কোনও বিতরণ আকারে কিছু ক্রমের জন্য রয়েছে এবং কিছু ভেক্টর ।f(v)aa=1≥a1≥a2≥⋯≥aJ≥0v∈V
এই একখান গতকাল দেশের সর্বোচ্চ তাপমাত্রা এর সুবিধাজনক স্পেসিফিকেশন জন্য অনুমতি দিতে পারে: তাদের অবস্থানের উপর একটি পূর্বে মধ্যে ফ্যাক্টর এবং আকৃতি উপর একটি পূর্বে । (অবশ্যই কেউ কেউ বৃহত্তর প্রিয়ার বিবেচনা করতে পারে যেখানে অবস্থান এবং আকৃতি এবং স্বতন্ত্র নয়, তবে এটি আরও জটিল উদ্যোগ গ্রহণ করবে))va
এলোমেলো মান উত্পন্ন হচ্ছে
from থেকে নমুনা নেওয়ার একটি উপায় পর্যায়ক্রমে একে গোলকের রেডির উপর একটি বিতরণ এবং প্রতিটি ক্ষেত্রের শর্তসাপেক্ষে অন্য একটি বিতরণ হিসাবে চিহ্নিত করা হয়:f(v)a
একটি সূচক আঁকুন উপর বিযুক্ত বন্টন থেকে সম্ভাব্যতা কর্তৃক প্রদত্ত , যেখানে সামনে হিসাবে সংজ্ঞায়িত করা হয় ।i{0,1,…,J}(Ji)(n−1)iai/AA
সূচক থেকে ভিন্ন ভেক্টর সেট অনুরূপ ঠিক মধ্যে স্থান। অতএব, প্রত্যেকটি সমান সম্ভাবনা প্রদান করে, সম্ভাব্য সাবসেটের বাইরে স্থানগুলি তা নির্বাচন করুন । (এই মাত্র একটি নমুনা হল বাইরে সাবস্ক্রিপ্টগুলোর ছাড়া প্রতিস্থাপন।) এর এই উপসেট যাক স্থান লেখা যেতে ।ivii(Ji)iJ iI
সমস্ত জন্য সমান নয় সেট থেকে স্বতন্ত্রভাবে একটি মান নির্বাচন করে একটি উপাদান আঁকুন এবং অন্যথায় সেট করুন । সমানভাবে, যখন when এবং অন্যথায় সেট করে ননজারো থেকে এলোমেলোভাবে নির্বাচন করে একটি ভেক্টর create তৈরি করুন । সেট ।wwjvjj∈Iwj=vjuujj∈Iuj=0w=v+u
বাইনারি ক্ষেত্রে পদক্ষেপ 3 অপ্রয়োজনীয়।
উদাহরণ
R
চিত্রিত করার জন্য এখানে একটি বাস্তবায়ন দেওয়া হল ।
rHamming <- function(N=1, a=c(1,1,1), n=2, origin) {
# Draw N random values from the distribution f_a^v where the ground ring
# is {0,1,...,n-1} mod n and the vector space has dimension j = length(a)-1.
j <- length(a) - 1
if(missing(origin)) origin <- rep(0, j)
# Draw radii `i` from the marginal distribution of the spherical radii.
f <- sapply(0:j, function(i) (n-1)^i * choose(j,i) * a[i+1])
i <- sample(0:j, N, replace=TRUE, prob=f)
# Helper function: select nonzero elements of 1:(n-1) in exactly i places.
h <- function(i) {
x <- c(sample(1:(n-1), i, replace=TRUE), rep(0, j-i))
sample(x, j, replace=FALSE)
}
# Draw elements from the conditional distribution over the spheres
# and translate them by the origin.
(sapply(i, h) + origin) %% n
}
এর ব্যবহারের উদাহরণ হিসাবে:
test <- rHamming(10^4, 2^(11:1), origin=rep(1,10))
hist(apply(test, 2, function(x) sum(x != 0)))
যেখানে , (বাইনারি কেস), বিতরণ থেকে আইআইডি উপাদানগুলি আঁকতে এটি সেকেন্ড সময় নিয়েছে , এবং তাত্পর্যপূর্ণভাবে হ্রাস পাচ্ছে।0.2104f(v)aJ=10n=2v=(1,1,…,1)a=(211,210,…,21)
(এই অ্যালগরিদমটির প্রয়োজন নেই যে হ্রাস পাচ্ছে; সুতরাং এটি কেবল অ ইউনিমডাল নয়, কোনও অবস্থানের পরিবার থেকে এলোমেলো পরিবর্তন আনবে ))a