आप अपनी समृद्धता, लचीलेपन और कम्प्यूटेशनल ट्रैक्टिबिलिटी के कारण हेमिंग की दूरी के आधार पर लोकेशन परिवारों का पक्ष ले सकते हैं ।
संकेतन और परिभाषाएँ
याद रखें कि एक नि: शुल्क परिमित आयामी मॉड्यूल में आधार , दो वैक्टरों के बीच Hamming दूरी और है उन स्थानों की संख्या जहां ।VV(e1,e2,…,eJ)(e1,e2,…,eJ) δHδHv=v1e1+⋯+vJeJv=v1e1+⋯+vJeJw=w1e1+⋯+wJeJw=w1e1+⋯+wJeJiivi≠wivi≠wi
किसी भी उत्पत्ति को देखते हुए , हेमिंग दूरी विभाजन को गोले में , , । जब ग्राउंड रिंग में तत्व होते हैं, तो में तत्व और पास तत्व होते हैं। (यह तत्वों को देखने के तुरंत बाद से है , बिल्कुल स्थानों में से भिन्न हैं - जिनमें सेv0∈Vv0∈VVVSi(v0)Si(v0)i=0,1,…,Ji=0,1,…,JSi(v0)={w∈V | δH(w,v0)=i}Si(v0)={w∈V | δH(w,v0)=i}nnVVnJnJSi(v)Si(v)(Ji)(n−1)i(Ji)(n−1)iSi(v)Si(v)vvii(Ji)(Ji)संभावनाएं - और यह कि स्वतंत्र रूप से, प्रत्येक स्थान के लिए मानों के विकल्प हैं।)n−1n−1
में Affine अनुवाद स्थान वितरण परिवारों को देने के लिए अपने वितरण पर स्वाभाविक रूप से कार्य करता है। विशेष रूप से, जब पर कोई वितरण है (जिसका अर्थ , लिए सभी , और ) और का कोई तत्व है , तो भी एक वितरण है कहाँ पेVVffVVf:V→[0,1]f:V→[0,1]f(v)≥0f(v)≥0v∈Vv∈V∑v∈Vf(v)=1∑v∈Vf(v)=1wwVVf(w)f(w)
f(w)(v)=f(v−w)
f(w)(v)=f(v−w)
सभी । वितरणों का एक स्थान परिवार इस कार्रवाई के तहत अपरिवर्तनीय है: तात्पर्य है लिए सभी ।v∈Vv∈V ΩΩf∈Ωf∈Ωf(v)∈Ωf(v)∈Ωv∈Vv∈V
निर्माण
यह हमें एक निश्चित वेक्टर पर अपने आकृतियों को निर्दिष्ट करके वितरण के संभावित दिलचस्प और उपयोगी परिवारों को परिभाषित करने में सक्षम बनाता है , जो सुविधा के लिए मैं , और पूरे परिवार के प्राप्त करने के लिए की कार्रवाई के तहत इन "जनरेटिंग डिस्ट्रिब्यूशन" का अनुवाद । वांछित संपत्ति को प्राप्त करने के लिए, में पास के बिंदुओं पर तुलनीय मूल्य होना चाहिए, बस आवश्यकता है कि सभी उत्पन्न वितरण की संपत्ति।vv0=(0,0,…,0)0=(0,0,…,0)VVΩΩff
यह देखने के लिए कि यह कैसे काम करता है, आइए सभी वितरण के स्थान परिवार का निर्माण करें जो बढ़ती दूरी के साथ घटते हैं। क्योंकि केवल हैमिंग की दूरी संभव है, गैर-नकारात्मक वास्तविक संख्या = किसी भी घटते क्रम पर विचार करें । सेटJ+1J+1aa0≠a0≥a1≥⋯≥aJ≥00≠a0≥a1≥⋯≥aJ≥0
A=J∑i=0(n−1)i(Ji)ai
A=∑i=0J(n−1)i(Ji)ai
और फ़ंक्शन को परिभाषित करें तकfa:V→[0,1]fa:V→[0,1]
fa(v)=aδH(0,v)A.
fa(v)=aδH(0,v)A.
फिर, जैसा कि जांचना सीधा है, पर एक वितरण है । इसके अलावा, if और only if पॉजिटिव मल्टिपल ऑफ (as वैक्टर in )। इस प्रकार, यदि हम चाहें, तो हम को मानकीकृत कर सकते हैं ।fafaVVfa=fa′fa=fa′a′a′aaRJ+1RJ+1aaa0=1a0=1
तदनुसार, यह निर्माण ऐसे सभी स्थान-अपरिवर्तनीय वितरणों का एक सुस्पष्ट मानकीकरण देता है जो हैमिंग दूरी के साथ घट रहे हैं: ऐसा कोई भी वितरण कुछ अनुक्रम लिए के रूप में है। और कुछ वेक्टर ।f(v)af(v)aa=1≥a1≥a2≥⋯≥aJ≥0a=1≥a1≥a2≥⋯≥aJ≥0v∈Vv∈V
यह मानदंड पुजारियों के सुविधाजनक विनिर्देश के लिए अनुमति दे सकता है: उन्हें स्थान पर एक पूर्व और आकृति पर पूर्व में दें । (बेशक कोई पंडितों के एक बड़े समूह पर विचार कर सकता है जहां स्थान और आकार और स्वतंत्र नहीं है, लेकिन यह अधिक जटिल उपक्रम होगा)।vvaa
यादृच्छिक मान उत्पन्न करना
से सैंपल करने का एक तरीका यह है कि इसे गोलाकार रेडियो पर एक वितरण और प्रत्येक क्षेत्र पर एक और वितरण सशर्त में फैक्टरिंग करके चरणों द्वारा किया जाता है:f(v)af(v)a
एक सूचकांक ड्रा पर असतत वितरण से संभावनाओं द्वारा दिए गए , जहां से पहले के रूप में परिभाषित किया गया है ।ii{0,1,…,J}{0,1,…,J}(Ji)(n−1)iai/A(Ji)(n−1)iai/AAA
सूचकांक वैक्टर के सेट से मेल खाता है जो बिल्कुल स्थानों पर से भिन्न होता है । इसलिए, प्रत्येक बराबरी की संभावना को देखते हुए, उन स्थानों का चयन करता , जो कि संभव बाहर हैं । (यह सिर्फ एक नमूना है से बाहर सबस्क्रिप्ट बिना प्रतिस्थापन।) के इस उपसमूह चलो स्थानों लिखा जा ।iivviiii(Ji)(Ji)iiJJ iiII
स्वतंत्र रूप से एक मान चयन करके एक तत्व ड्रा करें, जो सभी लिए समान रूप से के सेट से समान रूप से नहीं है और अन्यथा सेट करें । समान रूप से, एक वेक्टर , जो कि गैर- स्केलर से यादृच्छिक रूप से चयन करते जब और अन्यथा सेट । सेट ।wwwjwjvjvjj∈Ij∈Iwj=vjwj=vjuuujujj∈Ij∈Iuj=0uj=0w=v+uw=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)))
वितरण में से iid तत्वों को निकालने में सेकंड का समय लगा। जहां , (बाइनरी केस), , और तेजी से घट रहा है।0.20.2104104f(v)af(v)aJ=10J=10n=2n=2v=(1,1,…,1)v=(1,1,…,1)a=(211,210,…,21)a=(211,210,…,21)
(इस एल्गोरिथ्म के लिए उस आवश्यकता नहीं होती है ; इस प्रकार, यह किसी भी स्थान परिवार से यादृच्छिक परिवर्तन उत्पन्न करेगा , न कि केवल एकरूपता।)aa