당신과 친구가 콘서트 라인에서 서로를 잃었고, 어느 쪽이 더 앞서 있는지 확실하지 않습니다. 공식적으로, 각각은 정수 좌표에 있으며 더 높은 좌표를 향해 걸어가거나 제자리에 머물 수 있습니다.
당신과 당신의 친구가 똑같은 알고리즘을 따르고 있다고 가정하고 (아니면, "if (name =="R B ") 무언가를 수행하지 않을 수도 있습니다 :)) 두 사람 사이의 초기 거리는 였습니다 (이것은 아닙니다 당신에게 알려진).
나와 친구가 만날 때까지 예상 보행 거리를 최소화하는 알고리즘은 무엇입니까?
친구와 자신이 같은 속도로 움직이고 있다고 가정 할 수 있습니다.
간단한 알고리즘의 예는 다음과 같습니다.
단계 ( 0 에서 시작 ) :
- 오른쪽 WP에 단계를 걸어 1 또는 기다려야3 개N달리 시간 단위.
불행하게도,이 알고리즘은 친구들이 확률 1을 만날 것을 보장하지만, 예상 보행 거리는 무한하며, 가능하다면 피하고 싶은 것입니다.
더 효율적인 알고리즘이 있습니까?
"예상 보행 거리"라고 말할 때-최악의 경우 알고리즘이 확률이 높거나 입력에 대한 분포를 가정합니까? 또한-알고리즘이 항상 정확하거나 wp 1이어야합니까? (또는 이하?)-여기에 제시 한 알고리즘이 멈추지 않을 수도 있습니다 (그러나 wp 0)
—
Shaull
이는 선형 검색 문제 ( en.wikipedia.org/wiki/Linear_search_problem ) 와 유사합니다 .
—
Yuval Filmus
@Shaull-두 친구가 모두 같은 알고리즘을 따르고 있기 때문에 확률 적이거나 절대 만나지 않을 것입니다. 알고리즘의 무작위 화에 대한 기대가 있습니다.
—
RB