กดปุ่ม Automatons“ เดา” - นั่นหมายความว่าอย่างไร


14

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

แต่ฉันก็ยังไม่เข้าใจวิธีการที่พวกเขา "เลือก" สำหรับ Palindormes เช่นทุกแหล่งที่ฉันพบเพียงว่าหุ่นยนต์ "เดา" ตรงกลางของคำ นั่นหมายความว่าอย่างไร?

ฉันสามารถคิดถึงความหมายที่เป็นไปได้หลายประการ:

  1. มันจะเข้าสู่สถานะหนึ่งโดยการสุ่มดังนั้นจึงอาจไม่ยอมรับคำศัพท์ซึ่งจริงๆแล้วเป็นภาษา

  2. "ไปได้ทุกทาง" ดังนั้นถ้าคนแรกผิดก็ทำการทดสอบว่าอีกคนหนึ่งอาจถูก

  3. มีกลไกบางอย่างที่ฉันไม่ทราบซึ่งเลือกตรงกลางของคำและดังนั้นจึงไม่ใช่แบบสุ่ม แต่หุ่นยนต์จะค้นหาจุดกึ่งกลางที่ถูกต้องเสมอ

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


ที่เกี่ยวข้อง: คำถามอ้างอิงของเราอธิบายถึงความแตกต่างระหว่างอัลกอริทึมแบบสุ่มและแบบไม่ระบุชื่อ
Raphael

คำตอบ:


8

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

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

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

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

สิ่งที่น่าสนใจเกี่ยวกับ nondeterminism ก็คือสำหรับเครื่องจักรไฟไนท์ - ออโตมาตะและทัวริงมันไม่ได้เพิ่มพลังการคำนวณเลยเพียงแค่มีประสิทธิภาพ


5

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

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

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

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


5

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

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

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


ฉันไม่คิดว่าการย้อนรอยเป็นความคิดที่ดี ต้นไม้ของคุณอาจไม่แน่นอน ฉันรู้ว่ามันถูกใช้ในการใช้งานบางอย่างของการไม่กำหนดระดับเช่น Prolog และฉันคิดว่ามันเกินไปในงานแรก ๆ ของ Robert Floyd แต่มันตั้งใจที่จะเป็นผู้ควบคุมโปรแกรมและฉันจะไม่พิจารณาเรื่องนี้สำหรับทฤษฎีออโตมาตะ ที่จริงแล้วแม้แต่ Prolog ก็ยังมีการนำไปใช้งานอื่น ๆ
Babou

@babou มันเป็นวิธีหนึ่งที่จะทำได้ในทางปฏิบัติ ผมไม่ได้บอกว่ามันเป็นแก้ปัญหา
vonbrand

2

"การคาดเดา" มีความเกี่ยวข้องโดยตรงกับการตีความอัตถิภาวนิยมของการไม่กำหนดระดับ

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

ไม่ใช่ระดับที่แปลก เรามีวิธีหนึ่งในการตีความในทฤษฎีออโตมาตะ แต่มันไม่ชัดเจนว่าเราควรทำเช่นนั้น

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

มีหลายวิธีในการรวมสิ่งที่เป็นที่รู้จักกับกฎการอนุมานเพื่อให้ได้ผลลัพธ์ใหม่ และสถานการณ์มักจะเหมือนกันถ้าเราพยายามสร้างหลักฐานย้อนหลังจากผลลัพธ์

เมื่อพยายามที่จะแก้ปัญหาดังกล่าวเราพยายาม " เดา " เส้นทางในระบบการเปลี่ยนแปลงบางอย่าง

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

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

DAAA

ที่จริงแล้วอาจมีวิธีที่แตกต่างกันในการตีความการคำนวณที่ไม่ได้กำหนดไว้ พวกเขาทั้งหมดสอดคล้องกัน แต่ไม่ใช่กับ Afaik

RW

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

การตีความการคำนวณแบบไม่ จำกัด นี้คือสิ่งที่ฉันเรียกว่าการยอมรับอัตถิภาวนิยมโดยอ้างอิงถึงความจริงที่ว่ามันต้องการเพียงแค่การมีอยู่ของการคำนวณแบบยอมรับเดียวเท่านั้น มันสอดคล้องกับลังเลอัตถิภาวนิยมที่ผมนำมาใช้ในคำตอบอื่น

อย่างไรก็ตามใคร ๆ ก็สามารถตีความได้ว่าไม่ใช่ระดับ - ในทางสากลที่: ตัวรับรู้ (สากล) ยอมรับว่าเป็น "w" รับ iff อินพุต iff ทั้งหมดที่เป็นไปได้และหยุดการคำนวณอินพุต การยอมรับสากลนี้สอดคล้องกับแนวคิดของการหยุดสากลที่นำมาใช้ในคำตอบเดียวกัน

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

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

โปรดทราบว่าความคิดในการคาดเดานี้จะไม่มีความหมายในการตีความการยอมรับสากล

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