แนวคิดของการคำนวณที่มีประสิทธิภาพ


11

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

โมเดลการคำนวณที่สมเหตุสมผลสามารถจำลองได้อย่างมีประสิทธิภาพบนเครื่องทัวริง

แต่ฉันไม่ทราบของทฤษฎีที่มั่นคงสำหรับการวิเคราะห์ความซับซ้อนของคอมพิวเตอร์ของอัลกอริทึมของแคลคูลัสλ

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

คำตอบ:


9

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

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

Pure λ-แคลคูลัสนั้นไร้ประโยชน์เพราะความซับซ้อน อย่างไรก็ตามมีระบบพิมพ์อย่างง่ายและอนุญาตให้มีการยกเลิกข้อกำหนดบางอย่างในวิธีที่ง่ายมาก จากนั้นระบบอื่น ๆ (ระบบT , F , .. ) อนุญาตให้มีการแสดงออกอย่างมากในขณะที่ยังคงมีการยกเลิก

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

tl; dr: calcul-แคลคูลัสมีประโยชน์สำหรับการคำนวณการเลิกและทฤษฎีความซับซ้อน

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


เหตุใดเราจึงทำการวิเคราะห์รันไทม์ส่วนใหญ่โดยใช้โมเดลที่เหมือน RAM หรือไม่
ราฟาเอล

O(1)O(เข้าสู่ระบบ|ม.อีม.โอRY|)nเข้าสู่ระบบ27

@ ราฟาเอล: คุณตอบโต้กับประโยคสุดท้ายของฉันใช่ไหม?
jmad

ใช่ฉันได้ (เพื่อประโยชน์ของผู้อ่านที่ไม่มีประสบการณ์)
กราฟิลส์

1

β

(λx.เสื้ออีRม.)โวลต์เสื้ออีRม.[x=โวลต์]
1

β

@Gilles: เนื่องจากเราไม่รู้ว่าค่าใช้จ่ายที่แท้จริง (unitary model) ในการลดลงที่เหมาะสมที่สุดคืออะไรคำพูดของคุณไม่เกี่ยวข้องเลย สำหรับตอนนี้การศึกษาเหล่านี้ให้การปรับแต่งปัญหาที่ระบุไว้ในคำตอบนี้เท่านั้น
Stéphane Gimenez

1

เกี่ยวกับการรวม calcul-แคลคูลัสในโมเดลความซับซ้อนมาตรฐานนี่คือบทคัดย่อจากงานวิจัยใหม่ ๆ ที่น่าสนใจในเรื่องนี้ มันให้คำตอบสำหรับคำถามนี้สำหรับการลด form แบบ จำกัด บางอย่าง โดยทั่วไปความซับซ้อนในแบบจำลองต้นทุนมาตรฐานนั้นคล้ายกับขั้นตอนการลด counting-count เมื่อ จำกัด การลดขนาดหัว (ซึ่งรวมถึงกลยุทธ์การโทรตามชื่อและการโทรตามค่า)

เกี่ยวกับความไม่แปรเปลี่ยนของแบบจำลองต้นทุนรวมสำหรับการลดหัวหน้าโดย Beniamino Accattoli และ Ugo Dal Lago (WST2012 เชื่อมโยงไปยังการพิจารณาคดี )

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


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