คำถามที่ฉันสนใจนั้นเกี่ยวข้องกับการสร้างพีชคณิตแบบสุ่ม เมื่อพิจารณาถึงความน่าจะเป็นในการสร้างบล็อคพื้นฐานแบบคู่ตึกวิธีที่มีประสิทธิภาพมากที่สุดในการสร้างการเรียงสับเปลี่ยนแบบสุ่มขององค์ประกอบคืออะไร? นี่ฉันจะใช้ "ความน่าจะเป็นประตูการแลกเปลี่ยนคู่" ที่จะดำเนินการซึ่งดำเนินประตูแลกเปลี่ยนระหว่างองค์ประกอบได้รับการแต่งตั้งและมีบางส่วนน่าจะเป็นซึ่งสามารถเลือกได้อย่างอิสระสำหรับแต่ละประตูและเอกลักษณ์เป็นอย่างอื่น
ฉันรู้ว่านี่ไม่ใช่วิธีที่สร้างการเรียงสับเปลี่ยนแบบสุ่มซึ่งโดยปกติคน ๆ หนึ่งอาจใช้สิ่งที่คล้ายกับสับเปลี่ยน Fisher-Yates แต่สิ่งนี้จะไม่ทำงานสำหรับแอปพลิเคชันที่ฉันมีอยู่ในใจเนื่องจากการดำเนินการที่อนุญาตแตกต่างกัน
เห็นได้ชัดว่าสิ่งนี้สามารถทำได้คำถามคือวิธีที่มีประสิทธิภาพ จำนวนการแลกเปลี่ยนความน่าจะเป็นที่น้อยที่สุดที่จำเป็นเพื่อให้บรรลุเป้าหมายนี้คืออะไร?
UPDATE:
Anthony Leverrier แสดงวิธีการด้านล่างซึ่งทำให้เกิดการแจกจ่ายที่ถูกต้องโดยใช้ประตูโดย Tsuyoshi Ito ให้วิธีการอื่นที่มีขนาดเท่ากัน แต่ที่ดีที่สุดที่ถูกผูกไว้ที่ต่ำกว่าที่ฉันได้เห็นเพื่อให้ห่างไกลซึ่งเครื่องชั่งน้ำหนักเป็นn) ดังนั้นคำถามยังคงเปิดอยู่:ดีที่สุดที่สามารถทำได้ (เช่นมีขอบเขตล่างที่ดีกว่า) หรือไม่ หรืออีกวิธีหนึ่งจะมีวงจรครอบครัวที่มีประสิทธิภาพมากขึ้น?
UPDATE:
หลายคำตอบและแสดงความคิดเห็นได้เสนอวงจรซึ่งจะประกอบด้วยทั้งหมดของสัญญาแลกเปลี่ยนความน่าจะเป็นที่น่าจะเป็นแบบคงที่{2} วงจรดังกล่าวไม่สามารถแก้ปัญหานี้ได้ด้วยเหตุผลดังต่อไปนี้ (ยกขึ้นจากความคิดเห็น):
ลองนึกภาพวงจรที่ใช้ประตูเช่นจากนั้นจะมีเส้นทางการคำนวณที่จัดให้และดังนั้นการเปลี่ยนรูปแบบใด ๆ จะต้องเกิดขึ้นกับความน่าจะเป็นสำหรับจำนวนเต็ม k บางส่วน อย่างไรก็ตามสำหรับการแจกแจงแบบเดียวกันเราต้องการให้ซึ่งสามารถเขียนใหม่เป็นเมตร เห็นได้ชัดว่าสิ่งนี้ไม่สามารถทำได้สำหรับค่าจำนวนเต็มสำหรับตั้งแต่(สำหรับแต่เมตร
UPDATE (จาก mjqxxxx ผู้เสนอความโปรดปราน):
เงินรางวัลที่เสนอคือ (1) หลักฐานที่ต้องการประตูหรือ (2) วงจรการทำงานสำหรับใด ๆที่ใช้น้อยกว่าประตูn n ( n - 1 ) / 2