แพ้ในคอนเสิร์ต "ทิศทางเดียว"


16

คุณและเพื่อนสูญเสียกันและกันในคอนเสิร์ตและไม่แน่ใจว่าใครในอนาคตข้างหน้า อย่างเป็นทางการแต่ละคนอยู่ในพิกัดจำนวนเต็มบางส่วนและอาจเดินไปทางพิกัดที่สูงขึ้นหรืออยู่ในสถานที่

สมมติว่าคุณและเพื่อนของคุณกำลังติดตามอัลกอริทึมที่แน่นอน (และไม่คุณอาจไม่พูดว่า "if (name ==" R B ") ทำอะไร :)) และระยะทางเริ่มต้นระหว่างคุณสองคนคือ (ซึ่งไม่ใช่ รู้จักคุณ)x

อัลกอริธึมที่ลดระยะทางเดินที่คาดไว้ให้น้อยที่สุดจนกว่าคุณและเพื่อนของคุณจะพบกันคืออะไร


คุณอาจคิดว่าทั้งเพื่อนและตัวคุณเองกำลังเคลื่อนไหวด้วยความเร็วคงที่เท่ากัน


อัลกอริธึมตัวอย่างง่าย ๆ จะเป็นดังนี้:

  1. ที่เวที (เริ่มต้นจาก0 ):n0

    • เดินขั้นตอนในการงาน wp ขวา13nหรือรอเวลา3nหน่วยเป็นอย่างอื่น123n

หากต้องการดูขั้นตอนวิธีการนี้จะทำให้เพื่อน ๆ พบกับความน่าจะเป็นที่ 1 พิจารณาสิ่งที่เกิดขึ้นในขั้นตอน ) แม้ว่าเพื่อนที่เป็นxก้าวไปข้างหน้าเสมอเดินและอื่น ๆ มักจะอยู่ในสถานที่ที่ระยะห่างระหว่างทั้งสองจะเป็น: x + 1 + 3 + 9 + ... + 3 บันทึก3 x = 2 x + x - 1(log3x+1)x

x+1+3+9++3log3x=2x+x123x

ดังนั้นเมื่อการซ้ำ3 x + 1เพื่อนที่เลือกเดินจะครอบคลุมระยะทาง3 ล็อก3 x + 1 = 3 xดังนั้นจึงมีความน่าจะเป็น1log3x+13log3x+1=3xเพื่อนที่อยู่ข้างหลังจะตามทันและพวกเขาจะได้พบกัน14


การเพิ่มประสิทธิภาพอย่างง่าย (เพื่อลดระยะการเดิน) จะเป็นแทนที่จะเดินก้าวเดินc xก้าวโดยให้c : 2 + 13xcxc

2+1c1=c

ดังนั้นดีที่สุดสำหรับอัลกอริทึมนี้คือc = 3 + c c=3+522.618

น่าเสียดายที่อัลกอริทึมนี้รับประกันว่าเพื่อน ๆ จะได้พบกับความน่าจะเป็น 1 ระยะทางเดินที่คาดหวังนั้นไม่มีที่สิ้นสุดซึ่งเป็นสิ่งที่ฉันต้องการหลีกเลี่ยงถ้าเป็นไปได้

มีอัลกอริทึมที่มีประสิทธิภาพมากขึ้นหรือไม่


เมื่อคุณพูดว่า "ระยะทางเดินที่คาดหวัง" - คุณหมายถึงในกรณีที่แย่ที่สุดซึ่งอัลกอริทึมนั้นน่าจะเป็นหรือคุณคิดว่ามีการแจกแจงบางอย่างในอินพุตหรือไม่? นอกจากนี้ - คุณต้องการอัลกอริทึมของคุณให้ถูกต้องเสมอหรือถูกต้อง wp 1 หรือไม่ (หรือน้อยกว่า) - โปรดทราบว่าอัลกอริทึมที่คุณนำเสนอที่นี่อาจไม่เคยหยุด (แต่ WP 0)
Shaull

สิ่งนี้คล้ายกับปัญหาการค้นหาเชิงเส้น ( en.wikipedia.org/wiki/Linear_search_problem )
Yuval Filmus

2
@Shaull - เนื่องจากเพื่อนทั้งสองกำลังติดตามอัลกอริทึมเดียวกันจึงต้องมีความน่าจะเป็นหรือพวกเขาจะไม่เคยพบกัน ความคาดหวังมากกว่าการสุ่มอัลกอริทึม
RB

ในอัลกอริทึมของคุณคุณหมายถึงการเดินหน่วยเวลาไปทางขวาด้วยความเร็วคงที่Cหรือไม่? เดิน2 nขั้นตอนอาจจะไม่ได้พูดคุย 2 ^ n เวลา 2nC2n
吖奇说 ARCHY SHUō

@ 0a-archy - เราคิดว่าทั้งคู่กำลังเคลื่อนที่ด้วยความเร็วเดียวกัน (ปล่อยให้มันเป็น 1 สำหรับเรื่องนี้) ความคิดในขั้นตอนวิธีการที่ผมให้คือการที่คุณเดินทั้ง2nขั้นตอนหรือรอเวลาเทียบเท่าดังนั้นแต่ละซ้ำจะเริ่มต้นในเวลาเดียวกันสำหรับผู้เล่นทั้งสอง steptime unit2n
RB

คำตอบ:


4

ในขั้นตอนวาดจำนวนสุ่มQสม่ำเสมอระหว่าง1 , 2และ3kq123

  • ถ้าเดิน2 k - 1q=12k12k+12k1
  • ถ้ารอ2 k - 1เดิน2 k - 1รอ2 kq=22k12k12k2k12k1
  • ถ้ารอq=32k2k2k

k2kk<log2(x)+1k>=log2(x)+11/3

ดังนั้นระยะทางเดินที่คาดหวังคือ (จำกัด โดย:)

2(k=0log2(x)2k+3log2(x)k=log2(x)+1(23)k)

Which is finite, and equal, if my napkin maths are to be trusted, to 2log2(x)+3216x.

By the way, if d is the random variable representing the distance walked, we still have that D>0,P(d>D)>0, i.e. the distance is unbounded and can end up being arbitrarily high. Luckily this probability vanishes fast enough to ensure that the infinite sum D=0P(d=D)D=E[d] converges. Having a finite upper bound for d is a much stronger property and I reckon it's not possible to find a solution satisfying it.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.