répartition des gros doigts

10

Brève question:
y a-t-il une distribution des gros doigts? Je suis sûr que s'il existe, alors il a un nom différent.

Je ne sais pas comment le formuler comme une fonction analytique. Pouvez-vous m'aider à en trouver une version existante ou à commencer à la formuler dans quelque chose de plus propre qu'une simulation géante?

C'est la distribution des nombres réellement touchés quand un nombre donné est la cible prévue, mais les boutons sont beaucoup plus petits que le doigt, donc les boutons proches sont parfois ceux touchés par accident.

L'utilisation d'une distribution comme celle-ci est de fausses entrées en appuyant sur les boutons d'un téléphone portable. Si j'exploitais une entreprise où l'on devait "appuyer sur 1 maintenant" ou quelque chose et "vous avez appuyé sur 1, est-ce vrai", alors ils pourraient obtenir une approximation décente des probabilités des gros doigts, bien que 2 gros doigts d'affilée puissent le gâcher certains. (Distance de Hamming dans les gros doigts? Chaînes de Markov à gros doigts?)

Je veux l'utiliser pour essayer de créer une correction d'erreur en appuyant sur les touches. J'ai moi-même quelques échantillons, mais pas assez de variation dans la "grosseur" des doigts ou la topologie du clavier du téléphone portable pour être robuste.

Contexte et élaboration:
Voici une disposition normale du clavier du téléphone portable: entrez la description de l'image ici

Imaginez que mes doigts soient beaucoup plus gros que les touches, de sorte que lorsque je vais frapper un 5, je suis généralement susceptible d'obtenir un 5, mais je suis également quelque peu susceptible d'obtenir un 2,4,6 ou 8 (tout aussi probable ), puis je suis moins (mais pas nul) susceptible d'obtenir un 1,3,7,9 (tout aussi probable) et il est très peu probable d'obtenir un 0.

Je peux imaginer que si j'essayais de taper un nombre infini de 5 pour un "diamètre de doigt" fixe, j'obtiendrais une distribution de valeurs. Si la valeur de mon doigt est plus petite, la distribution change. Si j'essaie de frapper un nombre différent, la distribution change.

En pratique, cela dépendra de la disposition des clés. S'ils étaient dans un anneau géant et non dans une grille 3x3, ce serait une autre question. Dans ce cas, je pense que nous ne traiterons que des grilles rectangulaires 3x3. Je soupçonne également que le clavier a un verrou numérique de sorte qu'une seule pression sur une touche peut être détectée. Il y aura au plus 7 fréquences pour d'autres boutons, par exemple lorsque vous appuyez sur "0". Je ne suis pas sûr d'une manière propre de s'engager dans ce sens. Peut-être un facteur multiplié par la distance au carré normalisée entre la clé cible et la clé déclenchée par le candidat?

Voici comment je simulerais la distribution lorsque vous appuyez sur les cinq (les poids sont quelque peu arbitraires):

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

note supplémentaire:
J'ai donc lu cet article:
http://www.scientificamerican.com/article/peculiar-pattern-found-in-random-prime-numbers/

Je suppose qu'il y a un inverse de la variation de la "distribution des gros doigts" qui s'applique au dernier chiffre des nombres premiers. Certains chiffres sont exclus en fonction du dernier chiffre du nombre premier.

EngrStudent
la source

Réponses:

4

Puisque nous avons affaire à des nombres discrets, j'ai immédiatement pensé à utiliser une distribution catégorielle comme distribution conditionnelle de chaque clé cible.

Donc, si nous prenons votre exemple de l'intention d'un utilisateur d'appuyer sur 5 et que soit la touche réellement enfoncée, nous obtenons:K

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

Nous pouvons définir une telle distribution pour chaque clé. Ceci est la partie empirique.

Maintenant, disons que le nombre pressé est en fait , nous voulons déduire la clé pour but . Cela s'exprime naturellement comme un problème d'inférence bayésienne:kI

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

Cette équation vous indique la probabilité que l'utilisateur ait l'intention d'appuyer sur étant donné qu'il a appuyé sur .i k

Cependant, vous remarquerez que cela dépend de , qui est la probabilité antérieure que quelqu'un ait jamais l' intention d'appuyer sur . J'imagine que cela dépendrait du numéro de téléphone réel pressé (bien sûr) mais puisque vous ne le saurez pas, vous aurez besoin d'un moyen d'ajuster ce contexte antérieur.P(I=i)i

L'essentiel est qu'il n'y a pas de distribution unique du gros doigt, sauf si nous parlons de la distribution conditionnelle à un nombre prévu. Si votre méthode de correction d'erreurs doit être utile, elle devra deviner le nombre prévu en utilisant ces distributions conditionnelles. Cependant, cela nécessitera un contexte préalable utile, sinon je m'attendrais à ce que la touche déduite soit toujours la touche réellement enfoncée ... pas trop utile.


la source
0

Je suis d'accord avec l'approche de Bey, c'est-à-dire que la probabilité conditionnelle pour chaque touche à appuyer étant donné que l'intention de l'utilisateur est la plus élevée pour la touche voulue. Sinon, les fabricants d'équipement renommeraient la clé. Certaines touches sont plus susceptibles d'être mal utilisées que d'autres. Peut-être vers le milieu. Même en sachant cela, parce que nous saisissons des nombres, il n'est pas possible d'exploiter comme des mots correcteurs car un nombre est aussi valide que le suivant. La correction d' erreurs sur les touches simples n'est donc pas possible.

Ce qui est faisable est la correction, ou peut-être la détection moins ambitieuse d'erreurs clés dans un type de données d'entrée donné. Cela se fait pour un ISBN ou un numéro de carte de crédit, par exemple. Cependant, les numéros de téléphone n'ont pas de sommes de contrôle. Peut-être que la distribution empirique de chaque clavier pourrait être utilisée pour effectuer la vérification la plus efficace des nombres - c'est-à-dire la meilleure utilisation du ou des numéros de vérification ajoutés.

Ben S
la source
Si j'étais en contrôle, je pourrais faire des tailles de bouton et des distances entre les centres dans le pilote géométrique de la correction d'erreur. Peut-être qu'avec la même zone avec laquelle travailler, on pourrait faire une meilleure correction. Avec l'avènement des téléphones intelligents (er), on pourrait avoir des touches redimensionnées dynamiquement et un toucher constant pour informer les intentions.
EngrStudent du