สิ่งแรกที่นึกขึ้นได้ว่าเป็นสิ่งที่คุณอาจพบว่ามีความน่าดึงดูดใจคือความซับซ้อนของ Kolmogorov ฉันคิดว่ามันน่าหลงใหลและเมื่อคุณไม่ได้พูดถึงมันฉันคิดว่ามันน่าจะคุ้มค่าที่จะพูดถึง
ที่ถูกกล่าวว่าวิธีการทั่วไปในการตอบคำถามนี้อาจขึ้นอยู่กับทฤษฎีภาษาและออโตมาตา ออปชัน จำกัด ที่กำหนดแน่นอนคือตัวประมวลผลสตริง O (n) นั่นคือจากสตริงที่มีความยาว n พวกมันจะประมวลผลสตริงในขั้นตอน n อย่างแม่นยำ (สิ่งนี้ขึ้นอยู่กับวิธีการที่คุณกำหนดออโตเมทริก จำกัด แน่นอนอย่างแม่นยำอย่างไรก็ตาม DFA ไม่ต้องการขั้นตอนเพิ่มเติมอย่างแน่นอน) Nondeterministc finite automata รับรู้ภาษาเดียวกัน (ชุดของสตริง) เป็น DFAs และสามารถแปลงเป็น DFAs ได้ แต่เพื่อจำลอง NFA บนเครื่องที่ต่อเนื่องและกำหนดได้คุณต้องสำรวจพื้นที่ "ต้นไม้" ซึ่งสามารถเพิ่ม ซับซ้อนอย่างมาก ภาษาปกติไม่ "ซับซ้อน" มากนักในแง่การคำนวณ
คุณสามารถดูระดับอื่น ๆ ของลำดับชั้นของภาษา Chomsky ได้เช่นกัน - ไม่มีบริบทที่กำหนดขึ้นมา, ไม่มีบริบท ภาษาที่นับได้และภาษาที่ไม่สามารถตัดสินใจได้
ออโตมาตาที่แตกต่างกันแตกต่างกันในการจัดเก็บข้อมูลภายนอก นั่นคือสิ่งที่จำเป็นต้องมีที่จัดเก็บข้อมูลภายนอกเพื่อให้ออโตมาตาประมวลผลภาษาบางประเภทได้อย่างถูกต้อง ออโตไฟไนต์ จำกัด ไม่มีที่เก็บข้อมูลภายนอก พีดีเอมีกองซ้อนและเครื่องทัวริงมีเทป คุณสามารถตีความความซับซ้อนของปัญหาการเขียนโปรแกรมเฉพาะ (ซึ่งสอดคล้องกับภาษา) ที่เกี่ยวข้องกับจำนวนหรือประเภทของการจัดเก็บข้อมูลที่จำเป็นในการรับรู้ หากคุณต้องการพื้นที่เก็บข้อมูลที่ จำกัด หรือไม่ จำกัด เพื่อรับรู้สตริงทั้งหมดในภาษานั่นเป็นภาษาปกติ หากคุณต้องการเพียงแค่สแต็คคุณก็จะมีภาษาที่ไม่มีบริบท เป็นต้น
โดยทั่วไปแล้วฉันจะไม่แปลกใจถ้าภาษาที่สูงขึ้นในลำดับชั้นของ Chomsky (ด้วยความซับซ้อนที่สูงขึ้น) ก็มีแนวโน้มที่จะมีความเอนโทรปีที่สูงขึ้นในแง่ของข้อมูลและทฤษฎี ที่ถูกกล่าวว่าคุณอาจจะพบกับตัวอย่างมากมายในความคิดนี้และฉันไม่รู้ว่ามีบุญใด ๆ เลย
นอกจากนี้อาจมีการถามที่ดีกว่าใน "theoretical cs" (cstheory) StackExchange