胖手指分布


10

简短的问题:
是否有胖手指分布?我敢肯定,如果它存在,那么它会有不同的名称。

我不知道如何将其表述为分析函数。您能帮我找到它的现有版本,还是以比大型模拟更干净的方式开始制定它?

它是当给定数字为预期目标时实际命中的数字分布,但是按钮比手指小得多,因此附近的按钮有时是偶然命中的一个按钮。

像这样的分配方式的使用是对手机按键的错误输入。如果我经营一家公司,必须“立即按1”或某样东西,然后按“您按1,是正确的”,那么尽管连续2个胖手指可能会弄乱胖手指的概率,但是他们可以得到相当不错的胖手指概率一些。 (胖手指的远距离距离?胖手指马尔可夫链?)

我想用它来尝试将纠错内置到按键中。我有一些自己的样本,但是手指“脂肪”或手机键盘拓扑的变化不足以使其健壮。

背景和细节:
这是正常的手机键盘布局: 在此处输入图片说明

想象一下,我的手指比琴键大得多,因此当我击打5时,我很可能会得到5,但是然后我也有可能会得到2、4、6或8(同样可能),那么获得1,3,7,9(同等可能性)的可能性较小(但不为零),而获得0的可能性很小。

我可以想象,如果我尝试为固定的“手指直径”键入无穷多个5,那么我将获得值的分布。如果我的手指值较小,则分布会改变。如果我尝试打不同的数字,则分布会改变。

实际上,这将取决于键的布局。如果它们处在一个巨大的环中而不是一个3x3的网格中,那将是另一种问题。在这种情况下,我希望我们只处理3x3矩形网格。我还怀疑键盘上有数字锁存器,因此只能检测到一次按键。其他按钮最多有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/

我猜有一个适用于素数最后一位的“胖手指分布”变化的逆。存在根据质数的最后一位数字排除的数字。

Answers:


4

由于我们正在处理离散数字,因此我立即想到使用分类分布作为每个目标键的条件分布。

因此,如果以您的用户意图按下5为例,以为实际按下的键,则得到: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

我同意Bey的方法,即,如果用户的意图对于预期的按键而言最高,则每个按键被按下的条件概率。如果不是,设备制造商将重命名密钥。一些按键比其他按键更容易被误按。也许朝中间。即使知道这一点,因为我们正在输入数字,所以不可能像纠正单词那样利用,因为一个数字与下一个数字一样有效。因此,对单个按键进行错误校正是不可行的。

可行的是纠正,或者在给定的输入数据类型中检测关键错误的雄心勃勃。例如,这是针对ISBN或信用卡号完成的。但是,电话号码没有校验和。也许每个键盘的经验分布都可以用来最有效地检查数字-这是对所添加的检查数字的最佳利用。


如果我处于控制之中,那么我可以将按钮的大小和中心之间的距离纳入纠错的几何驱动力。也许在相同的领域一起工作可以做出更好的修正。随着智能手机的出现,人们可以动态调整按键大小,并不断触摸以帮助告知意图。
EngrStudent
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.