คำถามติดแท็ก recursion

4
โปรแกรมให้เหตุผลเกี่ยวกับซอร์สโค้ดของตัวเอง
แรงบันดาลใจสำหรับคำถามนี้คือคำถามต่อไปนี้ (คลุมเครือ): อะไรคือภาษาการเขียนโปรแกรม / รากฐานที่เป็นตรรกะสำหรับการมี AI ซึ่งอาจมีเหตุผลเกี่ยวกับรหัสที่มาของตัวเองและแก้ไขได้หรือไม่ นี่ไม่ใช่ทั้งหมดที่เข้มงวดดังนั้นนี่คือความพยายามของฉันที่จะดึงคำถามที่เป็นรูปธรรมออกมา มีสองสิ่งที่ฉันสนใจ: (A) ภาษาการเขียนโปรแกรม P ที่สามารถเป็นตัวแทนและจัดการโปรแกรมของตัวเองเป็นโปรแกรมประเภทข้อมูล (เช่น AST) (หากต้องการวัตถุชนิดโปรแกรมสามารถแปลงเป็นสตริงซึ่งเป็นข้อความของโปรแกรมที่ถูกต้องในภาษานั้นจะเป็นสิ่งที่ตรงกันข้ามกับสิ่งที่คอมไพเลอร์ทำ) (B) วิธีการให้เหตุผลเกี่ยวกับสิ่งที่โปรแกรมในภาษา P ทำ นี่คือสองระดับฉันคิดเกี่ยวกับมัน: ภาษาอื่น Q (พร้อมความสามารถในการพิสูจน์ทฤษฎี) ซึ่งเป็นแบบจำลองสิ่งที่โปรแกรม P ทำ ควรสามารถแสดงและพิสูจน์ข้อความเช่น "ผลลัพธ์ของการรันโปรแกรม p คือ foo" วิธีให้เหตุผลเกี่ยวกับสิ่งที่โปรแกรม p: โปรแกรมทำในภาษา P เอง (ดังนั้นเราจึงใช้ P = Q ด้านบน) ระดับนี้มีการดำเนินการในระดับใดหรือความก้าวหน้าในทิศทางนี้คืออะไร? อะไรคืออุปสรรคในทางปฏิบัติ ในแง่ของความตั้งใจดั้งเดิมของคำถามวิธีที่ดีที่สุดในการทำให้เป็นปัญหาคืออะไร? * * * * เป็นคำตอบที่แสดง …


1
แก้ปัญหาการเกิดซ้ำ
ฉันจะแก้ไขความสัมพันธ์ที่เกิดซ้ำต่อไปนี้ได้อย่างไร ฉ( n ) = f( n - 1 ) + f( n - บันทึกn )f(n)=f(n−1)+f(n−log⁡n) f(n) = f(n-1) + f(n - \log n)
12 recursion 

6
ลบการเรียกซ้ำ - ดูทฤษฎีหลังฉาก
ฉันยังใหม่กับไซต์นี้และคำถามนี้ไม่ได้อยู่ในระดับการวิจัย - แต่ก็ดี ฉันมีพื้นฐานด้านวิศวกรรมซอฟต์แวร์เล็กน้อยและแทบไม่มีเลยใน CSTheory แต่ฉันคิดว่ามันน่าสนใจ เพื่อให้เรื่องราวสั้น ๆ ฉันต้องการคำตอบที่ละเอียดยิ่งขึ้นต่อไปนี้หากคำถามนี้เป็นที่ยอมรับในไซต์นี้ ดังนั้นฉันรู้ว่าโปรแกรมแบบเรียกซ้ำทุกตัวมีแอนะล็อกซ้ำแล้วซ้ำอีกและฉันเข้าใจคำอธิบายยอดนิยมที่เสนอให้โดยการรักษาบางสิ่งที่คล้ายกับ "ระบบสแต็ก" และผลักดันการตั้งค่าสภาพแวดล้อมเช่นที่อยู่ผู้ส่ง ฯลฯ . เป็นรูปธรรมมากขึ้นผมอยากจะ (อย่างเป็นทางการ) ดูวิธีการหนึ่งไม่ได้พิสูจน์ว่าคำสั่งนี้ในกรณีที่คุณมีฟังก์ชั่นห่วงโซ่กล่าวอ้าง 0 นอกจากนี้จะเกิดอะไรขึ้นถ้ามีข้อความบางส่วนที่มีเงื่อนไขซึ่งอาจทำให้F ฉันโทรไปหาF j ได้บ้าง? นั่นคือกราฟการเรียกใช้ฟังก์ชันที่มีศักยภาพมีองค์ประกอบที่เชื่อมโยงกันอย่างมากF0→F1...Fผม→ Fฉัน+ 1...Fn→F0F0→F1...Fผม→Fผม+1...Fn→F0F_0 \rightarrow F_1 \ldots F_i \rightarrow F_{i+1} \ldots F_n \rightarrow F_0FผมFผมF_iFJFJF_j ฉันต้องการทราบว่าสถานการณ์เหล่านี้สามารถจัดการได้อย่างไรโดยแจ้งให้เราพูดถึงตัวแปลงซ้ำซ้ำบางส่วน และคำอธิบายด้วยคลื่นวิทยุที่ฉันอ้างถึงก่อนหน้านี้เพียงพอจริงๆสำหรับปัญหานี้หรือไม่? ฉันหมายความว่าเหตุใดฉันจึงพบว่าการลบการเรียกซ้ำในบางกรณีทำได้ง่าย โดยเฉพาะการลบการเรียกซ้ำออกจากการสำรวจเส้นทางล่วงหน้าของต้นไม้ไบนารีนั้นง่ายมาก - เป็นคำถามสัมภาษณ์มาตรฐาน แต่การลบการสอบถามซ้ำในกรณีที่ลำดับการโพสต์เป็นฝันร้ายสำหรับฉันเสมอ สิ่งที่ฉันถามจริงๆคือคำถาม222 (1) มีหลักฐานที่เป็นทางการ (น่าเชื่อถือมากกว่านี้) จริง ๆ หรือไม่ว่าการเรียกซ้ำสามารถเปลี่ยนเป็นการวนซ้ำได้? (2) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.