คุณสามารถได้ยินว่าเสียง ? มันเป็นเสียงของทฤษฎีบทที่ยอดเยี่ยมนับพันการใช้งานและเครื่องมือที่หัวเราะในสวรรค์ตามทฤษฎี
ภาษาและออโตมาต้าเป็นแนวคิดที่สง่างามและแข็งแกร่งซึ่งคุณจะพบได้ในทุกสาขาของวิทยาการคอมพิวเตอร์ ภาษายังไม่แห้งนักจากการใช้คอมพิวเตอร์ยุคก่อนประวัติศาสตร์ มุมมองทางทฤษฎีภาษากลั่นคำถามที่ซับซ้อนดูเหมือนเกี่ยวกับวัตถุที่มีความซับซ้อนและทึบแสงเป็นงบง่าย ๆ เกี่ยวกับคำและต้นไม้ ภาษาทางการมีบทบาทในวิทยาการคอมพิวเตอร์คล้ายกับมุมมองพื้นฐานและการเปลี่ยนแปลงเกมที่นำโดยพีชคณิตและโทโพโลยีไปยังคณิตศาสตร์คลาสสิก นี่คือปัญหาเชิงปฏิบัติที่ค่อนข้างซับซ้อนและใช้งานได้จริงซึ่งได้รับการทาบทามผ่านทฤษฎีภาษา
- คุณต้องการค้นหาเหตุการณ์ที่เกิดขึ้นซ้ำของวลีในเอกสารและลบเหตุการณ์ที่สอง ในสาระสำคัญคุณต้องการแทนที่ลำดับในภาษา
- โปรแกรมมีการละเมิดการยืนยันหรือไม่ ไดรเวอร์อุปกรณ์เคารพโปรโตคอลบางอย่างเมื่อโต้ตอบกับเคอร์เนลหรือไม่? พฤติกรรมของโปรแกรมคือชุดของการประมวลผล กล่าวอีกนัยหนึ่งภาษา คุณสมบัติความถูกต้องเป็นภาษาอื่น ปัญหาความถูกต้องของโปรแกรมจะตรวจสอบการรวมภาษา
- ซอฟต์แวร์ของคุณจะติดอยู่ในการวนซ้ำไม่สิ้นสุดได้หรือไม่? อัลกอริทึมแบบกระจายมี livelock หรือไม่ เราต้องการภาษามากกว่าคำที่ไม่มีที่สิ้นสุด แต่มุมมองการรวมภาษายังคงมีผลอยู่
- คุณต้องการสร้างเครื่องฆ่าเชื้อเพื่อตรวจจับจาวาสคริปต์ที่เป็นอันตรายที่ป้อนลงในเว็บแอปพลิเคชัน ชุดของสตริงที่เป็นอันตรายคือภาษา ชุดของสตริงที่ป้อนลงในแบบฟอร์มในภาษาอื่น คุณต้องการตรวจสอบว่าจุดตัดของภาษาเหล่านี้ไม่ว่างเปล่าหรือไม่
- การตรวจสอบเวลาทำงานของระบบที่มีปฏิกิริยาและสำคัญต่อภารกิจ คุณต้องการออกแบบจอภาพซอฟต์แวร์ที่ดูแลการทำงานของกระบวนการทางเคมีของคุณหรือติดตามการปรับปรุงฐานข้อมูลทางการเงิน สิ่งเหล่านี้เป็นปัญหาด้านภาษาและปัญหาการแยก
- จดจำรูปแบบด้วยแอพพลิเคชั่นมากมาย คุณต้องการตรวจสอบรูปแบบในข้อมูลจีโนมเป็นข้อความในชุดรายงานข้อผิดพลาด นี่คือปัญหาที่เราได้รับคำจากภาษาที่ไม่รู้จักและต้องเดาภาษา นี่คือปัญหาการอนุมานภาษา
- เมื่อได้รับชุดของเอกสาร XML คุณต้องการย้อนกลับสร้างสคีมาที่ใช้กับเอกสารเหล่านี้ เอกสาร XML สามารถทำให้ต้นไม้เป็นอุดมคติได้ สคีมานั้นเป็นข้อมูลจำเพาะของภาษาต้นไม้และปัญหาการอนุมานสคีมาเป็นปัญหาการอนุมานภาษาเหนือภาษาต้นไม้
- แอปพลิเคชันจำนวนมากต้องการการใช้เหตุผลทางคณิตศาสตร์โดยอัตโนมัติ สมมติว่าเราแก้ไขทฤษฎีเชิงตรรกะเช่นการคำนวณทางคณิตศาสตร์ของ Presburger ซึ่งเรามีจำนวนธรรมชาติการบวกและภาคแสดงน้อยกว่า สูตรที่มีตัวแปร n หมายถึงชุดของเวกเตอร์มิติ n เวกเตอร์เป็นลำดับของตัวเลขและสามารถเข้ารหัสเป็นคำได้ ภาคแสดงเป็นชุดของคำ ภาษา. การดำเนินการเชิงตรรกะเช่นการเชื่อมการแยกและการปฏิเสธกลายเป็นจุดแยกสหภาพและการเติมเต็มของภาษา
การลดคำใบ้ที่ด้านบนถือว่าภาษาเป็นวัตถุทางคณิตศาสตร์ที่เป็นนามธรรม ในการใช้แนวคิดเหล่านี้ในทางปฏิบัติเราจำเป็นต้องมีโครงสร้างข้อมูลเพื่อแสดงภาษาและอัลกอริทึมเพื่อจัดการโครงสร้างข้อมูลเหล่านี้
ป้อนออโตมา ออโตมาช่วยให้เราลดคำถามเกี่ยวกับวัตถุทางคณิตศาสตร์ที่เป็นนามธรรมเช่นภาษาเป็นรูปธรรมคำถามอัลกอริทึมเกี่ยวกับกราฟที่มีป้ายกำกับ ภาษาและทฤษฎีออโตมาตะนอกจากการใช้งานในทางปฏิบัติอย่างบ้าคลั่งแล้วการให้บริการทางปัญญาที่สำคัญมาก เราสามารถคิดเกี่ยวกับปัญหาต่าง ๆ ได้ตั้งแต่การจัดรูปแบบรหัสไปรษณีย์ไปจนถึงขั้นตอนการตัดสินใจสำหรับตรรกะลำดับที่สองแบบ monadic ในพื้นที่แนวคิดที่สม่ำเสมอและไม่มีระเบียบ ช่างน่าทึ่งจริงๆ!
ฉันไม่ได้พูดอะไรเกี่ยวกับตรรกะและกระบวนการตัดสินใจ (ใช่มีแอปพลิเคชั่นที่ใช้งานได้จริง) ดูคำตอบของ Kaveh สำหรับภาพรวมที่เชื่อถือได้