อะไรคือการรู้แจ้งที่ฉันควรจะได้รับหลังจากศึกษาออโต้ จำกัด


247

ฉันได้ทบทวนทฤษฎีการคำนวณเพื่อความสนุกสนานและคำถามนี้ก็จู้จี้กับฉันมาระยะหนึ่งแล้ว (ตลกไม่เคยคิดเลยเมื่อฉันเรียนรู้ทฤษฎี Automata ในระดับปริญญาตรีของฉัน) ดังนั้น "ทำไม" เราจึงศึกษาออโต้ จำกัด (DFA / NFAs) ที่กำหนดและไม่ จำกัด อย่างแน่นอน ดังนั้นนี่คือคำตอบบางอย่างที่ฉันเกิดขึ้นหลังจากการแก้ปัญหา แต่ยังไม่เห็นการสนับสนุนโดยรวมของพวกเขาในช่วงเวลา 'aha':

  1. เพื่อศึกษาว่าพวกเขาคืออะไรและไม่สามารถ จำกัด ข้อ จำกัด เช่น
    • ทำไม?
  2. เนื่องจากเป็นโมเดลพื้นฐานของการคำนวณเชิงทฤษฎีและจะวางรากฐานของโมเดลการคำนวณที่มีความสามารถมากกว่าอื่น ๆ
    • อะไรทำให้พวกเขา 'พื้นฐาน' พวกเขามีที่เก็บข้อมูลเพียงหนึ่งบิตและการเปลี่ยนสถานะหรือไม่?
  3. โอเคอะไรนะ? ทั้งหมดนี้ช่วยตอบคำถามเกี่ยวกับความสามารถในการคำนวณอย่างไร ดูเหมือนว่าเครื่องทัวริงจะช่วยให้เข้าใจได้ดีและมีการคำนวณแบบ 'น้อยกว่า' เช่น PDAs, DFA / NFAs / Regexes เป็นต้น แต่หากไม่มีใครรู้ FAs สิ่งที่พวกเขาขาดหายไปคืออะไร?

ดังนั้นแม้ว่าฉันจะ 'เข้าใจ' บ้าง แต่ฉันไม่สามารถตอบคำถามนี้กับตัวเองได้? คุณจะอธิบายได้ดีที่สุดว่า 'ทำไมต้องเรียน D / N-FAs' คำถามที่พวกเขาพยายามจะตอบคืออะไร มันช่วยได้อย่างไรและทำไมมันเป็นสิ่งแรกที่สอนในทฤษฎีออโตมาตะ?

PS: ฉันตระหนักถึงแอปพลิเคชันพจนานุกรมและรูปแบบการจับคู่รูปแบบต่าง ๆ ที่สามารถนำมาใช้ได้เช่นนี้ อย่างไรก็ตามฉันไม่ต้องการรู้ว่ามันสามารถใช้งานอะไรได้บ้าง แต่อะไรคือเหตุผลของการใช้ / การประดิษฐ์ / การออกแบบในช่วงสุดท้ายของการศึกษาทฤษฎีการคำนวณ การพูดในอดีตสิ่งที่นำไปสู่การเริ่มต้นด้วยสิ่งนี้และความเข้าใจ 'aha' ควรนำไปสู่อะไร? หากคุณต้องอธิบายความสำคัญของพวกเขาให้กับนักเรียน CS เพียงแค่เริ่มเรียนทฤษฎีออโตมาต้าคุณจะทำอย่างไร


10
ดังนั้นนี่คือคำถามระดับการวิจัยใน TCS?
Hendrik Jan

13
มันไม่ได้เป็นคำถามวิจัยมากนักอย่างที่ขอมุมมองภาพใหญ่ในหัวข้อ เรามีคำถามมากมายที่นี่ แทนที่จะเริ่มถกเถียงในความคิดเห็นฉันขอแนะนำให้คุณโพสต์คำถามเกี่ยวกับเมตาหากคุณต้องการพูดคุยเกี่ยวกับความเหมาะสมของคำถามดังกล่าวต่อไป
Suresh Venkat

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

1
@HendrikJan - โอ้ไม่ต้องกังวล! ข้อความซ่อนเสียง ฉันไม่เคยตั้งใจอย่างนั้น ฉันคิดว่าคุณกำลังถามฉันว่านี่เป็นคำถามการวิจัยในส่วนของฉันหรือไม่
ปริญญาเอก

16
ความรุ่งโรจน์ในระดับปริญญาเอกและ Hendrik สำหรับระดับความสุภาพฉันไม่ค่อยพบในฟอรัมสาธารณะ
ลูคัส

คำตอบ:


342

ฉันมีความสุขเป็นการส่วนตัวหลาย ๆอา! ช่วงเวลาจากการศึกษาทฤษฎีออโตมาตาพื้นฐาน NFAs และ DFAs ก่อตัวเป็นพิภพเล็ก ๆ สำหรับวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีโดยรวม

  1. การไม่มุ่งสู่ความมีประสิทธิภาพหรือไม่? มีตัวอย่างมาตรฐานที่ออโตเมติกขั้นต่ำที่กำหนดสำหรับภาษานั้นใหญ่กว่าแบบออโตเมติกแบบไม่กำหนดขั้นต่ำแบบเอ็กซ์โพเนนเชียล การทำความเข้าใจความแตกต่างนี้สำหรับเครื่องจักรทัวริงเป็นหัวใจสำคัญของวิทยาศาสตร์คอมพิวเตอร์ (เชิงทฤษฎี) NFAs และ DFAs เป็นตัวอย่างที่ง่ายที่สุดที่ฉันรู้ว่าคุณสามารถเห็นช่องว่างที่เข้มงวดระหว่างการกำหนดและการไม่กำหนด
  2. การคำนวณ! = ความซับซ้อน NFA และ DFA ทั้งสองเป็นตัวแทนของภาษาปกติและเทียบเท่าในสิ่งที่พวกเขาคำนวณ พวกเขาแตกต่างกันในวิธีการคำนวณ
  3. เครื่องขัดเกลาภาษา นี่คือสิ่งที่เราใช้ในการคำนวณและวิธีการคำนวณที่แตกต่างกัน คุณสามารถนึกถึงภาษาที่คำนวณได้ (และฟังก์ชั่น) เป็นการกำหนดคลาสสมมูลของออโตมาตะ นี่คือการเปลี่ยนมุมมองพื้นฐานใน TCS ที่เราไม่เพียง แต่มุ่งเน้นไปที่สิ่งใด แต่วิธีการคำนวณและพยายามเลือก 'วิธีการ' ที่ถูกต้องเมื่อออกแบบอัลกอริทึมหรือทำความเข้าใจกับพื้นที่ที่แตกต่างกัน
  4. คุณค่าของการเป็นตัวแทน Canonical DFAs เป็นตัวอย่างที่เป็นแก่นสารของโครงสร้างข้อมูลที่ยอมรับการแสดงแบบบัญญัติ ทุกภาษาปกติมี DFA น้อยที่สุดและไม่ซ้ำใคร ซึ่งหมายความว่าได้รับ DFA น้อยที่สุดการดำเนินการที่สำคัญเช่นการรวมภาษาการเติมเต็มและการตรวจสอบการยอมรับคำกลายเป็นเรื่องไม่สำคัญ การหาและใช้ประโยชน์จากการรับรองแบบบัญญัติเป็นวิธีการที่มีประโยชน์เมื่อพัฒนาอัลกอริทึม
  5. กรณีที่ไม่มีตัวแทน Canonical ไม่มีการนำเสนอนิพจน์ทั่วไปหรือ NFA ที่ยอมรับได้ดี ดังนั้นแม้จะมีประเด็นข้างต้นการรับรองแบบบัญญัติก็ไม่ได้มีอยู่เสมอไป คุณจะเห็นประเด็นนี้ในหลาย ๆ ด้านในสาขาวิทยาศาสตร์คอมพิวเตอร์ (ตัวอย่างเช่นสูตรตรรกะเชิงประพจน์ยังไม่มีการรับรองแบบบัญญัติในขณะที่ ROBDD ทำ)
  6. ค่าใช้จ่ายในการเป็นตัวแทน Canonical คุณสามารถเข้าใจความแตกต่างระหว่าง NFAs และ DFAs เป็นทฤษฎีบทที่ไม่มีอัลกอริทึมแบบไม่มีอาหารกลางวัน หากเราต้องการตรวจสอบการรวมภาษาระหว่างหรือเสริม NFA คุณสามารถกำหนดและย่อให้เล็กสุดและดำเนินการต่อจากที่นั่น อย่างไรก็ตามการดำเนินการ "ลด" นี้มีค่าใช้จ่าย คุณจะเห็นตัวอย่างของการทำให้เป็นนักบุญที่มีค่าใช้จ่ายในหลาย ๆ ด้านของวิทยาการคอมพิวเตอร์
  7. ไม่มีที่สิ้นสุด! = Undecidable ความเข้าใจผิดที่พบบ่อยคือปัญหาของธรรมชาติที่ไม่สามารถเข้าใจได้โดยเนื้อแท้ ภาษาปกติมีสตริงจำนวนมากและยังมีคุณสมบัติที่สามารถตัดสินใจได้หลายอย่าง ทฤษฎีภาษาปกติแสดงให้คุณเห็นว่าอินฟินิตี้เพียงอย่างเดียวไม่ใช่แหล่งที่มาของความไม่แน่นอน
  8. ยึดอินฟินิตี้ในฝ่ามือของหุ่นยนต์ของคุณ คุณสามารถดูออโตเมติก จำกัด อย่างหมดจดในฐานะโครงสร้างข้อมูลเพื่อแสดงชุดอนันต์ ROBDD เป็นโครงสร้างข้อมูลสำหรับการแสดงฟังก์ชั่นบูลีนซึ่งคุณสามารถเข้าใจได้ว่าเป็นตัวแทนของเซต จำกัด ยานยนต์ จำกัด เป็นส่วนขยายที่เป็นธรรมชาติและไม่มีที่สิ้นสุดของ ROBDD
  9. หน่วยประมวลผล Humble หน่วยประมวลผลที่ทันสมัยมีจำนวนมากในนั้น แต่คุณสามารถเข้าใจมันเป็นหุ่นยนต์ที่มีขอบเขต จำกัด การตระหนักถึงสิ่งนี้ทำให้สถาปัตยกรรมคอมพิวเตอร์และการออกแบบโปรเซสเซอร์น่ากลัวน้อยกว่าฉันมาก นอกจากนี้ยังแสดงให้เห็นว่าในทางปฏิบัติหากคุณจัดโครงสร้างและจัดการกับรัฐของคุณอย่างระมัดระวังคุณสามารถเดินทางไกลด้วยออโต้ จำกัด
  10. มุมมองเกี่ยวกับพีชคณิต ภาษาปกติก่อให้เกิด monoid ทางไวยากรณ์และสามารถศึกษาได้จากมุมมองนั้น โดยทั่วไปแล้วคุณสามารถศึกษาในภายหลังถามว่าอะไรคือโครงสร้างพีชคณิตที่ถูกต้องซึ่งสอดคล้องกับปัญหาการคำนวณบางอย่าง
  11. มุมมองเชิง Combinatorial finite-automaton เป็นกราฟที่มีป้ายกำกับ การตรวจสอบว่าได้รับการยอมรับคำว่าลดลงเพื่อหาเส้นทางในกราฟที่มีป้ายกำกับ อัลกอริธึมจำนวนอัตโนมัติเพื่อแปลงกราฟ การทำความเข้าใจโครงสร้างของออโตมาตะสำหรับตระกูลย่อยต่าง ๆ ของภาษาปกติเป็นพื้นที่วิจัยที่กระตือรือร้น
  12. พีชคณิตภาษา - Combinatorics รักสามเหลี่ยม ทฤษฎีบท Myhill-Nerode ช่วยให้คุณเริ่มต้นด้วยภาษาและสร้างหุ่นยนต์หรือโมโนนิกประโยค ในทางคณิตศาสตร์เราได้รับการแปลระหว่างวัตถุทางคณิตศาสตร์ประเภทต่าง ๆ มันมีประโยชน์ในการจำคำแปลนั้นไว้และมองหาพวกมันในด้านอื่น ๆ ของวิทยาการคอมพิวเตอร์
  13. คณิตศาสตร์เป็นภาษาของภาพใหญ่ ภาษาปกติสามารถกำหนดลักษณะโดย NFAs (กราฟ), นิพจน์ทั่วไป (ไวยากรณ์อย่างเป็นทางการ), เครื่องทัวริงแบบอ่านอย่างเดียว (เครื่องจักร), monoids เชิงไวยากรณ์ (พีชคณิต), พีชคณิต Kleene (พีชคณิต), ตรรกะลำดับที่สองแบบ monadic ฯลฯ ปรากฏการณ์เป็นสิ่งสำคัญแนวคิดที่ยั่งยืนนั้นมีลักษณะทางคณิตศาสตร์ที่แตกต่างกันมากมายซึ่งแต่ละอันจะนำรสชาติที่แตกต่างมาสู่การทำความเข้าใจความคิดของเรา
  14. Lemmas สำหรับนักคณิตศาสตร์ที่ทำงาน Pumping Lemma เป็นตัวอย่างที่ยอดเยี่ยมของเครื่องมือทางทฤษฎีที่คุณสามารถใช้เพื่อแก้ไขปัญหาต่าง ๆ การทำงานกับเลมมาสเป็นวิธีปฏิบัติที่ดีสำหรับการพยายามสร้างผลที่มีอยู่
  15. จำเป็น! = เพียงพอ ทฤษฎีบท Myhill-Nerode ให้เงื่อนไขที่จำเป็นและเพียงพอแก่คุณในการใช้ภาษา การปั๊มเล็มม่าทำให้เรามีเงื่อนไขที่จำเป็น เปรียบเทียบทั้งสองและใช้พวกเขาในสถานการณ์ที่แตกต่างกันช่วยให้ฉันเข้าใจความแตกต่างระหว่างเงื่อนไขที่จำเป็นและเพียงพอในการปฏิบัติทางคณิตศาสตร์ ฉันยังได้เรียนรู้ว่าเงื่อนไขที่จำเป็นและเพียงพอที่สามารถนำกลับมาใช้ใหม่ได้คือความหรูหรา
  16. มุมมองภาษาการเขียนโปรแกรม นิพจน์ทั่วไปเป็นตัวอย่างที่ง่ายและสวยงามของภาษาการเขียนโปรแกรม ในการต่อเรียงคุณมีอะนาล็อกขององค์ประกอบเรียงตามลำดับและในดาว Kleene คุณมีอะนาล็อกของการวนซ้ำ ในการกำหนดไวยากรณ์และความหมายของการแสดงออกปกติคุณทำขั้นตอนเด็กในทิศทางของทฤษฎีภาษาโปรแกรมโดยดูคำจำกัดความอุปนัยและความหมายประกอบ
  17. คอมไพเลอร์มุมมอง การแปลจากนิพจน์ปกติไปเป็นหุ่นยนต์ จำกัด ยังเป็นคอมไพเลอร์ทางทฤษฎีที่เรียบง่าย คุณสามารถเห็นความแตกต่างระหว่างการแยกวิเคราะห์การสร้างโค้ดระดับกลางและการปรับให้เหมาะสมของคอมไพเลอร์เนื่องจากความแตกต่างในการอ่านนิพจน์ปกติสร้างออโตเมติกจากนั้นลดขนาด / กำหนดออโตเมต
  18. พลังแห่งการย้ำ ในการดูว่าคุณสามารถทำอะไรในยานยนต์ จำกัด ด้วยลูปและอีกอันโดยไม่ต้องทำคุณสามารถชื่นชมพลังของการวนซ้ำ สิ่งนี้สามารถช่วยให้เข้าใจความแตกต่างระหว่างวงจรและเครื่องจักรหรือระหว่างตรรกะดั้งเดิมกับจุดคงที่
  19. พีชคณิตและถ่านหิน ภาษาปกติในรูปแบบวากยสัมพันธ์ syntax ซึ่งเป็นโครงสร้างพีชคณิต ออโตไฟไนต์สร้างสิ่งที่อยู่ในภาษาของทฤษฎีหมวดหมู่ที่เรียกว่า ในกรณีของหุ่นยนต์ที่กำหนดค่าได้เราสามารถเคลื่อนที่ระหว่างการเป็นตัวแทนของพีชคณิตและถ่านหิน แต่ในกรณีของ NFA นี่ไม่ใช่เรื่องง่าย
  20. มุมมองทางคณิตศาสตร์ มีการเชื่อมโยงอย่างลึกซึ้งระหว่างการคำนวณและทฤษฎีจำนวน คุณอาจเลือกที่จะเข้าใจสิ่งนี้เป็นคำแถลงเกี่ยวกับพลังของทฤษฎีจำนวนและ / หรือความเป็นสากลของการคำนวณ คุณมักจะรู้ว่าออโต้ จำกัด ที่ จำกัด สามารถรับรู้จำนวนของสัญลักษณ์ได้และพวกมันไม่สามารถนับได้มากพอที่จะจับคู่วงเล็บ แต่พวกเขามีความสามารถทางคณิตศาสตร์มากแค่ไหน? ออโตไฟไนต์สามารถเลือกสูตรทางคณิตศาสตร์ของ Presburger ได้ ขั้นตอนการตัดสินใจที่ง่ายที่สุดที่ฉันรู้สำหรับการคำนวณทางคณิตศาสตร์ของ Presburger จะลดสูตรให้เป็นออโตเมต นี่เป็นเหลือบหนึ่งที่คุณสามารถพัฒนาไปสู่ปัญหาที่ 10 ของฮิลแบร์ตและความละเอียดที่นำไปสู่การค้นพบการเชื่อมต่อระหว่างสมการไดโอแฟนไทน์และเครื่องทัวริง
  21. มุมมองเชิงตรรกะ การคำนวณสามารถเข้าใจได้จากมุมมองเชิงตรรกะอย่างแท้จริง ออโตไฟไนท์สามารถจำแนกได้ด้วยลอจิกลำดับที่สองที่อ่อนแอและเป็นโมเสคเหนือคำที่ จำกัด นี่คือตัวอย่างที่ฉันชอบและไม่น่าสนใจเกี่ยวกับการอธิบายลักษณะเชิงตรรกะของอุปกรณ์การคำนวณ ทฤษฎีความซับซ้อนเชิงพรรณนาแสดงให้เห็นว่าคลาสความซับซ้อนจำนวนมากมีลักษณะเชิงตรรกะที่แท้จริงเช่นกัน
  22. ออโต จำกัด จะซ่อนตัวอยู่ในสถานที่ที่คุณไม่เคยจินตนาการ (แสดงความคิดเห็นกับ Martin Berger เกี่ยวกับทฤษฎีการเข้ารหัส) 2011 รางวัลโนเบลสาขาเคมีได้รับการค้นพบผลึกกึ่งผลึก คณิตศาสตร์ที่อยู่เบื้องหลังผลึกกึ่งมีการเชื่อมต่อกับ aperiodic tilings การปูกระเบื้องแบบ aperiodic ที่เฉพาะเจาะจงอย่างหนึ่งของระนาบเรียกว่า Cartwheel Tiling ซึ่งประกอบด้วยรูปร่างว่าวและรูปโบว์ คุณสามารถเข้ารหัสรูปร่างเหล่านี้ในรูปของ 0s และ 1s จากนั้นศึกษาคุณสมบัติของลำดับเหล่านี้ซึ่งลำดับรหัสของรูปแบบใด ในความเป็นจริงถ้าคุณแมป 0 ถึง 01 และ 1 ถึง 0 และใช้แผนที่นี้ซ้ำกับหลัก 0 คุณจะได้รับ 0, 01, 010, 01001 ฯลฯ สังเกตว่าความยาวของสตริงเหล่านี้เป็นไปตามลำดับฟีโบนักชี คำที่สร้างในลักษณะนี้เรียกว่าคำฟีโบนักชี ลำดับรูปร่างบางแบบที่สังเกตได้จากการเอียงของ Penrose สามารถเขียนเป็นคำ Fibonacci ได้ คำศัพท์ดังกล่าวได้รับการศึกษาจากมุมมองทางทฤษฎีและคาดเดาว่าบางคำในตระกูลนั้นได้รับการยอมรับโดยออโต จำกัด และยังมีตัวอย่างของพฤติกรรมที่เลวร้ายที่สุดสำหรับอัลกอริธึมมาตรฐานเช่นอัลกอริธึมการย่อขนาดของ Hopcroft โปรดบอกฉันว่าคุณเวียนหัว

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

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


27
รายการที่สวยงาม ฉันต้องการเพิ่มออโตมาตะที่ให้มุมมองที่น่าสนใจเกี่ยวกับทฤษฎีการเข้ารหัสที่ริเริ่มโดย Schuetzenberger นอกจากนี้ทฤษฎีสมัยใหม่ของการเกิดพร้อมกันและทฤษฎีกระบวนการเป็นลักษณะทั่วไปของทฤษฎีออโตมาตะซึ่งออโตมาตาสามารถประกอบในแบบขนานและประสานในการกระทำของพวกเขา
Martin Berger

6
ว้าว. (+ 0.5 สำหรับประโยคสุดท้าย :-)
LarsH

6
เพิ่งเข้าร่วม TCS.SE เพียงเพื่อ +1 สิ่งนี้
Tynam

5
แม้จะรู้ทุกสิ่งทุกอย่างในรายการนี้ค่อนข้างมาก แต่ฉันก็ยังรู้สึกรู้แจ้งเมื่ออ่านมัน (และ (และต่อไป)) ทำให้ฉันหัวเราะหึ ๆ )
CA McCann

2
สุจริตฉันไม่เคยคิดเกี่ยวกับสิ่งนี้มากที่สุด (และบางส่วนของทฤษฎีบทที่ฉันไม่เคยได้ยิน) และฉันได้เรียนวิชาทฤษฎีการคำนวณ เราต้องมีครูหรือหลักสูตรที่ดีเป็นพิเศษเพื่อชี้ให้เห็นการเปิดเผยเหล่านี้หรือไม่?
Ken Bloom

33

มีเหตุผลทางทฤษฎีที่ดีมากมายในการศึกษา N / DFAs สองสิ่งที่เกิดขึ้นในใจคือ:

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

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

การถามว่าทำไมเราจึงควรศึกษา DFA นั้นคล้ายกับการถามว่าทำไมเราควรเรียนรู้ทฤษฎีความสมบูรณ์ของ Godel เมื่อสิ่งที่น่าสนใจจริง ๆ คือทฤษฎีบทของเขาที่ไม่สมบูรณ์

เหตุผลที่พวกเขาเป็นหัวข้อแรกในทฤษฎีออโตมาตะเนื่องจากเป็นเรื่องธรรมดาที่จะสร้างโหมดที่ซับซ้อนมากขึ้นจากโหมดที่ไม่ซับซ้อน


2
# 1 เข้าใจดีและฉันคิดว่าฉันเห็นเหตุผล แต่คุณจะอธิบายเหตุผล 'ก้าวไปข้างหน้า' จาก FAs ได้อย่างไร ผู้ที่รู้อะไรบางอย่างเกี่ยวกับ ToC สามารถย้อนรอยในการหวนกลับและครุ่นคิดกับมัน วิธีที่ดีที่สุดในการอธิบาย 'ทำไม' สำหรับนักเรียนที่เริ่มเรียนรู้ทฤษฎีออโตมาตะและรู้แค่ FAs เท่านั้น เราเพียงแค่ระบุว่าเรากำลังเริ่มต้นด้วยเครื่องหนึ่งบิตเพราะมันเป็นพื้นฐาน - ทำไม? วิธีที่ดีที่สุดที่จะตอบ 'นั่น' ทำไม จะขอบคุณบางอย่างเมื่อตอบคำถามนี้เพื่อ noobs ทั้งหมดไปยัง ToC :)
ปริญญาเอก

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

31

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

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

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

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


2
"... คุณสามารถทำสิ่งต่าง ๆ ด้วยออโต้ จำกัด ได้ตรงกันข้ามกับเครื่องจักรทัวริง" เข้าใจ pt แต่คำพูดที่ฟังดูน่าขันหรือไม่ได้ใช้ความรู้สึกที่ถูกนำออกไปจากบริบท ...
vzn

27

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

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

ตอนนี้ฉันทำปริญญาตรีของฉันในวิชาคณิตศาสตร์และคุณคุ้นเคยกับแนวคิดที่ว่าคุณเรียนรู้สิ่งที่คุณไม่มีเงื่อนงำว่าทำไมคุณถึงเรียนรู้ (ทฤษฎีกลุ่มทฤษฎีการวัดทฤษฎีการตั้งทฤษฎีพื้นที่ฮิลแบร์ต ฯลฯ ฯลฯ ทุกสิ่งที่ดี , BTW]) มีบางอย่างที่ต้องพูดเกี่ยวกับการเรียนรู้วิธีการเรียนรู้ - ครั้งต่อไปที่คุณต้องเรียนรู้คณิตศาสตร์ที่แปลกประหลาด (เพราะคุณจำเป็นต้องใช้มันเพื่อทำอะไรบางอย่างในโลกแห่งความเป็นจริง) ที่ดูแปลกมากที่คุณก้าวย่าง โดยเฉพาะอย่างยิ่งสิ่งที่สามที่จะเรียนรู้คือวุฒิภาวะทางคณิตศาสตร์ - สามารถโต้เถียงอย่างรอบคอบเกี่ยวกับสิ่งต่าง ๆ รู้ว่าเมื่อหลักฐานถูกต้องหรือไม่เขียนหลักฐาน ฯลฯ ถ้าคุณมีอยู่แล้วหลักสูตรนี้เป็นเรื่องง่ายและคุณก็จะไม่สนใจเช่นกัน ทำไมคุณถึงเรียนรู้มาก

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


21

แม้ว่ามันจะไม่ได้เป็นเหตุผลที่พวกเขาได้ศึกษามาตั้งแต่แรก แต่ขอบเขต จำกัด ของออโตมาตะและภาษาปกติที่พวกเขารู้จักนั้นก็อยู่ในสภาพที่เพียงพอที่จะถูกใช้เป็นหน่วยการสร้างสำหรับทฤษฎีทางคณิตศาสตร์ที่ซับซ้อนมากขึ้น ในบริบทนี้จะเห็นกลุ่มอัตโนมัติโดยเฉพาะ(กลุ่มที่องค์ประกอบสามารถถูกแทนด้วยสตริงในภาษาปกติและผลิตภัณฑ์ขององค์ประกอบโดยกลุ่มเครื่องกำเนิดไฟฟ้าสามารถคำนวณได้โดย transducers จำกัด ของรัฐ) และsofic subshifts (subshifts ของพื้นที่กะที่มี คำที่ต้องห้ามในรูปแบบภาษาปกติ) ดังนั้นมีเหตุผลที่จะศึกษาพวกเขาแม้ว่าคุณจะมีความสนใจในคณิตศาสตร์บริสุทธิ์มากกว่าวิทยาศาสตร์คอมพิวเตอร์

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


18

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

นี่คือสองย่อหน้าแรก:

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

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

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


16

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


10

ลองดูเกม "Living Binary Adder" ที่นี่: http://courstltc.blogspot.com/2012/12/living-binary-adder-game.html ฉันเคยนำเสนอเกมนี้ให้กับนักเรียนของฉันในตอนต้น ๆ เกี่ยวกับ DFA / NFA มันแสดงให้เห็นถึงสองสิ่งที่สำคัญในทฤษฎีออโตมา:

  1. วิธีเปลี่ยนกระบวนการทางจิตให้กลายเป็นกลไกที่ง่าย
  2. ความหมายที่แท้จริงหมายถึงอะไร สองสถานะเช่นเดียวกับรัฐ C และ Z ข้างต้นสามารถเป็นอะไรก็ได้: ทรานซิสเตอร์ในคอมพิวเตอร์กลไกไฮดรอลิกหรือผู้เล่นสองคน!

บางครั้งนำช่วงเวลา "Aha" มาให้นักเรียนของฉัน


9

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

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


ฟังดูน่ากินมาก แต่คุณช่วยอธิบายเพิ่มเติมอีกหน่อยได้ไหม? มันเป็นเรื่องยากที่จะจินตนาการโปรโตคอลเครือข่ายเป็นเครื่องของรัฐ ขอขอบคุณ.
hkoosha

3

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


-4

ฉันเห็นคำตอบต่าง ๆ ที่เรียกว่า "น้อยกว่า" ของ FM มากกว่าเครื่องทัวริง

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

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

สิ่งนี้ทำให้ฉันกลับบ้านอย่างเห็นได้ชัดในเวลาเดียวกัน (1984) ฉันค้นพบภาษา FORTH มันเป็นเอ็นจิ้นการดำเนินการที่สร้างขึ้นจากการรับรู้ถึง Dual Stack PDA การลงลึกฉันชอบโปรแกรมเดียวกันนี้ภายใต้คอมไพเลอร์นิพจน์

แม้ว่าสำหรับฉันแล้วผลกระทบที่แท้จริงของ FSM คือการค้นพบหนังสือ "ทฤษฎีของไฟท์ออโตมาตา" โดย Trakhtenbrot และ Korzynski (?) เมื่อฉันอายุ 18 การค้นพบที่ทำให้ฉันมีอาชีพเป็นหลัก


1
ฉันคิดว่าคุณไม่ได้พิสูจน์ความเท่าเทียมกันระหว่าง Nondeterministic Finite Automata และ Turing Machines มันเป็นวัตถุเฉพาะที่ OP ถามและเกี่ยวกับพวกเราที่เหลือกำลังเรียกว่า "Lesser"
วีเจย์ D

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