กลับไปหน้าบทความ

อ่าน 2 นาที

ภาษาเอกภาพ

ทฤษฎีความซับซ้อนทางคอมพิวเตอร์/ภาษาทางการ

ในทฤษฎีความซับซ้อนของการคำนวณภาษาเอกภาคหรือภาษานับคือภาษาเชิงรูปธรรม (เซตของสตริง ) ที่สตริงทั้งหมดมีรูปแบบ 1 kโดยที่ "1" สามารถเป็นสัญลักษณ์ใดๆ ก็ได้ ตัวอย่างเช่น ภาษา {1, 111,...

ภาษาเอกภาพ

ในทฤษฎีความซับซ้อนของการคำนวณภาษาเอกภาคหรือภาษานับคือภาษาเชิงรูปธรรม (เซตของสตริง ) ที่สตริงทั้งหมดมีรูปแบบ 1 kโดยที่ "1" สามารถเป็นสัญลักษณ์ใดๆ ก็ได้ ตัวอย่างเช่น ภาษา {1, 111, 1111} เป็นภาษาเอกภาค เช่นเดียวกับภาษา {1 k  | kเป็นจำนวนเฉพาะ } คลาสความซับซ้อนของภาษาดังกล่าวทั้งหมดบางครั้งเรียกว่าTALLY 

ชื่อ "เอกภาค" (unary) มาจากข้อเท็จจริงที่ว่า ภาษาเอกภาคคือการเข้ารหัสเซตของจำนวนธรรมชาติในระบบตัวเลขเอกภาคเนื่องจากเอกภพของสตริงบนตัวอักษรจำกัดใดๆ เป็นเซตที่นับได้ดังนั้นทุกภาษาสามารถแมปไปยังเซต A ที่ไม่ซ้ำกันของจำนวนธรรมชาติได้ ด้วยเหตุนี้ ทุกภาษาจึงมีเวอร์ชันเอกภาค {1 k  | kใน A} ในทางกลับกัน ทุกภาษาเอกภาคก็มีเวอร์ชันไบนารีที่กระชับกว่า นั่นคือเซตของการเข้ารหัสไบนารีของจำนวนธรรมชาติkโดยที่ 1 kอยู่ในภาษานั้น 

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

ความสัมพันธ์กับระดับความซับซ้อนอื่นๆ

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

ภาษาเอกภาคจำเป็นต้องเป็นภาษาเบาบางเนื่องจากสำหรับแต่ละn มันจะมีค่าที่มีความยาว nได้อย่างมากที่สุดหนึ่งค่าและมีค่าที่มีความยาวไม่เกินn ได้อย่างมากที่สุด n ค่า แต่ไม่ใช่ว่าทุกภาษาเบาบางจะเป็นภาษาเอกภาค ดังนั้นTALLYจึงอยู่ในกลุ่มภาษาSPARSE

เชื่อกันว่าไม่มี ภาษาเอกภาค ที่ยากต่อ NPทฤษฎีบทของเบอร์แมน (1978) ระบุว่า ถ้าภาษาเอกภาคเป็นภาษาที่ยากต่อ NP แล้วP = NP [ 1 ] [ 2 ] สามารถพิสูจน์ได้โดยพิจารณาอัลกอริทึมเวลาพหุนามสำหรับ 3-SAT

ผลลัพธ์นี้สามารถขยายไปยังภาษาที่เบาบางได้[ 3 ] [ 4 ]

ถ้าLเป็นภาษาเอกภาคL* ( ดาวคลีนของL ) จะเป็นภาษาปกติ[ 5 ]

คลาสการนับ

คลาสความซับซ้อน P คือคลาสของภาษาเอกภาคที่สามารถรับรู้ได้โดยเครื่องทัวริงแบบเวลาพหุนาม (เมื่อได้รับอินพุตที่เขียนในรูปแบบเอกภาค) ซึ่งเป็นอนาล็อกของคลาสPอนาล็อกของNPในการตั้งค่าเอกภาคคือ NP คลาสการนับ #P ซึ่งเป็นอนาล็อกของ#Pก็เป็นที่รู้จักเช่นกัน[ 6 ]

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Unary_language&oldid=1348351710 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ภาษาเอกภาพ

ในทฤษฎีความซับซ้อนของการคำนวณภาษาเอกภาคหรือภาษานับคือภาษาเชิงรูปธรรม (เซตของสตริง ) ที่สตริงทั้งหมดมีรูปแบบ 1 kโดยที่ "1" สามารถเป็นสัญลักษณ์ใดๆ ก็ได้ ตัวอย่างเช่น ภาษา {1, 111,...

ความสัมพันธ์กับระดับความซับซ้อนอื่นๆ

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

คลาสการนับ

คลาสความซับซ้อน P คือคลาสของภาษาเอกภาคที่สามารถรับรู้ได้โดยเครื่องทัวริงแบบเวลาพหุนาม (เมื่อได้รับอินพุตที่เขียนในรูปแบบเอกภาค) ซึ่งเป็นอนาล็อกของคลาส P อนาล็อกของ NP ในการตั้งค่าเอกภาคคือ NP คลาส การนับ #P ซึ่งเป็นอนาล็อกของ #P ก็เป็นที่รู้จักเช่นกัน [ 6 ]