11
วิธีที่มีประสิทธิภาพที่สุดในการสร้างการเปลี่ยนรูปแบบสุ่มจากการแลกเปลี่ยนความน่าจะเป็นคืออะไร
คำถามที่ฉันสนใจนั้นเกี่ยวข้องกับการสร้างพีชคณิตแบบสุ่ม เมื่อพิจารณาถึงความน่าจะเป็นในการสร้างบล็อคพื้นฐานแบบคู่ตึกวิธีที่มีประสิทธิภาพมากที่สุดในการสร้างการเรียงสับเปลี่ยนแบบสุ่มขององค์ประกอบคืออะไร? นี่ฉันจะใช้ "ความน่าจะเป็นประตูการแลกเปลี่ยนคู่" ที่จะดำเนินการซึ่งดำเนินประตูแลกเปลี่ยนระหว่างองค์ประกอบได้รับการแต่งตั้งและมีบางส่วนน่าจะเป็นซึ่งสามารถเลือกได้อย่างอิสระสำหรับแต่ละประตูและเอกลักษณ์เป็นอย่างอื่นnnniiijjjppp ฉันรู้ว่านี่ไม่ใช่วิธีที่สร้างการเรียงสับเปลี่ยนแบบสุ่มซึ่งโดยปกติคน ๆ หนึ่งอาจใช้สิ่งที่คล้ายกับสับเปลี่ยน Fisher-Yates แต่สิ่งนี้จะไม่ทำงานสำหรับแอปพลิเคชันที่ฉันมีอยู่ในใจเนื่องจากการดำเนินการที่อนุญาตแตกต่างกัน เห็นได้ชัดว่าสิ่งนี้สามารถทำได้คำถามคือวิธีที่มีประสิทธิภาพ จำนวนการแลกเปลี่ยนความน่าจะเป็นที่น้อยที่สุดที่จำเป็นเพื่อให้บรรลุเป้าหมายนี้คืออะไร? UPDATE: Anthony Leverrier แสดงวิธีการด้านล่างซึ่งทำให้เกิดการแจกจ่ายที่ถูกต้องโดยใช้ประตูโดย Tsuyoshi Ito ให้วิธีการอื่นที่มีขนาดเท่ากัน แต่ที่ดีที่สุดที่ถูกผูกไว้ที่ต่ำกว่าที่ฉันได้เห็นเพื่อให้ห่างไกลซึ่งเครื่องชั่งน้ำหนักเป็นn) ดังนั้นคำถามยังคงเปิดอยู่:ดีที่สุดที่สามารถทำได้ (เช่นมีขอบเขตล่างที่ดีกว่า) หรือไม่ หรืออีกวิธีหนึ่งจะมีวงจรครอบครัวที่มีประสิทธิภาพมากขึ้น?O(n2)O(n2)O(n^2)⌈log2(n!)⌉⌈log2(n!)⌉\lceil \log_2(n!) \rceilO(nlogn)O(nlogn)O(n\log n)O(n2)O(n2)O(n^2) UPDATE: หลายคำตอบและแสดงความคิดเห็นได้เสนอวงจรซึ่งจะประกอบด้วยทั้งหมดของสัญญาแลกเปลี่ยนความน่าจะเป็นที่น่าจะเป็นแบบคงที่{2} วงจรดังกล่าวไม่สามารถแก้ปัญหานี้ได้ด้วยเหตุผลดังต่อไปนี้ (ยกขึ้นจากความคิดเห็น):1212\frac{1}{2} ลองนึกภาพวงจรที่ใช้ประตูเช่นจากนั้นจะมีเส้นทางการคำนวณที่จัดให้และดังนั้นการเปลี่ยนรูปแบบใด ๆ จะต้องเกิดขึ้นกับความน่าจะเป็นสำหรับจำนวนเต็ม k บางส่วน อย่างไรก็ตามสำหรับการแจกแจงแบบเดียวกันเราต้องการให้ซึ่งสามารถเขียนใหม่เป็นเมตร เห็นได้ชัดว่าสิ่งนี้ไม่สามารถทำได้สำหรับค่าจำนวนเต็มสำหรับตั้งแต่(สำหรับแต่เมตรmmm2m2m2^mk2−mk2−mk 2^{−m}k2−m=1n!k2−m=1n!k 2^{−m}=\frac{1}{n!}kn!=2mkn!=2mk n! = 2^mkkkn≥3n≥3n\geq33|n!3|n!3|n!n≥3n≥3n\geq 33∤2m3∤2m3\nmid 2^m UPDATE (จาก mjqxxxx ผู้เสนอความโปรดปราน): เงินรางวัลที่เสนอคือ …