อัลกอริทึมแบบสุ่มที่ "ดู" กำหนดขึ้นได้อย่างไร


31

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

โดยเฉพาะอย่างยิ่งฉันสงสัยว่ามีอัลกอริทึมดังกล่าวสำหรับการค้นหานายกระหว่าง n และ 2n ไม่มีอัลกอริธึมกำหนดเวลาพหุนามที่เป็นที่รู้จัก มีอัลกอริทึมแบบสุ่มเล็ก ๆ น้อย ๆ ที่ใช้งานได้โดยการสุ่มตัวอย่างจำนวนเต็มแบบสุ่มในช่วงเวลาซึ่งใช้ได้กับทฤษฎีจำนวนเฉพาะ แต่มีอัลกอริทึมของชนิดข้างต้นซึ่งเวลาทำงานที่คาดหวังอยู่ระหว่างกลางทั้งสอง?

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


3
เพื่อให้คุณคำค้นหาบางสุ่มขั้นตอนวิธีการซึ่งมักจะก่อให้คำตอบที่ถูกต้อง (และการใช้การสุ่มสำหรับเวลาทำงานสั้น) จะเรียกว่าอัลกอริทึมลาสเวกัส (เมื่อเทียบกับอัลกอริทึม Monte Carlo) หรืออัลกอริทึมศูนย์ข้อผิดพลาดและความสลับซับซ้อนที่เกี่ยวข้องZpp .
Tsuyoshi Ito

@Tsuyoshi: ขอบคุณสำหรับความคิดเห็นของคุณ แต่ฉันไม่ได้ตระหนักถึงอัลกอริทึมชนิดลาสเวกัสสำหรับปัญหาการค้นหา นี่คือคำถามของฉัน
arnab

หากมีอัลกอริทึมแบบสุ่มสำหรับการค้นหาสมดุลของแนชที่ไม่ซ้ำใครที่จะตอบคำถามของคุณ
Warren Schudy

อาจมีปัญหาบางอย่างเกี่ยวกับการโจมตีวันเกิด ( en.wikipedia.org/wiki/Birthday_attack ) ที่เหมาะกับความต้องการของคุณหรือไม่
Warren Schudy

คำตอบ:


23

Shafi Goldwasser สื่อสารกับฉันว่าเธอและผู้เขียนร่วมได้ทำการตรวจสอบขั้นตอนวิธีดังกล่าวสำหรับปัญหาเชิงทฤษฎีจำนวนอย่างแน่นอน! ต่อไปนี้เป็นที่รู้จักกัน:

  1. Lenstra แสดงให้เห็นว่ามีอัลกอริทึมดังกล่าวสำหรับการค้นหา mod ที่ไม่เป็นสมการกำลังสองที่เป็นไพร์มที่กำหนด

  2. Gat และ Goldwasser ได้แสดงให้เห็นว่ามีเป็นเช่นอัลกอริทึมสำหรับการค้นหากำเนิดของที่เป็นนายกได้รับของแบบฟอร์มสำหรับนายกคิว p2q+1qZพี* * * *พี2Q+1Q

(ผมไม่ทราบว่าของการอ้างอิง citable.) นอกจากนี้ยังมีการวิจัยอย่างต่อเนื่องเกี่ยวกับคำถามที่ผมถามเกี่ยวกับการหาที่สำคัญระหว่างและ2n2 nn2n

แก้ไข: กระดาษโดย Gat และ Goldwasser มีการเผยแพร่ขณะนี้: http://eccc.hpi-web.de/report/2011/136/ กระดาษนี้แม้ว่าจะไม่สามารถแก้ไขคำถามของการหาที่สำคัญระหว่างและ2n2 nn2n


1
+1 เสมือน นี่เป็นเรื่องที่น่าสนใจจริงๆ
András Salamon

2
ทั้งๆที่ทราบฉัน upvoted คำตอบนี้เพียงเพราะเป็นคำตอบที่ดี ฉันไม่คิดว่ามีอะไรผิดปกติกับการถอนคำตอบที่ดีสำหรับคนอื่น ฉันเริ่มการสนทนาเกี่ยวกับMetaเกี่ยวกับเรื่องนี้
Tsuyoshi Ito

1
ฉันลบบันทึกย่อและทำให้เป็น "community wiki" ตามการอภิปรายในเมตาดาต้า
arnab

ด้ายเมตากล่าวโดย Arnab สามารถพบได้ที่นี่: meta.cstheory.stackexchange.com/q/607/873
MS Dousti

18

โครงสร้างข้อมูลแบบสุ่มมีการนับหรือไม่

มีรายการข้ามซึ่งเป็นโครงสร้างข้อมูลแผนที่ที่เชื่อมโยงกัน

ใช้เวลาในการทำงานสำหรับการดำเนินงานร่วมกันเช่นการแทรกการดึงและการลบจะ (ในกรณีที่คาดหวัง) ในหุ้นที่มีผู้ที่อยู่ในต้นไม้ค้นหาสมดุล - คือ ) อย่างไรก็ตามโครงสร้างข้อมูลบางครั้งอ้างว่ามีปัจจัยคงที่ที่ดีกว่าการใช้งานทรีทรี Search เมื่อทำอย่างถูกต้อง (สิ่งนี้อาศัยช่วงที่มาจากการสุ่มที่ดีและมีประสิทธิภาพ) ปัจจัยคงที่ที่ดีกว่าอาจเป็นผลมาจากความจริงที่ว่าไม่มีการปรับสมดุล (หรือการดำเนินการใด ๆ ที่คล้ายกัน) ต้องเกิดขึ้นO(เข้าสู่ระบบn)


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

เพิ่มรายการข้ามไปยังรถไฟแห่งความคิด
Raphael

13

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

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


หากมีหลายจุดที่ดีที่สุด Kelner-Spielman จะกลับมาที่จุดเดิมเสมอหรือไม่?
Sasho Nikolov

3
โปรแกรมเชิงเส้นทั่วไปมีจุดที่ดีที่สุดเพียงจุดเดียวดังนั้นการใช้การก่อกวนจึงทำให้เคลเนอร์สปีลแมนสามารถสร้างตัวแปรที่ส่งคืนจุดที่ดีที่สุดเสมอ
Peter Shor

12

2nn2n

2n-1

สิ่งนี้มีคุณสมบัติหรือไม่


มีความสุข !! สิ่งนี้มีคุณสมบัติอย่างแน่นอนแม้ว่าฉันกำลังมองหาตัวอย่างที่ไม่น่าสนใจมากกว่านี้ซึ่งการปรับปรุงเวลาทำงานมีความสำคัญยิ่งกว่า
arnab

คุณไม่ต้องการโครงสร้างของต้นไม้มันใช้งานได้กับอาเรย์
sdcvvc

7

Fพีเข้าสู่ระบบพีพี

เข้าสู่ระบบพี


6

มีโครงการ polymath ตอบคำถามที่เกี่ยวข้อง: http://michaelnielsen.org/polymath1/index.php?title=Finding_primes


ใช่นี่เป็นแหล่งของแรงจูงใจสำหรับการถามคำถามของฉัน ฉันไม่คิดว่าพวกเขาพูดถึงคำถามนี้อย่างชัดเจนในโครงการโพลีมา ธ
arnab

3

เกี่ยวกับคำถามแรกของคุณฉันคิดถึง Quicksort ก่อน แต่ควรชัดเจน

มีอัลกอริทึมการจับคู่สตริง ( Nebel, 2006 ) ที่ใช้ความคิดน่าจะเป็น ฉันรู้ว่านี่เป็นวิธีที่เร็วที่สุดที่มีอยู่และคุณต้องการตัวอย่างสำหรับการฝึกอบรม


การหาค่ามัธยฐานนั้นเร็วขึ้น แต่ก็ไม่มากนัก
Aram Harrow

3

ต่อไปนี้ STACS '97 กระดาษอาจจะน่าสนใจสำหรับกรณีของคุณ: ความซับซ้อนของอินสแตนซ์ผลิตทดสอบ

บทคัดย่อ: เมื่อเร็ว ๆ นี้วาตานาเบ้ได้เสนอกรอบการทำงานใหม่สำหรับการทดสอบความถูกต้องและพฤติกรรมของกรณีโดยเฉลี่ยของอัลกอริทึมที่ตั้งใจจะแก้ปัญหาการค้นหา NP ที่ระบุอย่างมีประสิทธิภาพ แนวคิดคือการสร้างอินสแตนซ์ที่ได้รับการรับรองแบบสุ่มในลักษณะที่คล้ายคลึงกับการแจกแจงต้นแบบ เราหารือเกี่ยวกับวิธีการนี้และแสดงให้เห็นว่าสามารถสร้างอินสแตนซ์ทดสอบสำหรับปัญหาการค้นหา NP ทุกครั้งที่มีการค้นหาที่ไม่ปรับตัวกับออราเคิล NP นอกจากนี้เราขอแนะนำลาสเวกัสเช่นเดียวกับประเภทเครื่องกำเนิดไฟฟ้าแบบทดสอบมอนติคาร์โลและแสดงให้เห็นว่าเครื่องกำเนิดไฟฟ้าเหล่านี้สามารถใช้เพื่อค้นหาว่าอัลกอริทึมนั้นถูกต้องและมีประสิทธิภาพโดยเฉลี่ยหรือไม่ ในความเป็นจริงมันไม่ยากที่จะสร้างเครื่องกำเนิดไฟฟ้ามอนติคาร์โลสำหรับปัญหาการค้นหา RP ทั้งหมดรวมถึงเครื่องกำเนิดไฟฟ้าในลาสเวกัสสำหรับปัญหาการค้นหา ZPP ทั้งหมด ในทางกลับกัน,

ดูที่หน้า 384 ภายใต้ข้อ 12:

ZPPRPZPPยังไม่มีข้อความPยังไม่มีข้อความPโอยังไม่มีข้อความP


2

1ncpolylog(n)


3
นี่หมายถึงการทดสอบและไม่พบ ...
Dana Moshkovitz

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