อะไรคือความแตกต่างระหว่างการไม่กำหนดและการสุ่ม?


38

ฉันเพิ่งได้ยินสิ่งนี้ -
"เครื่องจักรที่ไม่ได้กำหนดค่าได้นั้นไม่เหมือนกับเครื่องจักรที่น่าจะเป็นในแง่ที่หยาบคายเครื่องจักรที่ไม่ได้กำหนดค่าได้นั้นเป็นเครื่องจักรที่น่าจะเป็นไปได้

ฉันรู้สึกราวกับว่าฉันได้จุด แต่ฉันทำไม่ได้จริงๆ ใครช่วยอธิบายเรื่องนี้ให้ฉัน (ในบริบทของเครื่องจักรหรือโดยทั่วไป)

แก้ไข 1:
เพียงเพื่อชี้แจงคำพูดที่อยู่ในบริบทของหุ่นยนต์ จำกัด แต่คำถามนี้มีความหมายสำหรับเครื่องทัวริงเช่นเดียวกับที่คนอื่นได้ตอบ

นอกจากนี้ฉันได้ยินผู้คนพูดว่า - "... จากนั้นฉันเลือกวัตถุ x จากชุดที่ไม่ได้กำหนดไว้" ฉันเคยคิดว่าพวกเขาหมายถึง - "สุ่ม" ดังนั้นความสับสน


5
ในวิทยาการคอมพิวเตอร์บางคนใช้คำว่า "deterministic" เพื่อเน้นว่าอัลกอริทึมไม่ได้ถูกสุ่ม ดังนั้นความสับสน: กำหนดขึ้นได้หมายความว่าไม่ใช่แบบสุ่ม แต่ไม่ใช่กำหนดขึ้นไม่ได้หมายความว่าสุ่ม
Jukka Suomela


คำถามนี้ทำให้ผมมุมของ SE นี้ ...
ทรอยวู

คำตอบ:


27

สิ่งสำคัญคือต้องเข้าใจว่านักวิทยาศาสตร์คอมพิวเตอร์ใช้คำว่า "nondeterministic" แตกต่างจากที่ใช้กันทั่วไปในวิทยาศาสตร์อื่น ๆ nondeterministic TM นั้นถูกกำหนดขึ้นจริงในแง่ฟิสิกส์ - นั่นคือ NTM มักสร้างคำตอบเดียวกันกับอินพุตที่กำหนด: มันยอมรับได้เสมอหรือปฏิเสธเสมอ probabilistic TM จะยอมรับหรือปฏิเสธอินพุตที่มีความน่าจะเป็นดังนั้นเมื่อรันหนึ่งครั้งอาจยอมรับและอีกอันอาจจะปฏิเสธ

รายละเอียดเพิ่มเติม: ในแต่ละขั้นตอนในการคำนวณที่ดำเนินการโดย NTM แทนที่จะมีกฎการเปลี่ยนแปลงเดียวมีกฎหลายข้อที่สามารถเรียกใช้ได้ เมื่อต้องการตรวจสอบว่า NTM ยอมรับหรือปฏิเสธคุณดูสาขาที่เป็นไปได้ทั้งหมดของการคำนวณ (ดังนั้นถ้ามีให้พูดว่ามีการเปลี่ยน 2 ครั้งให้เลือกในแต่ละขั้นตอนและแต่ละสาขาการคำนวณมีขั้นตอนทั้งหมด N ขั้นตอนดังนั้นจะมีการพิจารณารวมทั้งภาพรวม ) สำหรับ NTM มาตรฐานอินพุตคือ ยอมรับหากสาขาการคำนวณใด ๆยอมรับ2N

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


เคิร์ตคุณช่วยอธิบายหน่อยได้ไหมว่าตัวเลข 2 ^ N มาถึงอย่างไร ถ้าสำหรับทุกสาขามีความเป็นไปได้ 2 อย่างและมี N สเตจที่จะไปให้ถึงทางออกนั้นจะไม่ทำให้ 2 ^ (N + 1) -1 ฉันกำลังพยายามคิดว่ามันเป็นกราฟและฉันอาจจะผิด คุณช่วยอธิบายวิธีที่คุณไปถึงที่หมายเลข 2 ^ N ได้ไหม ขอขอบคุณ.
Gangadhar

ถ้าคุณแสดงการคำนวณเป็นทรีโดยที่รูทแสดงการกำหนดค่าเริ่มต้นเป็นขั้นตอนที่ 0 จากนั้นหลังจากขั้นตอน N คุณมี 2 ^ N ใบไม้และสิ่งที่ฉันเรียกสาขาคือเส้นทางจากรูตถึง ใบไม้. เป็นความจริงที่ว่าคุณจะมี 2 ^ (N + 1) -1 โหนดทั้งหมดซึ่งแสดงถึงการกำหนดค่าที่เป็นไปได้ทั้งหมด ณ จุดหนึ่งในการคำนวณ ฉันหวังว่าคำศัพท์ของฉันไม่เป็นไร!
เคิร์ต

วิทยาศาสตร์ทั้งหมดใช้นิยามเดียวกันของ nondeterminism แบบครบวงจรบนแนวคิดของเอนโทรปีที่ไร้ขอบเขต ผลลัพธ์ที่ไม่สามารถคาดการณ์ได้ในวิทยาศาสตร์ทั้งหมดเกิดจากการไม่สามารถระบุผลลัพธ์ที่เป็นไปได้ทั้งหมดของอัลกอริทึม (หรือระบบ) เนื่องจากยอมรับสถานะที่ไม่ จำกัด เช่นระดับความซับซ้อนของ NP การระบุข้อมูลเฉพาะเพื่อสังเกตว่ามันหยุดและสังเกตว่าผลที่ได้คือ idempotent นั้นเทียบเท่ากับวิทยาศาสตร์อื่น ๆ ที่จะเก็บส่วนที่เหลือของเอนโทรปีของค่าคงที่ของจักรวาลในขณะที่ทำซ้ำการเปลี่ยนแปลงสถานะเดียวกัน การคำนวณช่วยให้การแยกเอนโทรปีนี้ในขณะที่วิทยาศาสตร์ธรรมชาติไม่สามารถทำได้
Shelby Moore III

1
@ShelbyMooreIII ไม่คุณเข้าใจผิดเกี่ยวกับแนวคิดของ nondeterminism ที่ปรากฏในวิทยาการคอมพิวเตอร์
David Richerby

@DavidRicherby ขอโทษ David ไปที่หัวข้ออื่นและดูว่าฉันได้ข้องแวะคุณอย่างน่าประทับใจ คุณสามารถลองหักล้างตรรกะที่ฉันได้นำเสนอไปที่นั่น แค่อ้างโดยปราศจากหลักฐานและคำอธิบายก็ไม่ได้ชนะความจริงใด ๆ
Shelby Moore III

18

ในบริบทของทัวริงแมชชีน "non-deterministic" หมายถึง "ขนาน" จริงๆ อัลกอริทึมแบบสุ่มสามารถสุ่มสำรวจสาขาของแผนภูมิการคำนวณของเครื่องทัวริงที่ไม่ได้กำหนดค่าได้ แต่เครื่องทัวริงที่ไม่สามารถกำหนดค่าได้สามารถสำรวจพวกมันได้ทุกอย่างในเวลาเดียวกันซึ่งเป็นสิ่งที่ให้พลังแก่มัน

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

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


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

13

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

  • “ ฉันจะเลือก”

  • non-deterministic หมายถึง“ คนอื่นได้รับเลือก”

  • สุ่มหมายถึง“ ไม่มีใครได้รับเลือก”

ตัวอย่างบางส่วน:

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

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

    • non-deterministic: ให้ผู้ดำเนินการตัดสินใจ สิ่งนี้ไม่ดีเพราะตัวดำเนินการบนทั้งสองโหนดอาจเลือกอัลกอริทึมเดียวกัน

    • สุ่ม: แต่ละโหนดจะต้องเลือกค่าความล่าช้าที่สุ่ม (พร้อมการกระจายที่ระบุ) มันเป็นวิธีการทำงาน มีความน่าจะเป็นเล็กน้อยที่โหนดทั้งสองเลือกการหน่วงเวลาเดียวกันและมีการชนกันอีกครั้ง แต่ความน่าจะเป็นที่จะประสบความสำเร็จจะเพิ่มขึ้นแบบ asymptotically ต่อ 1 เมื่อจำนวนการลองเพิ่มขึ้น

  2. [การทำงานพร้อมกัน, nondeterministic] คุณเขียนอัลกอริทึมที่เกิดขึ้นพร้อมกัน ในสถานการณ์เฉพาะอาจมีการหยุดชะงัก คุณจะป้องกันไม่ให้เกิดการหยุดชะงักได้อย่างไร ขึ้นอยู่กับชนิดของการกำหนดเวลาสภาพแวดล้อมการทำงานพร้อมกันของคุณ

    • deterministic: ตัวกำหนดตารางเวลาจะสลับไปมาระหว่างเธรดที่จุดที่กำหนดไว้อย่างแน่นอนเช่นเมื่อโค้ดให้ผลอย่างชัดเจน จากนั้นคุณก็จัดการกับหัวข้อที่จะไม่ให้ผลผลิตในเวลาที่เลวร้าย

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

    • non-deterministic (ตัวกำหนดตารางเวลาส่วนใหญ่เป็นแบบนี้): คุณไม่รู้ว่าตัวกำหนดเวลาจะสลับไปมาระหว่างเธรดหรือไม่ ดังนั้นคุณต้องหลีกเลี่ยงการหยุดชะงัก หากคุณพยายามที่จะตรวจจับและรีสตาร์ทอย่างเช่นในกรณีที่สุ่มคุณมีความเสี่ยงที่ตัวกำหนดตารางเวลาจะจัดตารางเวลาเธรดของคุณด้วยวิธีเดียวกันทุกครั้ง

  3. [ความปลอดภัยแบบสุ่ม] คุณเขียนแอปพลิเคชันด้วยพรอมต์รหัสผ่าน คุณทำโมเดลผู้โจมตีอย่างไร

    • deterministic: ผู้โจมตีพยายามรหัสผ่านเดิมเสมอ นั่นไม่ใช่รูปแบบที่มีประโยชน์ของผู้โจมตีเลย - ผู้โจมตีไม่สามารถคาดเดาได้ด้วยคำจำกัดความ

    • nondeterministic: ผู้โจมตีรู้รหัสผ่านของคุณและเข้าไป สิ่งนี้แสดงข้อ จำกัด ของรหัสผ่าน: ต้องเป็นความลับ หากรหัสผ่านของคุณเป็นความลับผู้โจมตีรายนี้จะไม่สมจริง

    • สุ่ม: ผู้โจมตีพยายามรหัสผ่านโดยการสุ่ม ในกรณีนี้นี่เป็นรูปแบบการโจมตีที่สมจริง คุณสามารถศึกษาระยะเวลาที่ผู้โจมตีจะเดารหัสผ่านของคุณขึ้นอยู่กับการกระจายแบบสุ่มที่เขาใช้ รหัสผ่านที่ดีคือรหัสผ่านที่ใช้เวลานานสำหรับการเผยแพร่ที่เหมือนจริง

  4. [ความปลอดภัย, nondeterministic] คุณเขียนแอปพลิเคชันและคุณกังวลว่ามันอาจมีช่องโหว่ด้านความปลอดภัย คุณทำโมเดลผู้โจมตีอย่างไร

    • deterministic: ผู้โจมตีรู้ทุกสิ่งที่คุณรู้ นั่นไม่ใช่รูปแบบที่มีประโยชน์ของผู้โจมตี

    • สุ่ม: ผู้โจมตีขว้างขยะแบบสุ่มและหวังว่าจะทำให้โปรแกรมของคุณพัง ซึ่งอาจมีประโยชน์ในบางครั้ง (ทำให้งง ) แต่ผู้โจมตีอาจฉลาดกว่านั้น

    • non-deterministic: หากมีช่องโหว่ผู้โจมตีจะค้นพบในที่สุด ดังนั้นคุณควรทำให้แอปพลิเคชันของคุณแข็งขึ้น (เพิ่มข้อกำหนดด้านข่าวกรองสำหรับผู้จู่โจมโปรดทราบว่าเนื่องจากเป็นข้อกำหนดด้านข่าวกรองแทนที่จะเป็นข้อกำหนดในการคำนวณ ช่องโหว่ด้านความปลอดภัยและดังนั้นผู้โจมตีดังกล่าวไม่ได้อยู่


การแก้ไขหมุนรอบคำที่หายไปพิสูจน์ในงบของคุณ: กำหนดคือ "ฉันสามารถพิสูจน์ได้ว่าฉันกำลังเลือก (เช่นการระบุผลที่สิ้นสุดในการป้อนข้อมูลของฉันในระดับความซับซ้อน P)" Nondeterministic คือ "ฉันไม่สามารถพิสูจน์ได้ว่าฉันเลือก (เช่นหลักฐานการยกเลิกนั้นไม่สามารถตัดสินใจได้ในระดับความซับซ้อนของปัญหา NP)” และการสุ่มคือ“ ฉันสามารถพิสูจน์ได้ว่าฉันจะเลือก½ของเวลา (เช่น ZPP ระดับความซับซ้อน)”
Shelby Moore III

@ShelbyMooreIII ฉันไม่เข้าใจว่าคุณไปที่ไหน โดยทั่วไปแล้วการกำหนดนั้นไม่ได้เป็นการพิสูจน์ว่ามีบางสิ่งที่กำหนดแน่นอนหรือเกี่ยวกับปัญหาบางอย่างที่อยู่ในระดับความซับซ้อนที่แน่นอน นอกจากนี้คลาสที่ซับซ้อนไม่ได้เกี่ยวกับระบบที่สามารถพิสูจน์บางอย่างเกี่ยวกับระดับของมัน (ปัญหาส่วนใหญ่ไม่ได้มีความคิดในการพิสูจน์ในระบบ!)
Gilles 'หยุดความชั่วร้าย'

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

ตกลงกันว่ามันไม่ใช่ระดับความซับซ้อนของ NP ที่ก่อให้เกิดลัทธิม็องเตนมินนิสต์ แต่ปัญหา NP คือการพึ่งพา ทัวริงเสร็จสมบูรณ์เป็นตัวอย่างของการ nondeterminism Plz เห็นความคิดเห็นของฉันภายใต้คำตอบของเคิร์ตเช่นเดียวของฉันคำตอบในหัวข้อที่เกี่ยวข้อง จุดของฉันคือคุณเกี่ยวกับสิ่งที่ได้รับการพิสูจน์อย่างแม่นยำและคาดเดาไม่ได้สำหรับข้อกำหนดที่กำหนดขึ้นไม่ จำกัด และสุ่ม มันคือทั้งหมดที่เกี่ยวกับเอนโทรปี (& ไม่เกี่ยวกับเสียงเบส )
Shelby Moore III

9

ตัวอย่างเพื่อทำให้สิ่งต่าง ๆ ชัดเจนขึ้น:

สมมติว่าคุณต้องเลือกประตูเพื่อเปิดใน 10,000 ประตู (พูดว่ามีรางวัลอยู่หลังประตู) การเลือกแบบสุ่มหมายความว่าคุณจะเลือกหนึ่งใน 10,000 ประตูแล้วใส่เข้าไป หากมีรางวัลอยู่หลังประตูเดียวคุณจะไม่พบมันมากที่สุด เครื่องที่ไม่ได้กำหนดค่าไว้จะเข้าประตูทั้ง 10,000 ประตูพร้อมกัน หากมีรางวัลทุกที่เครื่องไม่กำหนดจะพบมัน


8
อีกวิธีหนึ่งเครื่องที่ไม่กำหนดจะเปิดประตูเดียว แต่มันจะเป็นประตูที่ถูกต้องเสมอ
Jeffε

3
ใช่แล้ว นั่นจะเป็นลักษณะ "ผู้คาดเดาที่โชคดีที่สุด" ของเครื่องจักรที่ไม่ได้กำหนดไว้ล่วงหน้า
Robin Kothari

@ RobinKothari: "อีกวิธีหนึ่งเครื่องที่ไม่กำหนดจะเปิดประตูเดียว แต่จะเป็นประตูที่ถูกต้องเสมอ" และ "เครื่องที่ไม่ได้กำหนดค่าจะเข้าประตูทั้ง 10,000 ประตูพร้อมกัน"? - อันไหนที่ถูกต้อง?
tanmoy

3
@ ตาล: ทั้งคู่เป็นการตีความที่ถูกต้อง ซึ่งแตกต่างจากเครื่องกำหนดและสุ่มซึ่งเป็นที่รับรู้ทางร่างกายเครื่องไม่กำหนดเป็นวัตถุในจินตนาการ ดังนั้นคุณสามารถจินตนาการมันได้ตามที่คุณต้องการประเด็นก็คือมันมักจะพบประตูที่ถูกต้องเสมอ บางทีมันอาจเป็นผู้เดาที่ดีที่สุดบางทีอาจมีบางคนแอบบอกเครื่องว่ารางวัลอยู่ที่ไหนบางทีมันก็แค่ตรวจสอบทุกประตูอย่างน่าอัศจรรย์
Robin Kothari

5

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

คำจำกัดความของเครื่องทัวริงน่าจะเป็น : ทัวริงเครื่องnondeterministic (TM) ซึ่งสุ่มเลือกระหว่างช่วงการเปลี่ยนภาพที่มีอยู่ในแต่ละจุดตามการกระจายความน่าจะเป็นบาง

เครื่องทัวริงน่าจะเป็นเครื่องทัวริงที่ไม่ได้กำหนดที่สามารถทำผิดพลาด

PPT ฉันพบว่ามีประโยชน์


5

ฉันชอบคำจำกัดความต่อไปนี้:

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

Non-Deterism ทำงานดังนี้: พิจารณาเครื่องที่ไม่ได้กำหนดค่าซึ่งหยุดการทำงานของแต่ละอินพุต (เป็นไปได้หากปัญหาสามารถตัดสินใจได้) ซึ่งการคำนวณที่เป็นไปได้แต่ละครั้งใช้จำนวนขั้นตอนเท่ากันและแต่ละขั้นตอนมีสถานะติดตามผล 2 สถานะที่แน่นอน ทั้งสองข้อ จำกัด ) ในนิยามของ NP เครื่อง nondeterministic ยอมรับอินพุตหากมีการยอมรับการคำนวณที่เป็นไปได้อย่างน้อยหนึ่งรายการและจะปฏิเสธอินพุตหากการคำนวณทั้งหมดปฏิเสธ

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

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


-1 ข้อผิดพลาดในย่อหน้าแรกของคุณ เครื่องทัวริงน่าจะมีอยู่และตัวอย่างเหรียญโยนจากเอนโทรปีภายนอก, ระดับความซับซ้อน ZPP ไม่ใช่ระดับมีขีด จำกัด ไม่ จำกัด จำนวนของทางเลือกสหรัฐอเมริกา, cf ระดับความซับซ้อนของ NP ความมุ่งมั่นเป็นคลาสความซับซ้อน P และคุณได้รับที่ถูกต้อง
Shelby Moore III

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

3

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


1

ก้าวถอยหลังไปข้างหน้าในระหว่างการดีบั๊กเป็นแรงจูงใจให้กับคนอื่น

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

ความเหมือนและความแตกต่างระหว่างการไม่กำหนดและการสุ่ม

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

  • ชุด จำกัด ของรัฐQ
  • สัญลักษณ์อินพุทΣ
  • deterministic :ฟังก์ชันการเปลี่ยนδ:Q×ΣQ
  • ไม่แน่นอน:การเปลี่ยนฟังก์ชันΔ:Q×ΣP(Q)
  • ไม่ใช่ - deterministic:การเปลี่ยนแปลงความสัมพันธ์ΔQ×Σ×Q
  • ไม่แน่นอน:ฟังก์ชั่นΔ:ΣP(Q×Q)
  • น่าจะเป็น :ฟังก์ชั่นδ:ΣssM(Q)

นี่คือเป็นชุดที่อำนาจของและเป็นพื้นที่ของการฝึกอบรม substochatic บนQเมทริกซ์ substochastic ที่ถูกต้องคือเมทริกซ์จริงที่ไม่เป็นลบโดยแต่ละแถวจะรวมกันเป็นจำนวนมากที่สุด 1Q s s M ( Q ) QP(Q)QssM(Q)Q

มีเงื่อนไขการยอมรับที่แตกต่างกันมากมาย

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

ความสามารถในการกลับรายการนั้นไม่สำคัญสำหรับเครื่องจักรที่น่าจะเป็น

ฟังก์ชั่นบางส่วนสามารถย้อนกลับได้ถ้ามันเป็นแบบฉีด ความสัมพันธ์สามารถย้อนกลับได้เสมอในบางแง่มุมโดยใช้ความสัมพันธ์ตรงกันข้าม (เช่นการกลับทิศทางของลูกศร) สำหรับเมทริกซ์ substochastic การรับเมทริกซ์ transposed นั้นคล้ายคลึงกับการรับความสัมพันธ์ตรงกันข้าม โดยทั่วไปเมทริกซ์ transposed ไม่ได้เป็นเมทริกซ์ substochastic ถ้าเป็นแล้วเมทริกซ์กล่าวจะsubstochastic ทวีคูณ โดยทั่วไปแม้จะเป็นเมทริกซ์ substochasticเป็นทวีคูณดังนั้นเราสามารถสงสัยได้ว่านี่เป็นความคิดที่สมเหตุสมผลในการกลับตัวได้หรือไม่ มันสมเหตุสมผลเนื่องจากความน่าจะเป็นที่จะไปถึงสถานะจากสถานะในP B A k A B kPPTPPPBAkขั้นตอนต่อไปข้างหน้าจะเหมือนกันกับความน่าจะเป็นที่จะไปถึงรัฐจากรัฐในขั้นตอนย้อนหลัง แต่ละเส้นทางจาก A ถึง B มีความน่าจะเป็นไปข้างหน้าและข้างหลังเหมือนกัน ถ้าเลือกเงื่อนไขการยอมรับที่เหมาะสม (และเงื่อนไขขอบเขตอื่น ๆ ) การฝึกอบรม substochastic ซ้ำสองครั้งนั้นเป็นความคิดที่เหมาะสมในการย้อนกลับของเครื่องจักรที่น่าจะเป็นABk

การพลิกกลับเป็นเรื่องยากแม้สำหรับเครื่องจักรที่ไม่ได้กำหนดค่าไว้

เช่นเดียวกับในทั่วไปโดยทั่วไปสำหรับไบนารีความสัมพันธ์Rถ้าอธิบายฟังก์ชั่นบางส่วนแล้วและ{op} แม้ว่าความสัมพันธ์และควรย้อนกลับอย่างเคร่งครัดในแง่นี้ แต่ก็ไม่ได้หมายความว่าจะย้อนกลับได้เช่นกัน ดังนั้นเราจะเพิกเฉยต่อการกลับรายการอย่างเข้มงวดในตอนนี้ (แม้จะรู้สึกว่าน่าสนใจ) และมุ่งเน้นไปที่การกลับรายการโดยคำนึงถึงความสัมพันธ์ตรงกันข้าม คำอธิบายที่คล้ายกันเช่นกรณีความน่าจะเป็นแสดงให้เห็นว่าการกลับรายการนี้ทำงานได้ดีหากใช้เงื่อนไขการยอมรับที่เหมาะสมPPTPPRRopRRRRRRopR=RRopRRop=RopPQPQ

ข้อควรพิจารณาเหล่านี้ยังสมเหตุสมผลสำหรับการกดออโตมาตา

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

  • ชุด จำกัด ของรัฐQ
  • สัญลักษณ์อินพุทΣ
  • ชุดสัญลักษณ์สแต็กΓ
  • กำหนดขึ้น :ฟังก์ชันการเปลี่ยนแปลงบางส่วนเช่นนั้นเฉพาะในกรณีที่สำหรับδ:Q×Γ×(Σ{ϵ})Q×Γ{0,2}δ(q,γ,ϵ)ϵδ(q,γ,σ)=ϵσΣ
  • ไม่แน่นอน:การเปลี่ยนฟังก์ชันΔ:Q×Γ{0,1}×(Σ{ϵ})P(Q×Γ{0,1})
  • ไม่ใช่ - deterministic:การเปลี่ยนแปลงความสัมพันธ์ΔQ×Γ{0,1}×(Σ{ϵ})×Q×Γ{0,1}
  • ไม่ใช่ - กำหนด:ฟังก์ชันΔ:Σ{ϵ}P(Q×Γ{0,1} × Q×Γ{0,1})
  • ความน่าจะเป็น :ฟังก์ชันเช่นนั้นสำหรับδ:Σ{ϵ}ssM(Q×Γ{0,1})δ(ϵ)+δ(σ)ssM(Q×Γ{0,1})σΣ

นี่เป็นสตริงว่างและ1 สัญกรณ์นี้ใช้เนื่องจากคล้ายกับซึ่งใช้ในหลาย ๆ คำจำกัดความของการกดออโตมาตาϵΓ{0,2}={ϵ}Γ(Γ×Γ)Γ{0,1}={ϵ}ΓΓ

ไดอะแกรมการตรวจสอบการกลับรายการสำหรับการดำเนินการอินพุทและการซ้อนข้อมูล

การดำเนินการอินพุตที่ล้ำหน้าด้วยได้รับการย้อนกลับดังนี้bΣΣ{ϵ}

a|bca|bcab|c
a|bcab|cab|c
c|bac|bacb|a

การดำเนินการอินพุตที่ไม่ก้าวหน้าด้วยที่ไม่ได้อ่านอินพุตใด ๆ สามารถกลับด้านได้ϵΣ{ϵ}

a|bca|bca|bc
a|bca|bca|bc
cb|acb|acb|a

นี่คือไดอะแกรมของการดำเนินการอินพุตที่ก้าวหน้าซึ่งการกลับรายการจะดูไม่ดี

a|bca|bcab|ca|bcab|cab|cc|bac|bacb|a

สำหรับการดำเนินการสแต็กมีสามกรณี ,และB) การดำเนินการสแต็กได้รับการย้อนกลับเป็นดังนี้(s,t)Γ{0,1}×Γ{0,1}(s,t)=(a,ϵ)(s,t)=(ϵ,a)(s,t)=(a,b)(a,ϵ)(ϵ,a)

abab|b
ab|bb
b|bab

การดำเนินการสแต็กได้รับการย้อนกลับเป็นดังนี้(a,b)(b,a)

acacbc
acbcbc
bcbcac

การดำเนินการสแต็กทั่วไปจะกลับไปเป็น(ab,cde)Γ×Γ(cde,ab)

a b f c d e f c d e f c d e f c d e f a b f ...abfabfcdef
abfcdefcdef
cdefcdefabf

การกลับตัวของเครื่องจักรทัวริง

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

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

การกระตุ้นให้เปลี่ยนเป็นชุดคำสั่งที่เทียบเท่า (ง่ายกว่าที่จะย้อนกลับ) แสดงให้เห็นว่าคำถามเหล่านี้มีความชัดเจนน้อยกว่าที่ปรากฏครั้งแรก สวิตช์ที่ลึกซึ้งยิ่งขึ้นเกิดขึ้นในการโพสต์นี้ก่อนเมื่อฟังก์ชั่นรวมและเมทริกซ์สุ่มถูกแทนที่ด้วยฟังก์ชั่นบางส่วนและเมทริกซ์ substochastic สวิตช์นี้ไม่จำเป็นอย่างเคร่งครัด แต่การกลับรายการนั้นน่าเกลียดเป็นอย่างอื่น การสลับไปใช้เมทริกซ์ substochastic เป็นจุดที่เห็นได้ชัดว่าการพลิกกลับไม่ใช่เรื่องเล็กน้อยหลังจากนั้นและเราควรเขียนรายละเอียด (ตามที่ได้ทำไว้ด้านบน) แทนที่จะใช้มุมมองระดับสูง การเริ่มต้น). คำถามที่เกิดขึ้นจาก Niel de Beaudrap ทำให้เกิดความตระหนักว่ามุมมองระดับสูงนั้นสั่นคลอนเล็กน้อย

ข้อสรุป

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


คุณกำลังสมมติว่าช่วงการเปลี่ยนภาพที่ไม่ได้กำหนดไว้มีความสัมพันธ์แบบหนึ่งต่อหลายหรือไม่? จะเกิดอะไรขึ้นถ้าการกำหนดค่าที่แตกต่างกันสองแบบสามารถเปลี่ยนเป็นการตั้งค่าทั่วไปและอื่น ๆ ได้? - สำหรับฉันแล้วความแตกต่างระหว่างการสุ่มและ nondeterminism ไม่ใช่การย้อนกลับ (ไม่ใช่โดยไม่มีข้อ จำกัด เพิ่มเติม) แต่วิธีการหนึ่งคุณลักษณะสำคัญต่อสาขาตามผล: ประชาธิปไตยสมบูรณ์แบบสำหรับการสุ่มหรือยิ่งอ่อนไหวกับ "ใช่" หรือ คำตอบ "ไม่" สำหรับ nondeterminism
Niel de Beaudrap

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

ดังนั้นคุณหมายถึงคู่ของเครื่อง สำหรับ NFA สิ่งนี้ดูเหมือนจะเป็นความคิดที่มีความหมายของการย้อนกลับได้ เป็นที่ชัดเจนว่าคู่ของ NTM (ที่มีสถานะรับเดียว) เป็นอีก NTM แต่ฉันลังเลที่จะพูดว่ามันเป็นเครื่องเดียวกันที่ทำงานในสิ่งที่ตรงกันข้าม จำนวนคำตอบของคุณเพียงแค่ "Nondeterminism ช่วยให้คุณได้รับการปิดภายใต้เครื่องจักรแบบ duals, random (และ deterministic)" หรือไม่?
Niel de Beaudrap

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

ผมเขียนคำตอบนี้ในบล็อกโพสต์เกี่ยวกับreversibility ของความสัมพันธ์ไบนารีเมทริกซ์ substochastic และฟังก์ชั่นบางส่วน
โทมัส

0

ในบริบทของทัวริงแมชชีน ( TM ) และทฤษฎีออโตมาตะเครื่องที่ไม่ได้กำหนดค่าไว้เป็นหนึ่งในการสร้างอินสแตนซ์ของเครื่องที่ยอมรับได้นั้นดี ในแง่นี้มันเป็นเหมือนการทำงานเครื่องกำหนดหลายขนานและใช้เวลาการส่งออกของกรณีใด ๆ ที่ยอมรับการป้อนข้อมูล ในความเป็นจริงมีอัลกอริธึม (deterministic) ที่จะเปลี่ยนออโตเมติกที่ไม่ได้กำหนดค่าใด ๆ(โดยมีสหรัฐอเมริกา) ให้เป็นค่าที่กำหนดขึ้นมาหนึ่ง (กับ2 nn2n States, exponential) โดยพิจารณาถึงคลาสสมมูลของสถานะไม่ว่าอัลกอริทึมที่ใช้ในเครื่องนั้นจะมีการสุ่มหรือความน่าจะเป็น (ดูด้านล่าง)

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

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

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

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

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