팻 핑거 분포


10

간단한 질문 :
지방 손가락 분포가 있습니까? 존재한다면 다른 이름을 가지고 있다고 확신합니다.

분석 함수로 공식화하는 방법을 모르겠습니다. 기존 버전을 찾거나 거대한 시뮬레이션보다 더 깨끗한 것으로 공식화하는 데 도움을 줄 수 있습니까?

주어진 숫자가 의도 한 목표 일 때 실제로 적중되는 숫자의 분포이지만, 단추가 손가락보다 훨씬 작기 때문에 근처의 단추가 우연히 맞은 경우가 있습니다.

이와 같은 배포판 사용은 휴대폰의 버튼을 누를 때 잘못된 항목입니다. 만약 내가 "지금 1 번을 누르십시오"또는 "당신이 1 번을 눌렀어야하는 회사"를 운영했다면, 그들은 뚱뚱한 손가락 확률에 대한 근사치를 얻을 수 있습니다. 일부. (팻 핑거의 해밍 거리? 팻 핑거 Markov 체인?)

키를 눌러 오류 수정을 시도하고 빌드하는 데 사용하고 싶습니다. 내 샘플이 몇 개 있지만 손가락 "비만"또는 휴대폰 키보드 토폴로지의 변형이 견고하지는 않습니다.

배경과 정교함 :
일반적인 휴대폰 키패드 레이아웃은 다음과 같습니다. 여기에 이미지 설명을 입력하십시오

내 손가락이 키보다 훨씬 크다고 생각하면 5를 칠 때 주로 5를 얻을 가능성이 있지만 2,4,6 또는 8을 얻을 가능성이 있습니다 (동일하게 가능성이 있음) ) 다음 1,3,7,9를 얻을 가능성이 적고 (0이 아님) 가능성이 높고 0을 얻을 가능성이 거의 없습니다.

고정 된 "지름"에 대해 5의 무한 수를 입력하려고하면 값의 분포를 얻게 될 것입니다. 손가락 값이 작 으면 분포가 변경됩니다. 다른 숫자를 누르려고하면 분포가 변경됩니다.

실제로 이것은 키의 레이아웃에 달려 있습니다. 그들이 3x3 격자가 아닌 거대한 고리에 있다면 다른 종류의 질문이 될 것입니다. 이 경우 3x3 직사각형 그리드 만 처리 할 것으로 예상됩니다. 또한 한 번의 키 누름 만 감지 할 수 있도록 키패드에 디지털 래치가 있다고 생각합니다. "0"을 누를 때와 같은 다른 버튼에는 최대 7 개의 주파수가 있습니다. 나는 그것을 참여시키는 깨끗한 방법을 확신하지 못한다. 아마도 대상 키와 후보 트리거 키 사이의 요인 시간이 정규화 된 제곱 거리에 해당합니까?

다음은 5를 누를 때 분포를 시뮬레이션하는 방법입니다 (무게는 임의적 임).

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

나는 소수의 마지막 숫자에 적용되는 "지방-손가락 분포"변형의 역수가 있다고 생각합니다. 소수의 마지막 숫자를 기준으로 제외 된 숫자가 있습니다.

답변:


4

우리는 불연속 숫자를 다루기 때문에 즉시 범주 분포를 각 대상 키의 조건부 분포로 사용하려고 생각했습니다 .

따라서 사용자가 5를 누르려는 의도의 예를 들어 실제로 누르는 키로 사용하면 다음과 같은 결과를 얻습니다.K

P(K=k|5)=케이,5h이자형아르 자형이자형케이,50케이=09케이,5=1

각 키에 대해 이러한 배포를 정의 할 수 있습니다. 이것은 실험적인 부분입니다.

이제 실제로 누른 숫자가 라고 가정하고 의도 한 키 을 추론하려고합니다 . 이것은 자연스럽게 베이지안 추론 문제로 표현됩니다.케이나는

(나는=나는|케이)=(나는=나는)(케이|나는=나는)나는=09(나는=나는)(케이|나는=나는)

이 방정식은 당신에게 사용자가 눌러 의도 확률 알려줍니다 주어진 그들이 누르면 .나는 케이

그러나 이것은 에 의존한다는 것을 알 수 있습니다 . 이는 누군가 누군가 를 누르 려고 할 확률입니다 . 실제 전화 번호를 누르는 것 (물론)에 대한 조건부 일 것이라고 생각할 것입니다. 그러나이 사실을 알지 못하므로이 사전 컨텍스트를 조정할 방법이 필요합니다.(나는=나는)나는

결론 은 의도 한 수에 대한 조건부 분포에 대해 이야기하지 않는 한 단일 지방 손가락 분포 가 없다는 것입니다. 오류 수정 방법이 유용하려면 이러한 조건부 분포를 사용하여 의도 한 수를 추측해야합니다. 그러나 이것은 유용한 사전 컨텍스트가 필요할 것입니다. 그렇지 않으면 추론 된 키가 실제로 눌려진 키 일 것으로 기대합니다 ... 매우 유용하지는 않습니다.


0

Bey의 접근 방식, 즉 사용자의 의도가 의도 한 키보다 높을 경우 각 키를 누르는 조건부 확률에 동의합니다. 그렇지 않은 경우 장비 제조업체는 키 이름을 바꿉니다. 일부 키는 다른 키보다 잘못 누르기 쉽습니다. 아마 중간쪽으로. 우리가 숫자를 입력하고 있기 때문에 이것을 아는 것조차도 한 숫자가 다음 숫자만큼 유효한 단어를 수정하는 것과 같은 것을 이용할 수 없습니다. 따라서 단일 키 스트로크의 오류 수정 은 불가능합니다.

가능한 것은 주어진 입력 데이터 유형에서 핵심 오류를 수정하거나 덜 야심 찬 탐지 일 것입니다. 예를 들어 ISBN 또는 신용 카드 번호로 수행됩니다. 그러나 전화 번호에는 체크섬이 없습니다. 아마도 각 키보드에 대한 경험적 분포는 숫자를 가장 효율적으로 확인하는 데 사용될 수 있습니다-추가 된 확인 번호를 가장 잘 사용합니다.


내가 통제하고 있다면 버튼 크기와 중심 간 거리를 오류 수정의 기하학적 드라이버로 만들 수 있습니다. 아마도 같은 영역을 가지고 작업하면 더 나은 교정을 할 수 있습니다. 스마트 폰이 등장하면서 키 크기를 동적으로 조정하고 의도를 알리기 위해 지속적인 터치를 할 수있었습니다.
EngrStudent
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.