อัลกอริทึมแบบสุ่มใดที่มีความน่าจะเป็นข้อผิดพลาดเล็ก ๆ น้อย ๆ


15

สมมติว่าอัลกอริทึมแบบสุ่มใช้rบิตแบบสุ่ม ต่ำสุดน่าจะเป็นหนึ่งในข้อผิดพลาดสามารถคาดหวัง (ล้มสั้นของอัลกอริทึมที่กำหนดด้วย 0 ข้อผิดพลาด) เป็น2Ω(r) ) อัลกอริทึมแบบสุ่มใดที่ให้โอกาสในการเกิดข้อผิดพลาดน้อยที่สุด

ตัวอย่างที่นึกได้คือ:

  • อัลกอริทึมการสุ่มตัวอย่างเช่นที่หนึ่งต้องการประเมินขนาดของชุดที่หนึ่งสามารถตรวจสอบการเป็นสมาชิก ถ้ามีตัวอย่างหนึ่งตัวอย่างที่สุ่มตรวจสอบองค์ประกอบที่ถูกผูกไว้ Chernoff รับประกันความน่าจะเป็นข้อผิดพลาดเล็ก ๆ น้อย ๆ
  • อัลกอริทึม Karger-Klein-Tarjan สำหรับการคำนวณแผนผังการขยายขั้นต่ำ อัลกอริธึมเลือกแต่ละขอบด้วยความน่าจะเป็น 1/2 และค้นหา MST ซ้ำในตัวอย่าง เราสามารถใช้เชอร์อฟฟ์เพื่อยืนยันว่ามันไม่น่าเป็นไปได้ที่จะมี 2n + 0.1m ของขอบที่ดีกว่าต้นไม้

คุณนึกถึงตัวอย่างอื่นได้ไหม

คำตอบต่อไปนี้ของ Andras ด้านล่าง:จริง ๆ แล้วอัลกอริธึมเวลาพหุนามสามารถแปลงเป็นอัลกอริธึมเวลาพหุนามที่ช้ากว่าโดยมีความน่าจะเป็นข้อผิดพลาดเล็ก ๆ น้อย ๆ โฟกัสของฉันอยู่ที่อัลกอริทึมที่มีประสิทธิภาพมากที่สุด โดยเฉพาะอย่างยิ่งสำหรับสองตัวอย่างที่ฉันให้มีอัลกอริทึมเวลาพหุนามที่กำหนดที่แก้ปัญหา ความสนใจในอัลกอริทึมแบบสุ่มนั้นขึ้นอยู่กับประสิทธิภาพของมัน


1
ไม่ใช่คำตอบที่สมบูรณ์ แต่มีงานบางอย่างในพีชคณิตเชิงเส้นเชิงตัวเลขแบบสุ่ม youtube.com/watch?v=VTroCeIqDVc
Baby Dragon

บางทีเราอาจไม่สามารถคาดหวังได้ แต่เราสามารถหวังได้อย่างแน่นอน (ยังคง "ขาดอัลกอริธึมที่กำหนดได้โดยมีข้อผิดพลาด 0") ซึ่งสำหรับจำนวนจริงทั้งหมดcถ้า c<1 แล้วมีอัลกอริทึม ซึ่งความน่าจะเป็นข้อผิดพลาดคือ2cr. ฉันเชื่อว่าการทดสอบเอกลักษณ์พหุนามเป็นปัญหาดังกล่าว

@RickyDemer ฉันไม่เข้าใจความคิดเห็นของคุณ อัลกอริทึมแบบสุ่มปกติสำหรับ PIT มีข้อผิดพลาดซึ่งไม่ได้เป็นเลขชี้กำลังในการสุ่ม แล้วคุณจะพูดอะไร คุณกำลังบอกว่าอาจมีอัลกอริทึมดังกล่าวสำหรับปัญหา BPP หรือไม่?
Sasho Nikolov

ตอนนี้ฉันรู้แล้วว่าฉันไม่เห็นวิธีใดที่แสดงให้เห็นว่า PIT อยู่ในชั้นเรียนที่ฉันอธิบาย ในทางตรงกันข้ามการปล่อยให้ -super-polynomial ในd (เช่นการปล่อยให้ความยาว (S) เป็น superlinear ในความยาว (d)) จะพอเพียงสำหรับบทสรุปของ Schwartz-ZippelSd (ต่อ ... )

1
การก่อสร้างวิธี probabilsitic หลายคนมีพฤติกรรมดังกล่าวไม่? ตัวอย่างเช่นการเลือกชุดของสตริงไบนารีแบบสุ่มและมองหาคู่ที่ใกล้ที่สุด - ความน่าจะเป็นที่จะมีสองสตริงในระยะที่น้อยกว่ามีขนาดเล็กมาก -------------------------------------------------- ----------------------- ด้วยจิตวิญญาณของคำตอบ BPP ด้านล่าง: ด้วยตัวขยายองศาคงที่โดยมีจุดยอดnและจุดยอดที่มีเครื่องหมายn / 2ความน่าจะเป็นของการเดินสุ่มความยาวO ( t )เพื่อพลาดจุดสุดยอดที่ทำเครื่องหมายไว้คือ2 - Ω ( t )ถ้าt = Ω (n/4n/2O(t)2Ω(t) ) t=Ω(logn)
Sariel Har-Peled

คำตอบ:


18

Impagliazzo และ Zuckerman พิสูจน์แล้ว (FOCS'89 ดูที่นี่ ) ว่าหากอัลกอริทึม BPP ใช้บิตสุ่มเพื่อให้ได้ความน่าจะเป็นที่ถูกต้องอย่างน้อย 2/3 จากนั้นใช้การสุ่มเดินบนกราฟตัวขยายซึ่งสามารถปรับปรุงความน่าจะเป็นความถูกต้องได้ ของ1 - 2 - kโดยใช้บิตสุ่มO ( r + k ) ( หมายเหตุ:ในขณะที่ผู้เขียนใช้ค่าคงที่ 2/3 เฉพาะในนามธรรมมันสามารถถูกแทนที่ด้วยค่าคงที่อื่น ๆ ที่มากกว่า 1/2)r12kO(r+k)

ถ้าเราใช้เวลาหมายถึงที่ใด ๆอัลกอริทึม BPP ที่บรรลุความน่าจะเป็นข้อผิดพลาดคงที่< 1 / 2โดยใช้Rบิตสุ่มสามารถ (ที่ไม่ใช่นิด) ที่ดีขึ้นจะมีข้อผิดพลาดน่าจะเป็น2 - Ω ( R ) ดังนั้น (ยกเว้นกรณีที่ฉันเข้าใจผิดบางอย่าง) ความน่าจะเป็นข้อผิดพลาดของ2 - Ω ( r )สามารถทำได้สำหรับทุกปัญหาใน BPPk=r<1/2r2Ω(r)2Ω(r)


6
ปัญหาเกี่ยวกับเทคนิคการขยายสัญญาณคือพวกมันทำให้อัลกอริทึมช้าลง อัลกอริทึมใหม่อาจใช้เฉพาะบิตสุ่ม O (r) แต่เวลาทำงานของมันคือ r ครั้ง (รันไทม์ดั้งเดิม) ถ้า r คือพูดอย่างน้อยเชิงเส้นในขนาดอินพุต n (ซึ่งโดยปกติแล้ว) คุณเพียงแค่ทำให้อัลกอริทึมช้าลงโดยปัจจัย n นั่นไม่ใช่สิ่งที่ algorithmists ส่วนใหญ่จะเกี่ยวกับความสุข ...
Dana Moshkovitz

2

ฉันไม่แน่ใจว่านี่คือสิ่งที่คุณกำลังมองหา แต่มันเกี่ยวข้องกับ:

kktpk,t

t4t

pk,tO(k4t).

t=1

pk,12(1o(1))klnlnklnk2Ω~(k).

ดูErdös and Pomerance (1986) , Kim and Pomerance (1989)และDåmgard, Landrock และ Pomerance (1993)สำหรับรายละเอียดเพิ่มเติม

O(k2)O(k)

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