การสุ่มแบบสุ่ม (พิสูจน์ได้) สามารถแทนที่ด้วยการสุ่ม Kolmogorov สำหรับ RP ได้หรือไม่?


10

มีความพยายามใด ๆ ที่จะแสดงให้เห็นว่าการสุ่ม KolmogorovจะเพียงพอสำหรับRPหรือไม่? ความน่าจะเป็นที่ใช้ในคำสั่ง "ถ้าคำตอบที่ถูกต้องคือใช่แล้วมัน (เครื่องทัวริงน่าจะเป็น) จะส่งคืน YES ด้วยความน่าจะเป็น ... " จะถูกกำหนดไว้อย่างดีเสมอในกรณีนั้นหรือไม่ หรือจะมีขอบเขตบนและล่างสำหรับความน่าจะเป็นนั้นเท่านั้น หรือว่าจะมีเครื่องทัวริงที่น่าจะเป็นไปได้เสมอซึ่งความน่าจะเป็นที่กำหนดไว้อย่างดี (หรืออย่างน้อยก็ขอบเขตล่างที่ควรใหญ่กว่า 1/2)

คลาส RP ที่นี่ค่อนข้างไม่มีกฎเกณฑ์และเราก็สามารถถามคำถามนี้สำหรับความคิดที่อ่อนแอกว่าของการสุ่ม (หลอก) กว่า Kolmogorov randomness แต่การสุ่ม Kolmogorov น่าจะเป็นจุดเริ่มต้นที่ดี


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

Letเป็น (Kolmogorov สุ่ม) สตริง ให้เป็นเครื่องทัวริงที่เป็นไปได้ที่สอดคล้องกับภาษาจาก RP รันด้วยเป็นซอร์สสำหรับบิตสุ่มครั้งดำเนินการต่อเพื่อกินบิตที่ไม่ได้ใช้ก่อนหน้านี้จากหนึ่งหลังจากที่อื่นA A s n ssAAsns

สำหรับให้และพี _- ^ s = \ liminf_ {n \ to \ infty} p_n ^ s สังเกตว่าP + _ ^ sและพี _- ^ sมีการกำหนดไว้อย่างดีสำหรับสตริงที่กำหนดsแม้ว่ามันจะไม่เป็นแบบสุ่ม แต่บางคนอาจสงสัยว่าพี _ + ^ s p = _- ^ sในกรณีที่เป็น Kolmogorov สุ่มหรือไม่ว่าพี _- ^ {s_1} p = _- ^ {s_2}สองพล Kolmogorov สตริงสุ่มs_1และs_2 หรือไม่ว่าจะมีp \ geq 1/2เช่นนั้นp \ leq p _- ^ sสำหรับสตริงสุ่ม Kolmogorov ใด ๆpns:=#YES result in first n runs of A on snp+s:=lim supnpnsps:=lim infnpnsp+spssp+s=pssps1=ps2s1s2p1/2ppss .


2
ฉันไม่เข้าใจคำถาม คุณหมายถึงอะไรโดย "<concept of randomness> เพียงพอสำหรับ <complex class>"? RP สามารถแยกส่วนในเวลาพหุนามด้วย oracle สำหรับสตริงสุ่ม Kolmogorov ถ้านั่นคือสิ่งที่คุณกำลังถาม
Emil Jeřábek

2
ฉันไม่เข้าใจสิ่งที่คุณหมายถึงด้วยการบอกว่า RP จะ "ทำงาน" และฉันไม่เข้าใจความคิดเห็นสุดท้ายของคุณ (เครื่อง RP มักจะหยุดหลังจากหลายขั้นตอนตามพหุนามไม่ว่าจะโดยการกำหนดหรือไม่สูญเสียความเห็นทั่วไปหากใช้ไม่สะดวก ความหมาย)
Emil Jeřábek

2
ในคำถามตัวเองฉันยังไม่เข้าใจความหมายของ "ความน่าจะเป็น" เมื่อพูดถึง Kolomogorov สตริงสุ่ม ซึ่งแตกต่างจากปกติ“ สตริงสุ่ม” ซึ่งดึงมาจากการแจกแจงแบบสุ่มการสุ่ม Kolmogorov เป็นคุณสมบัติใช่ - ไม่ใช่จริงที่สตริงที่กำหนดไม่มีหรือไม่มี ดังนั้นสตริงดังกล่าวที่ทำให้อัลกอริทึมยอมรับไม่ใช่ตัวแปรสุ่มหรือไม่และมันไม่มีความหมายเลยที่จะถามเกี่ยวกับความน่าจะเป็นของมัน
Emil Jeřábek

1
วิธีการที่สมเหตุสมผลในการทำเช่นนี้คือการใช้มุมมอง "เชิงสร้างสรรค์ Martingales" ของสตริงสุ่มอัลกอริธึม โดยเฉพาะอย่างยิ่งหนึ่งอาจหวังว่าถ้าล้มเหลวที่จะหลอกแล้วนี้จะแปลเป็น "ถัดบิตทำนาย" สำหรับแล้วเป็นแสดงให้เห็นถึงกลยุทธ์การพนันที่ไม่ได้เป็นแบบสุ่ม ฉันไม่ทราบว่าวิธีการนี้แม้ว่าจะใช้งานได้หรือไม่จะให้อัตราคอนเวอร์เจนซ์ที่มีความหมายสำหรับและ ; อย่างไรก็ตามเห็นได้ชัดว่ามีวิธีการแบบเก่าในการศึกษาคลาสที่ซับซ้อน (คำหลัก: "การวัดที่ จำกัด ขอบเขตทรัพยากร") ที่ใช้ความคิดนี้ดังนั้นจึงมีความหวังอยู่บ้าง sAssp+p
Andrew Morgan

1
ลิงค์ Wikipedia ที่เกี่ยวข้อง (ซึ่งมีการอ้างอิงเพิ่มเติม) สำหรับความคิดเห็นก่อนหน้าของฉัน: Martingales เชิงสร้างสรรค์ (ดูคำจำกัดความที่สาม) และมาตรการที่ จำกัด ขอบเขตทรัพยากร
Andrew Morgan

คำตอบ:


13

ฉันคิดว่าคำถามที่ถูกถามนี่คือคร่าวๆ " มีความรู้สึกไหมที่เราสามารถแทนที่ลำดับของบิตสุ่มในอัลกอริทึมด้วยบิตที่ดึงออกมาจากสตริงสุ่ม Kolmogorov ที่เหมาะสมเป็นเวลานาน " นี่เป็นคำถามที่ฉันจะพยายาม ตอบ! (คำตอบสั้น ๆ คือ "ใช่ แต่ถ้าคุณขยายความน่าจะเป็นข้อผิดพลาดก่อน")


ใช่...

แน่นอนเราสามารถพูดอะไรบางอย่างที่นี่ ให้เป็นภาษาและให้เป็นอัลกอริธึมที่ใช้เป็นอินพุตและสตริงสุ่ม (การกระจายแบบสม่ำเสมอเหนือ ) เซนต์(x) ในคำอื่น ๆเป็นอัลกอริทึมที่ errs กับความน่าจะเป็นที่มากที่สุดcdot)LAxrUf(|x|){0,1}f(|x|)Pr[A(x,r)=L(x)]>1ϵ(x)Aϵ()

ขอให้สังเกตว่าถ้าให้คำตอบที่ผิดกับเช่นสิ่งนี้ทำให้เรามีวิธีการอธิบายโดยเฉพาะเราสามารถอธิบายได้ว่าเป็นสตริงที่ทำให้ผิดพลาดในในการทำเช่นนี้เราเพียงสร้างเครื่องจักรที่มีรหัสตายตัว , ,และบิตและระบุตัวเลือกของจากจนกว่าจะพบเลือกที่ -th ของดังกล่าวที่bA(x,r)A(x,r)L(x)riAx.xAib=1xLr{0,1}f(|x|)irA(x,r)b

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

|x|+|i|+O(1)=|x|+log2(2f(|x|)ϵ(x))+O(1)=|x|+f(|x|)log(1/ϵ(x))+O(1).

จำได้ว่าคือความยาวดังนั้นนี่คือการบีบอัดของ ifตัวอย่างเช่นเมื่อ|}rf(|x|)r

log(1/ϵ(x))=|x|+ω(1),
ϵ(x)=1/22|x|

ในที่สุดสังเกตว่าถ้าเป็นสตริงสุ่ม Kolmogorov ดังนั้นเราอาจไม่มีการบีบอัดเช่นนี้ตราบใดที่ความน่าจะเป็นข้อผิดพลาดของมีขนาดเล็กเพียงพอสตริงสุ่ม Kolmogorov แทนที่ลำดับสุ่มบิตจะทำให้ตอบ ได้อย่างถูกต้อง!rAA

ขอให้สังเกตว่าสิ่งเดียวที่เราใช้ประโยชน์เกี่ยวกับคือความน่าจะเป็นข้อผิดพลาดของมันมีขนาดเล็ก เราไม่สนใจว่ามีเวลาทำงานนานมากหรือมีข้อผิดพลาดด้านหนึ่งหรือสองข้อAAA

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


... แต่ถ้าเราขยายก่อน

คำถามติดตามอาจเป็น "ฉันสามารถทำสิ่งนี้ได้โดยไม่ต้องขยายความน่าจะเป็นข้อผิดพลาด?" พิจารณาขั้นตอนวิธีการดังต่อไปนี้ที่ตัดสินใจและมีข้อผิดพลาดน่าจะเป็น nA{0,1}1/2n

ในอินพุต :x

  • สร้างสตริงr{0,1}n
  • ถ้าปฏิเสธr=x
  • ยอมรับ.

ขอให้สังเกตว่าสำหรับทางเลือกของทุกมีทางเลือกบางส่วนของดังกล่าวว่าerrs บนคือทางเลือกของที่เป็นดังนั้นเราจึงไม่สามารถแทนที่การสุ่มลำดับบิตที่ใช้โดยกับสตริงแบบสุ่ม Kolmogorov โดยไม่ต้องขยาย มันน่าจะเป็นข้อผิดพลาด!rxAxr xA


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


เพื่อนของฉัน Preetum ชี้ให้เห็นความโง่เขลาของการเข้ารหัสเครื่องและตัดสินใจเมื่อเราสามารถแทนเพียงเข้ารหัสบิตซึ่งบอกว่าไม่ว่าจะเป็นหรือไม่L ฉันจะแก้ไขคำตอบเพื่อสะท้อนสิ่งนี้ MM(x)xL
Dylan McKay

1
Mike Sipser ใช้อาร์กิวเมนต์การบีบอัดที่คล้ายกันในsciencedirect.com/science/article/pii/0022000088900359กระดาษเย็นของเขา(โปรดสังเกตว่ากราฟตัวขยายที่เขาต้องการได้สร้างขึ้นจริง ๆ แล้วอย่างชัดเจนdl.acm.org/citation.cfm?id=273915 )
Ryan Williams
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.