ภาษาใดที่ได้รับการยอมรับจากเครื่องหนึ่งเคาน์เตอร์


15

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


2
หนังสือเล่มนี้: books.google.co.th/books/about/…โดย Jean Berstel มีเนื้อหาค่อนข้างลึกเกี่ยวกับภาษาเคาน์เตอร์เดียวและกลุ่มย่อยอื่น ๆ ของภาษาที่ไม่มีบริบท แต่มันมีแนวโน้มที่จะยากจริง ๆ ติดตามสำเนาของมัน
Sam Jones

1
@ SamJones แท้จริงแล้วหนังสือTransductions และภาษาที่ไม่มีบริบทโดย Jean Berstel ได้พิมพ์ออกมาแล้ว ผู้แต่งจัดทำเวอร์ชันอิเล็กทรอนิกส์ของบทที่สำคัญที่สุดของหนังสือเล่มนี้ www-igm.univ-mlv.fr/~berstel/LivreTransductions/ …
Hendrik Jan

คำตอบ:


11

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

ตัวอย่างเช่นออโตมาตา 1 ตัวสามารถจดจำภาษาซึ่งไม่ปกติ แต่ไม่สามารถจดจำภาษา{ a n b m a m b n }ซึ่งไม่มีบริบทและสามารถรับรู้ได้โดย 2-counter ออโตมาต้าเช่นกัน{anbn}{anbmambn}

หาก k-DCA เป็นออปติคัลk-counter ที่กำหนดและ k-NCA เป็นออโตเมติก k-counter ที่ไม่ระบุชื่อดังนั้นเรามีการรวมที่เหมาะสมดังต่อไปนี้:

DFA (ภาษาปกติ) 1-DCA 2-DCA

1-DCA 1-NCA

ถ้าเราไม่อนุญาตให้เปลี่ยน (สลับไปเวลาจริง ) แล้ว K-DCA k'-DCA สำหรับ k <k'ϵ

เพิ่งเสร็จสิ้น: มีภาษาที่ไม่มีบริบท แต่ไม่สามารถคำนวณซ้ำได้โดยตัวนับอัตโนมัติ (k-DCA กับ k 2) (ตัวอย่างเช่น{ w w R } ) และภาษาที่รับรู้โดยตัวนับอัตโนมัติที่ไม่ใช่บริบทฟรี (สำหรับ ตัวอย่าง{ a n b n c n } ) ตัวนับอัตโนมัติ (โดยเฉพาะอย่างยิ่งตัวนับสองตัวอัตโนมัติ) สามารถทัวริงสมบูรณ์ได้ก็ต่อเมื่อมีการเข้ารหัสอินพุตและเอาต์พุตอย่างถูกต้อง (ดูที่รายการ Wikipediaสำหรับรายละเอียด){wwR}{anbncn}


คำถาม: (1) ภาษาที่ได้รับการยอมรับโดยเคาน์เตอร์อัตโนมัติที่ไม่ใช่บริบทคุณหมายถึงไม่ปกติหรือไม่? (2) มีลำดับชั้นสำหรับ DCA หรือไม่ ทำไม? ไม่ใช่ว่าทัวริงเทียบเท่ากัน (เมื่อ ) k2
Hendrik Jan

(1) ไม่ฉันหมายถึง "ที่ไม่ใช่บริบท" (เลือกภาษาที่ไวต่อบริบทที่เข้ารหัสอย่างถูกต้องซึ่งสามารถรับรู้ได้โดย ak> 1 ตัวนับ) (2) คุณถูกต้องลำดับชั้นหมายถึงเรียลไทม์ DCA (ฉันแก้ไข คำตอบ)
Vor

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

7

ออโตมาโต้ได้รับการศึกษาอย่างมากในอดีตภาษาทางการในบริบทของ AFA และทฤษฎี AFL (ครอบครัวนามธรรมของออโตมาตะ & ภาษา) โดยทีมงานของสหรัฐอเมริกาและฝรั่งเศส (Ginsberg, Greibach, ... , Nivat, Berstel, ... )

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

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

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

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

ประเภทข้างต้นเก็บจำนวนเต็ม (หรือจำนวนธรรมชาติที่ไม่สำคัญ) และสามารถทดสอบเนื้อหาที่เป็นศูนย์ได้ ออโตเมตินับคนตาบอดจะเก็บจำนวนเต็ม แต่ไม่สามารถทดสอบศูนย์ได้ พวกเขาสามารถนับได้ต่ำกว่าศูนย์ได้อย่างชัดเจน ออโตเมตินับบางส่วนตาบอดไม่สามารถทดสอบหาค่าศูนย์ได้ แต่เก็บค่าจำนวนธรรมชาติ หากเครื่องพยายามลดระดับลงต่ำกว่าศูนย์เครื่องจะหยุดโดยไม่ยอมรับ นี่คือประเภทที่จัดเก็บแบบธรรมชาติเป็นแบบจำลองมุ้ง Petri นอกจากนี้ยังได้รับการปันส่วนไปยัง PDA ซึ่งขณะนี้มีสัญลักษณ์สแต็กเดียวโดยไม่มีเครื่องหมายด้านล่างพิเศษ (และดังนั้นปัญหาของการทดสอบสำหรับศูนย์: เราเพิ่งติดเมื่อ popping องค์ประกอบสแต็คสุดท้าย) บางครั้งชื่อของตระกูลที่กำหนดโดยตัวนับแบบตอบโต้ ได้แก่ OCL, ROCL และ 1-BLIND

(Dc)D={w{a,b}#a(w)=#b(w)}abc

เป็นตัวอย่างของการวิจัยที่เกี่ยวข้อง Latteux etal มีบทความเกี่ยวกับเรื่องไร้สาระ "Family of One-Counter Languages ​​ปิดภายใต้ความฉลาดทาง" (ซึ่งจริง ๆ แล้วเกี่ยวกับ ROCL)

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