Вы можете предпочесть семейства местоположений, основанные на расстоянии Хэмминга , из-за их богатства, гибкости и вычислительной управляемости.
Обозначения и определения
Напомним , что в свободном конечномерном модуле с базисом ( е 1 , е 2 , ... , е J ) , то расстояние Хэмминга δ H между двумя векторами v = v 1 е 1 + ⋯ + v J е J и ш = ш 1 e 1 + ⋯ + w J e J - количество мест i, где v iV(e1,e2,…,eJ) δHv=v1e1+⋯+vJeJw=w1e1+⋯+wJeJi .vi≠wi
Для любого начала координат расстояние Хэмминга разбивает V на сферы S i ( v 0 ) , , где . Когда основное кольцо имеет элементов, имеет элементов, а имеет элементов. (Это сразу следует из наблюдения, что элементы отличаются от в точностиv0∈VVSi(v0)S i ( v 0 ) = { w ∈ V | δ H ( w , v 0 ) = i } n V n J S i ( v ) ( Ji=0,1,…,JSi(v0)={w∈V | δH(w,v0)=i}nVnJSi(v)Si(v)vi ( J(Ji)(n−1)iSi(v)vi мест - из которых есть возможностей - и что существует, независимо, выбор значений для каждого места.) п-1(Ji)n−1
Аффинный перевод в действует естественным образом в его распределениях, давая семейства местоположений. В частности, когда - это любое распределение на (что означает чуть больше, чем , для всех и ) и - любой элемент из , тогда также является распределением гдеf V f : V → [ 0 , 1 ] f ( v ) ≥ 0 v ∈ V ∑ v ∈ V f ( v ) = 1 w V f ( w )VfVf:V→[0,1]f(v)≥0v∈V∑v∈Vf(v)=1wVf(w)
f(w)(v)=f(v−w)
для всех . Расположение семьи распределений инвариантна относительно этого действия: означает для всех .Ом F ∈ Ом F ( v ) ∈ Ом v ∈ Vv∈V Ωf∈Ωf(v)∈Ωv∈V
строительство
Это позволяет нам определять потенциально интересные и полезные семейства распределений, определяя их формы в одном фиксированном векторе , который для удобства я буду считать и переводя эти «порождающие распределения» под действием чтобы получить полное семейство . Для достижения желаемого свойства, чтобы имело сопоставимые значения в близлежащих точках, просто требуется это свойство всех генерирующих распределений.0 = ( 0 , 0 , … , 0 ) V Ω fv0=(0,0,…,0)VΩf
Чтобы увидеть, как это работает, построим семейство местоположений всех распределений, которые уменьшаются с увеличением расстояния. Поскольку возможны только расстояния Хэмминга, рассмотрим любую убывающую последовательность неотрицательных действительных чисел = . Наборa 0 ≠ a 0 ≥ a 1 ≥ ⋯ ≥ a J ≥ 0J+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 f a = f a ′ a ′ a R J + 1 a a 0 = 1faVfa=fa′a′aRJ+1aa0=1
Соответственно, эта конструкция дает явную параметризацию всех таких локально-инвариантных распределений, которые уменьшаются с расстоянием Хэмминга: любое такое распределение имеет вид для некоторой последовательности и некоторый вектор . = 1 ≥ 1 ≥ 2 ≥ ⋯ ≥ J ≥ 0 v ∈ Vf(v)aa=1≥a1≥a2≥⋯≥aJ≥0v∈V
Эта параметризация может обеспечить удобную спецификацию априоров: разложить их в априор в расположении и априор в форме . (Конечно, можно рассмотреть больший набор приоров, где местоположение и форма не являются независимыми, но это было бы более сложным делом.)va
Генерация случайных значений
Один из способов выборки из заключается в поэтапном распределении его по распределению по сферическому радиусу, а другое распределение зависит от каждой сферы:f(v)a
Нарисуйте индекс из дискретного распределения на заданного вероятностями , где определено, как и раньше ,{ 0 , 1 , … , J } ( Ji{0,1,…,J}A(Ji)(n−1)iai/AA
Индекс соответствует множеству векторов, отличающихся от ровно местами. Поэтому выберите те которые размещаю из возможных подмножеств, давая каждому равную вероятность. (Это только образец Нижние индексы из без замены.) Пусть это подмножество место записывается .против я я ( Джivii яJяI(Ji)iJ iI
Нарисуйте элемент , независимо выбрав значение равномерно из набора скаляров, не равных для всех и в противном случае установите . Эквивалентно, создайте вектор , выбрав случайным образом из ненулевых скаляров, когда и в противном случае установите . Установите .w j v j j ∈ I w j = v j u u j j ∈ I u j = 0 w = v + uwwjvjj∈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)
(Этот алгоритм не требует уменьшения ; таким образом, он будет генерировать случайные изменения из любого семейства местоположений, а не только унимодальных.)a