distribuição dedo gordo

10

Breve pergunta:
Existe uma distribuição de dedos gordos? Tenho certeza de que, se existir, ele terá um nome diferente.

Não sei como formulá-lo como uma função analítica. Você pode me ajudar a encontrar uma versão existente ou começar a formulá-la em algo mais limpo do que uma simulação gigante?

É a distribuição dos números realmente atingidos quando um determinado número é o alvo pretendido, mas os botões são muito menores que o dedo; portanto, os botões próximos às vezes são os atingidos por acidente.

O uso de uma distribuição como essa é entradas falsas ao pressionar botões em um telefone celular. Se eu operasse uma empresa em que alguém tivesse que "pressionar 1 agora" ou algo assim e "você pressionou 1, isso está certo", eles poderiam obter uma aproximação decente das probabilidades dos dedos gordos, embora dois dedos gordos seguidos possam atrapalhar até um pouco. (Distância de Hamming nos dedos gordos? Cadeias Markov de dedos gordos?)

Quero usá-lo para tentar criar a correção de erros ao pressionar as teclas. Tenho algumas amostras próprias, mas não há variação suficiente na "gordura" dos dedos ou na topologia do teclado do celular para ser robusta.

Antecedentes e elaboração:
Aqui está um layout normal do teclado do telefone celular: insira a descrição da imagem aqui

Imagine que meus dedos são muito maiores do que as teclas, de modo que quando eu chego a 5, provavelmente recebo 5, mas também tenho probabilidade de obter 2,4,6 ou 8 (igualmente provável ) e, em seguida, tenho menos (mas não zero) probabilidade de obter 1,3,7,9 (igualmente provável) e é muito improvável que obtenha 0.

Posso imaginar que, se tentasse digitar um número infinito de 5 para um "diâmetro de dedo" fixo, obteria uma distribuição de valores. Se o valor do meu dedo for menor, a distribuição mudará. Se eu tentar atingir um número diferente, a distribuição muda.

Na prática, isso vai depender do layout das chaves. Se eles estivessem em um anel gigante e não em uma grade 3x3, seria um tipo diferente de pergunta. Nesse caso, espero que lidemos apenas com grades retangulares 3x3. Também suspeito que o teclado tenha uma trava digital, para que apenas uma tecla seja detectada. Haverá no máximo 7 frequências para outros botões, como quando o "0" for pressionado. Não tenho certeza de uma maneira limpa de envolver isso. Talvez um fator multiplicado pela distância quadrada normalizada entre a chave alvo e a chave acionada candidato?

Aqui está como eu simularia a distribuição para quando os cinco forem pressionados (os pesos são um tanto arbitrários):

#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))

nota adicional:
Então, li este artigo:
http://www.scientificamerican.com/article/peculiar-pattern-found-in-random-prime-numbers/

Eu acho que há um inverso da variação da "distribuição de dedos gordos" que se aplica ao último dígito dos números primos. Existem dígitos excluídos com base no último dígito do número primo.

EngrStudent
fonte

Respostas:

4

Como estamos lidando com números discretos, pensei imediatamente em usar uma distribuição categórica como a distribuição condicional de cada chave de destino.

Portanto, se dermos o exemplo da intenção do usuário de pressionar 5 e deixar ser a tecla realmente pressionada, obtemos:K

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

Podemos definir essa distribuição para cada chave. Esta é a parte empírica.

Agora, vamos dizer que o número realmente pressionado é , queremos inferir a pretendida chave . Isso é naturalmente expresso como um problema de inferência bayesiana:kI

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

Esta equação indica a probabilidade de o usuário pretender pressionar dado que pressionou .ki k

No entanto, você notará que isso depende de , que é a probabilidade anterior de que alguém pretenda pressionar . Eu imaginaria que isso estaria condicionado ao fato de o número de telefone ser pressionado (é claro), mas como você não saberá disso, precisará de uma maneira de ajustar esse contexto anterior.iP(I=i)i

O ponto principal é que não existe uma distribuição de dedos gordos, a menos que estejamos falando sobre a distribuição condicional em um número pretendido. Se o seu método de correção de erros for útil, ele terá que adivinhar o número pretendido usando essas distribuições condicionais. No entanto, isso exigirá algum contexto anterior útil, caso contrário, eu esperaria que a tecla inferida já fosse a tecla realmente pressionada ... não muito útil.


fonte
0

Eu concordo com a abordagem de Bey, ou seja, a probabilidade condicional de cada tecla a ser pressionada, considerando que a intenção do usuário é maior para a tecla desejada. Caso contrário, os fabricantes de equipamentos renomeariam a chave. Algumas teclas são mais propensas a serem pressionadas incorretamente do que outras. Talvez para o meio. Mesmo sabendo disso, porque estamos inserindo números, não é possível explorar como corrigir palavras, pois um número é tão válido quanto o próximo. Portanto, a correção de erros em pressionamentos de tecla única não é viável.

O que é possível é corrigir, ou talvez a detecção menos ambiciosa de erros-chave em um determinado tipo de dado de entrada. Isso é feito para um ISBN ou um número de cartão de crédito, por exemplo. No entanto, os números de telefone não possuem somas de verificação. Talvez a distribuição empírica de cada teclado possa ser usada para fazer a verificação mais eficiente dos números - sendo esse o melhor uso dos números de verificação adicionados.

Ben S
fonte
Se eu estivesse no controle, poderia transformar tamanhos de botões e distâncias centralizadas no driver geométrico da correção de erros. Talvez com a mesma área para trabalhar com alguém possa fazer uma correção melhor. Com o advento dos telefones inteligentes, é possível ter teclas dinamicamente redimensionadas e toque constante para ajudar a informar as intenções.
EngrStudent