คุณอาจให้ความสำคัญกับสถานที่ตั้งตามระยะทางของแฮมมิงเนื่องจากความร่ำรวยความยืดหยุ่นและความสามารถในการคำนวณได้
สัญลักษณ์และคำจำกัดความ
จำได้ว่าในขอบเขตมิติโมดูลฟรีที่มีพื้นฐานที่Hamming ระยะระหว่างสองเวกเตอร์และคือ จำนวนสถานที่ที่ที่w_iV(e1,e2,…,eJ) δHv=v1e1+⋯+vJeJw=w1e1+⋯+wJeJivi≠wi
รับต้นกำเนิด , ฮามมิงระยะทางพาร์ติชันเป็นทรงกลม , , ที่\} เมื่อวงแหวนกราวด์มีองค์ประกอบ ,มีองค์ประกอบและมีองค์ประกอบ (สิ่งนี้ตามมาทันทีจากการสังเกตว่าองค์ประกอบของแตกต่างจากในสถานที่ที่แน่นอนของ - ซึ่งมี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)
สำหรับทั้งหมด ครอบครัวตั้งของการกระจายเป็นค่าคงที่อยู่ภายใต้การดำเนินการนี้:นัยสำหรับทุกวีv∈V Ωf∈Ωf(v)∈Ωv∈V
การก่อสร้าง
สิ่งนี้ทำให้เราสามารถกำหนดครอบครัวที่น่าสนใจและเป็นประโยชน์ของการแจกแจงโดยการระบุรูปร่างของพวกเขาในหนึ่งเวกเตอร์คงที่ซึ่งฉันจะใช้เพื่อเป็นและแปลเหล่านี้ "ที่ก่อให้เกิดการกระจาย" ภายใต้การกระทำของที่จะได้รับครอบครัวเต็ม\เพื่อให้ได้คุณสมบัติที่ต้องการซึ่งควรมีค่าเทียบเคียง ณ จุดใกล้เคียงเพียงต้องการคุณสมบัติของการแจกแจงทั้งหมดที่สร้างขึ้นv0=(0,0,…,0)VΩf
หากต้องการดูวิธีการทำงานของนี้เราจะสร้างตระกูลตำแหน่งที่ตั้งของการแจกแจงทั้งหมดที่ลดลงตามระยะทางที่เพิ่มขึ้น เพราะเพียงระยะทางที่เป็นไปได้ Hamming พิจารณาลำดับใด ๆ ลดลงของจำนวนจริงที่ไม่ใช่เชิงลบ =0 ชุด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.
จากนั้นเป็นตรงไปตรงมาเพื่อตรวจสอบคือการกระจายบนVนอกจากนี้ถ้าหากเป็นผลคูณบวกของ (เป็นเวกเตอร์ใน ) ดังนั้นหากเราชอบเราอาจมาตรฐานเพื่อ 1faVfa=fa′a′aRJ+1aa0=1
ดังนั้นการก่อสร้างนี้จึงมีการกำหนดพารามิเตอร์ที่ชัดเจนของการแจกแจงตำแหน่ง - คงที่ทั้งหมดที่ลดลงด้วยระยะทาง Hamming: การแจกแจงแบบใด ๆ อยู่ในรูปแบบสำหรับลำดับและบางเวกเตอร์วีf(v)aa=1≥a1≥a2≥⋯≥aJ≥0v∈V
parameterization นี้อาจอนุญาตให้มีสเปคที่สะดวกในการไพรเออร์: ปัจจัยที่พวกเขาเข้าไปก่อนที่สถานที่ตั้งและก่อนกับรูปร่าง{a} (แน่นอนว่าเราสามารถพิจารณาชุดนักบวชที่มีขนาดใหญ่กว่าซึ่งมีที่ตั้งและรูปร่างและไม่เป็นอิสระ แต่สิ่งนี้จะเป็นงานที่ซับซ้อนมากขึ้น)va
การสร้างค่าสุ่ม
วิธีหนึ่งในการสุ่มตัวอย่างจาก เป็นขั้นตอนโดยแยกตัวประกอบเข้าสู่การกระจายตัวของดาวฤกษ์และเงื่อนไขการกระจายในแต่ละวงทรงกลม:f(v)a
วาดดัชนีจากการกระจายแบบไม่ต่อเนื่องบนกำหนดโดยความน่าจะเป็นโดยที่ถูกกำหนดไว้ก่อน .i{0,1,…,J}(Ji)(n−1)iai/AA
ดัชนีสอดคล้องกับชุดของเวกเตอร์ที่แตกต่างกันจากในตรงตำแหน่ง ดังนั้นให้เลือกที่เหล่านั้นออกจากเซ็ตย่อยที่เป็นไปได้ซึ่งให้แต่ละความน่าจะเป็นที่เท่ากัน (นี่เป็นเพียงตัวอย่างของห้อยออกมาจากโดยไม่ต้องทดแทน.) ให้เซตนี้ของสถานที่จะเขียนฉันivii(Ji)iJ iI
วาดองค์ประกอบโดยอิสระเลือกค่าสม่ำเสมอจากชุดของสเกลาไม่เท่ากับสำหรับทุกและการตั้งค่าอย่างอื่นw_jเท่ากันสร้างเวกเตอร์โดยการเลือกสม่ำเสมอโดยการสุ่มจากภัณฑ์เกลาเมื่อและอื่น ๆ การตั้งค่า 0 ชุด{u}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)))
สิ่งนี้ใช้เวลาวินาทีในการดึงอิลิเมนต์iidจากการแจกแจงโดยที่ , (กรณีไบนารี),และจะลดลงแบบทวีคูณ0.2104f(v)aJ=10n=2v=(1,1,…,1)a=(211,210,…,21)
(อัลกอริทึมนี้ไม่ต้องการให้ลดลงดังนั้นมันจะสร้างความแตกต่างแบบสุ่มจากตระกูลที่ตั้งใด ๆไม่ใช่เฉพาะที่ unimodal)a