распределение жирных пальцев

10

Краткий вопрос:
есть ли раздача жира? Я уверен, что если он существует, то у него другое имя.

Я не знаю, как сформулировать это как аналитическую функцию. Можете ли вы помочь мне найти существующую версию или начать формулировку чего-то более чистого, чем гигантский симулятор?

Это распределение чисел, которые фактически попадают, когда заданное число является предполагаемой целью, но кнопки намного меньше, чем палец, поэтому соседние кнопки иногда оказываются случайными.

Использование такого распределения - ложные записи при нажатии кнопок на мобильном телефоне. Если бы я управлял компанией, где нужно было «нажать 1 сейчас» или что-то в этом духе и «ты нажал 1, верно», то они могли бы получить приличное приближение вероятностей толстого пальца, хотя два толстых пальца подряд могли бы испортить это. до некоторых. (Расстояние Хэмминга в толстых пальцах? Толстые марковские цепи?)

Я хочу использовать его, чтобы попытаться встроить исправление ошибок в нажатие клавиш. У меня есть несколько собственных образцов, но недостаточно вариабельности топологии пальца или клавиатуры мобильного телефона, чтобы быть устойчивой.

Предпосылки и проработка:
Вот обычная раскладка клавиатуры мобильного телефона: введите описание изображения здесь

Представьте, что мои пальцы намного больше, чем клавиши, поэтому, когда я иду на 5, я, скорее всего, получу 5, но тогда я также с некоторой вероятностью получу 2,4,6 или 8 (одинаково вероятно ) и тогда у меня меньше (но не ноль) вероятности получить 1,3,7,9 (одинаково вероятно) и очень маловероятно получить 0.

Я могу себе представить, что если бы я попытался набрать бесконечное число 5 для фиксированного «диаметра пальца», я бы получил распределение значений. Если значение моего пальца меньше, то распределение меняется. Если я пытаюсь набрать другое число, распределение меняется.

На практике это будет зависеть от расположения клавиш. Если бы они были в гигантском кольце, а не в сетке 3х3, то это был бы другой вопрос. В этом случае, я ожидаю, что мы будем иметь дело только с прямоугольными сетками 3х3. Я также подозреваю, что клавиатура имеет цифровую защелку, так что можно обнаружить только одно нажатие клавиши. Для других кнопок будет не более 7 частот, например, когда нажата «0». Я не уверен в чистом способе заниматься этим. Возможно, коэффициент, умноженный на нормированное квадратное расстояние между целевым ключом и ключом, запускаемым кандидатом?

Вот как я бы смоделировал распределение для нажатия пяти (весовые коэффициенты несколько произвольны):

#number of presses
npress <- 1000

#hack this (not quadratic)
myprobs <- c(0.85)
myprobs <- c(myprobs, 0.1275/4, 0.1275/4, 0.1275/4, 0.1275/4)
myprobs <- c(myprobs, 0.019125/4, 0.019125/4, 0.019125/4, 0.019125/4)
myprobs <- c(myprobs,1-sum(myprobs) )

#order of number 
my_button <- c(5,2,4,6,8,1,3,7,9,0)

#declare before loop
y <- numeric()

#sample many button presses
for (i in 1:npress){

     #press the button, store the result 
     y[i] <- sample(my_button,size=1,prob=myprobs)

}

#hist, show counts
hist((y),freq = T)
grid()

#hist, show freq
hist((y),freq = F)
grid()

#declare before loop
my_p5 <- numeric()

# compute the probabilties
for (i in 1:length(my_button)){

     my_p5[i] <- length(which(y==my_button[i]))/npress
}

# show probability values
print(data.frame(my_button,my_p5))

дополнительное примечание:
поэтому я читаю эту статью:
http://www.scientificamerican.com/article/peculiar-pattern-found-in-random-prime-numbers/

Я предполагаю, что есть обратная вариация «распределения по толстому пальцу», которая применяется к последней цифре простых чисел. Существуют цифры, которые исключаются на основе последней цифры простого числа.

EngrStudent
источник

Ответы:

4

Поскольку мы имеем дело с дискретными числами, я сразу подумал об использовании категориального распределения в качестве условного распределения каждого целевого ключа.

K

P(K=k|5)=pk,5wherepk,50andk=09pk,5=1

Мы можем определить такое распределение для каждого ключа. Это эмпирическая часть.

kI

P(I=i|k)=P(I=i)P(k|I=i)i=09P(I=i)P(k|I=i)

i k

P(I=i)i

Суть в том, что не существует единого распределения жирными пальцами, если мы не говорим о распределении, условном для предполагаемого числа. Если ваш метод исправления ошибок будет полезен, он должен будет угадать предполагаемое число, используя эти условные распределения. Однако это потребует некоторого полезного предварительного контекста, в противном случае я ожидаю, что выведенная клавиша всегда будет клавишей, фактически нажатой ... не слишком полезной.


источник
0

Я согласен с подходом Бея, то есть условной вероятностью нажатия каждой клавиши, учитывая, что намерение пользователя является самым высоким для предполагаемой клавиши. В противном случае производители оборудования переименовали бы ключ. Некоторые клавиши более подвержены ошибкам, чем другие. Возможно к середине. Даже зная это, потому что мы вводим числа, невозможно использовать как корректирующие слова, так как одно число так же верно, как и следующее. Поэтому исправление ошибок при нажатии одной клавиши не представляется возможным.

Что возможно, так это исправление или, возможно, менее амбициозное обнаружение ключевых ошибок в данном типе входных данных. Это сделано для ISBN или номера кредитной карты, скажем. Однако номера телефонов не имеют контрольных сумм. Возможно, эмпирическое распределение для каждой клавиатуры можно использовать для наиболее эффективной проверки номеров, что является наилучшим использованием добавленных контрольных номеров.

Бен С
источник
Если бы я контролировал ситуацию, то мог бы превратить размеры кнопок и расстояния между центрами в геометрический драйвер коррекции ошибок. Возможно, с той же областью для работы можно было бы сделать лучшую коррекцию. С появлением умных (э) телефонов можно было динамически изменять размер клавиш и постоянно касаться, чтобы информировать о намерениях.
EngrStudent