หิมะถล่มเหมือนกระบวนการสโทแคสติก


16

พิจารณากระบวนการต่อไปนี้:

มีถังขยะnเรียงจากบนลงล่าง ในขั้นต้นแต่ละถังมีหนึ่งลูก ในทุกขั้นตอนเรา

  1. เลือกลูกบอล อย่างสม่ำเสมอและสุ่มb
  2. ย้ายลูกบอลทั้งหมดจากถังขยะที่มีbไปยังถังขยะด้านล่าง ถ้ามันเป็นถังขยะที่ต่ำที่สุดเราจะเอาลูกบอลออกจากกระบวนการ

ใช้ความคาดหวังกี่ขั้นตอนจนกว่ากระบวนการจะสิ้นสุดลงเช่นจนกว่าจะมีการลบลูกทั้งหมดnออกจากกระบวนการ เคยมีการศึกษามาก่อนหรือไม่? คำตอบนั้นติดตามได้ง่าย ๆ จากเทคนิคที่รู้จักหรือไม่?

ในกรณีที่ดีที่สุดกระบวนการสามารถเสร็จสิ้นหลังจากขั้นตอนในกรณีที่เลวร้ายที่สุดมันอาจใช้ขั้นตอนΘ ( n 2 ) ทั้งสองกรณีน่าจะเป็นไปได้ยากมาก การคาดเดาของฉันคือการใช้Θ ( n log n )nΘ(n2)Θ(nlogn)ขั้นตอนและฉันทำการทดลองบางอย่างซึ่งดูเหมือนจะยืนยันสิ่งนี้

(โปรดทราบว่าการเลือกถังขยะโดยการสุ่มเป็นกระบวนการที่แตกต่างกันอย่างมากซึ่งจะใช้ขั้นตอนจนจบ)Θ(n2)


คำถามดูน่าสนใจ (แม้ว่าฉันไม่ทราบคำตอบ) ดูเหมือนว่าจะยากเพราะไม่มีการพูดต่อเนื่องกัน หากลูกบอล n ทั้งหมดอยู่ในถังขยะด้านบนกระบวนการจะสิ้นสุดลงอย่างชัดเจนในขั้นตอน n ขั้นแน่นอน
Tsuyoshi Ito

คำตอบ:


11

ไม่ใช่คำตอบจริงๆ แต่เป็นความคิดเห็นเพิ่มเติมเกี่ยวกับคำตอบของAndrás

คำตอบของAndrásนั้นมีสัญชาตญาณที่ดีแม้ว่าฉันจะไม่เชื่อว่าเป็นการคำนวณที่แม่นยำของจำนวนขั้นตอนที่คาดหวัง ฉันคิดว่ามันอาจเป็นการประมาณคำตอบที่ดี แต่ดูเหมือนว่าจะไม่จัดการกับกรณีที่ bin ด้านล่างถังขยะที่ถูกครอบครองสูงสุดว่างเปล่าก่อนที่ Bin ถังด้านบนจะว่างเปล่า อย่างไรก็ตามนี่อาจเป็นการประมาณที่สมเหตุสมผลที่จะทำ (ฉันไม่แน่ใจ)

การคำนวณของเขามีข้อผิดพลาดซึ่งมีผลต่อการปรับขนาด ฉันจะใช้จุดเริ่มต้นเดียวกันและทำซ้ำและขยายการคำนวณ

มันพลาดปัจจัย p ในการสรุปเนื่องจากความน่าจะเป็นที่สุ่มเลือก bin ที่ถูกต้องคือมากกว่า1pn . เป็นผลให้เรามี1n

n+Σพี=1nΣk=0(k+1)พีn(n-พีn)k=n+Σพี=1nพีnΣk=0(k+1)(n-พีn)k=n+Σพี=1nพีnn2พี2=n+nΣพี=1n1/พี=n(1+Hn)

ที่เป็นที่ n จำนวนฮาร์มอนิ ที่ใกล้เคียงกับH nเราก็สามารถแทนที่บวกด้วยหนึ่ง: H nn + 1 1 1Hn=Σพี=1n1/พีHn) ดังนั้นการปรับคือn(1+เข้าสู่ระบบ(n+1))หรือประมาณnเข้าสู่ระบบ(n+1) ในขณะที่การปรับขนาดนี้ไม่ตรงกับการปรับขนาดของปัญหาว่า (ดูการจำลองด้านล่าง) จะออกโดยเกือบตรงปัจจัยของการเข้าสู่ระบบ(2)Hn1n+11xdx=เข้าสู่ระบบ(n+1)n(1+เข้าสู่ระบบ(n+1))nเข้าสู่ระบบ(n+1)เข้าสู่ระบบ(2)

ทฤษฎีการจำลองสถานการณ์

วงกลมสีแดง: จุดข้อมูลจากการจำลองกระบวนการเฉลี่ยมากกว่า 10k วิ่ง สีเขียว: ) ฟ้า: n ล็อก( n + 1 )nlog2(n+1)nlog(n+1)


@Joe: ทำได้ดีมาก! ตอนนี้มันน่าสนใจที่จะแสดงให้เห็นอย่างจริงจังว่าปัจจัยมาจากการสร้างช่องว่าง LN2
András Salamon

@ András: ฉันไม่ได้มีความรู้สึกที่ดีถ้ามันเป็นเสียงที่ประมาณว่าจะทำหรือไม่ @ ความคิดของ Peter เกี่ยวกับการรวมตัวกันเป็นกลุ่มที่เลื่อนลงดูเหมือนว่าควรให้การแสดงออกที่ถูกต้องโดยสมมติว่าสิ่งเหล่านี้มีแนวโน้มที่จะก่อตัวในถังขยะใด ๆ
Joe Fitzsimons

@ โจ: ลูกบอลส่วนใหญ่จะยังคงอยู่โดดเดี่ยวในเกือบ 1/3 ของกรณี พิจารณาลูกบอล 3 อันดับแรก หากตรงกลางถูกเลือกก่อน (จาก 3) มันจะเข้าร่วมอันที่สาม จากนี้ไปทั้งสองจะเคลื่อนที่เร็วเป็นสองเท่าของลูกบอลบน ระยะห่างระหว่างพวกเขากับบอลชั้นบนเป็นการเดินสุ่มแบบเอนเอียงอย่างหนักและความน่าจะเป็นสำหรับบอลบนที่จะไล่ตามนั้นจะถูก จำกัด ด้วยค่าคงที่ (ish) ขนาดเล็ก (ประมาณ 15% โดยประมาณ) แต่ข่าวดีก็คือว่าลูก log log n ไม่ควรสำคัญจริงๆ หากทุกอย่างถูกล้างในขั้นตอน n \ log n พวกเขาจะเพิ่มขั้นตอน n \ log n เพิ่มเติมเท่านั้น
แมทเทียส

นี่คือสองแปลง ทั้งสองแสดงจำนวนของขั้นตอนหารด้วยจนกระทั่งทุกอย่างยกเว้นลูกบอลล็อกnจะถูกล้าง สำหรับครั้งแรกหนึ่งลูกที่เลื่อนออกจากระบบยังสามารถเลือก (เช่นAndrásเสนอก่อน): tinyurl.com/2wg7a9y สำหรับหนึ่งในสองลูกที่เลื่อนออกจากระบบจะไม่ได้รับเลือกอีกต่อไป: tinyurl.com/33b63pq อย่างที่คุณเห็นขอบเขตที่กระบวนการแรกอาจให้นั้นอ่อนแอเกินไป บางทีมันอาจจะปรับได้โดยพิจารณาจากเฟส (เช่นปีเตอร์เขียนที่อื่น) ซึ่งเรามักจะลดจำนวนลูกลงในระบบเสมอ? nเข้าสู่ระบบn
Matthias

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

9

แก้ไข:ฉันออกจากคำตอบนี้เป็น (ตอนนี้) เพื่อแสดงให้เห็นถึงกระบวนการยุ่งเหยิงในการพิสูจน์ทฤษฎีบทสิ่งที่เหลือจากเอกสารเผยแพร่ สัญชาตญาณหลักที่นี่คือมันเพียงพอที่จะมุ่งเน้นไปที่ลูกบอลชั้นบนในขณะที่มันกวาดไปด้านล่างทั้งหมด โปรดดูความคิดเห็น (โดยเฉพาะ @Michael ชี้ให้เห็นว่าช่องว่างสามารถเกิดขึ้นได้) และคำตอบในภายหลังของ @ Joe สำหรับวิธีการระบุและแก้ไขข้อผิดพลาด ฉันชอบการใช้การทดลองของโจเพื่อตรวจสอบอีกครั้งว่าสูตรนั้นมีเหตุผล


n(1+π2/6)nสำหรับจำนวนที่คาดหวังของขั้นตอน

12n ดังนั้น 1=n, 2n-1, ..., ผมn-ผม+1. เงื่อนไขเพิ่มเติมจำเป็นสำหรับการเรียงลำดับเพื่อหลีกเลี่ยงลูกบอลที่ถูกเลือกซึ่งไม่ได้อยู่ในระบบอีกต่อไป แต่สำหรับจุดประสงค์ของขอบเขตบนสมมติว่ามีลำดับการลดของถังขยะที่ไม่สิ้นสุด (ดังนั้นลูกบอลจะไม่หายไปเมื่อออกจากถังขยะ 1 แต่ถูกย้ายไปที่ bin 0 จากนั้น bin -1 และอื่น ๆ ) จากนั้นจำนวนที่คาดหวังของขั้นตอนสำหรับการเรียงลำดับดังกล่าวที่จะเห็นคือจำนวนขั้นตอนที่คาดหวังมาก่อน1 จะเห็นรวมถึงจำนวนขั้นตอนที่คาดไว้ก่อน 2 มีให้เห็นเป็นต้น n สามารถเป็นตัวเลขใด ๆ ก็ได้ 1,2,,n). These can be seen as separate events, one after the other. The expected number of steps is then

n+p=1nk=0k+1n(npn)k=n+p=1n11npk=1k(npn)k=n+p=1n11npn(np)/p2=n+np=1n11/p2(1+π2/6)n.


3
@Andras @Joe: Holy schmoley. If all the people asking the questions on this site took their questions as seriously as you take answering them, this would be the badassest url on the internet.
Aaron Sterling

1
@András: I'm trying to understand your statement "a sequence of balls will clear all the bins precisely if it contains a subsequence...". Maybe I've misunderstood something, but say we have four balls. If the sequence is 3,4,3,2,4 then it seems to satisfy your subsequence requirement, yet not all the bins have been cleared.
Michael

1
@András: If you want to show a reasonable upper bound, you have to use the fact that balls disappear from the process and are no longer picked. Otherwise, the top most ball is always only picked with probability 1/n and there is a good chance (maybe slightly less than 1/2) that this ball will stay isolated the whole time. For this ball, you will need n^2 steps.
Matthias

1
@Michael: I think you have identified the mistake. I'm assuming falsely that the top ball will move down even if there is a gap.
András Salamon

2
Here's my intuition. After a few steps, some clump of balls is going to be larger than any other clump of balls. At this point, the clump moves faster than everything else, clears everything below it and falls out of the system. This whole process should take O(n) or maybe O(nlogn) steps. This first clump is uniformly distributed in the line, so on average it takes half the balls with it. Now, we're left with a system of around n/2 balls, and another clump forms. So after around logn clumps, we're done.
Peter Shor
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.