คำถามติดแท็ก dynamic-programming

คำถามเกี่ยวกับปัญหาที่สามารถแก้ไขได้โดยการรวมวิธีแก้ปัญหาย่อยที่ได้รับซ้ำ ๆ

1
Micro-optimization สำหรับการคำนวณระยะทางแก้ไข: ถูกต้องหรือไม่
บนWikipedia จะมีการติดตั้งชุดรูปแบบการเขียนโปรแกรมแบบไดนามิกจากล่างขึ้นบนสำหรับระยะแก้ไข ไม่ปฏิบัติตามคำจำกัดความอย่างสมบูรณ์ เซลล์ภายในจะถูกคำนวณดังนี้: if s[i] = t[j] then d[i, j] := d[i-1, j-1] // no operation required else d[i, j] := minimum ( d[i-1, j] + 1, // a deletion d[i, j-1] + 1, // an insertion d[i-1, j-1] + 1 // a substitution ) } อย่างที่คุณเห็นอัลกอริทึมจะเลือกค่าจากเพื่อนบ้านบนซ้ายถ้ามีการจับคู่การบันทึกการเข้าถึงหน่วยความจำการดำเนินการ ALU และการเปรียบเทียบ …

1
ค้นหาการวนซ้ำที่ยาวที่สุด
กำหนดสตริงผมอยากจะหาที่ยาวที่สุดในการทำซ้ำ (อย่างน้อยสองครั้ง) subsequence นั่นคือผมอยากจะพบสตริงซึ่งเป็น subsequence (ที่ไม่จำเป็นต้องเป็นที่ต่อเนื่องกัน) ของเช่นว่าw' นั่นคือคือสตริงที่แบ่งครึ่งปรากฏเป็นสองเท่าในแถว โปรดทราบว่าคือองค์ประกอบของแต่ไม่จำเป็นต้องเป็นสตริงย่อยssswwwsssw=w′⋅w′w=w′⋅w′w=w' \cdot w' wwwwwwsss ตัวอย่าง: สำหรับ 'ababccabdc' มันจะเป็น 'abcabc' เพราะ 'abc' = 'abc' และ 'abc' จะปรากฏขึ้น (อย่างน้อย) สองครั้งใน 'ababccabdc' สำหรับ 'addbacddabcd' ตัวเลือกหนึ่งคือ 'dddd' เพราะ 'dd' ปรากฏขึ้นสองครั้ง (ฉันไม่สามารถใช้ตัวอักษรเดียวกันหลาย ๆ ครั้งได้ แต่ที่นี่ฉันมี 4 'd ดังนั้นมันก็โอเค) แต่มันก็ดีกว่า 4 ความยาว 8: 'abcdabcd' เนื่องจาก 'abcd' เป็นซับสตริงของ 'addbacddabcd' …

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

4
"ไดนามิก" เกี่ยวกับการเขียนโปรแกรมแบบไดนามิกคืออะไร?
หนึ่งในรุ่นพี่ของฉันได้สัมภาษณ์งานและเขาถูกถามว่าทำไมมันถึงเรียกว่าไดนามิก เขาไม่สามารถตอบได้และหลังจากที่เขาเลิกผู้สัมภาษณ์บอกว่าไม่มีอะไรเปลี่ยนแปลงเกี่ยวกับเรื่องนี้มันเรียกมันแบบนั้น นั่นเป็นเรื่องยากสำหรับฉันที่จะเชื่อ มันหมายถึงความจริงที่ว่าปัญหาย่อยได้รับการแก้ไขในระหว่างการใช้งานและใช้ในการบรรลุเป้าหมายสุดท้ายหรือไม่? เช่นเดียวกับการจัดสรรหน่วยความจำแบบไดนามิกที่เกิดขึ้นระหว่างเวลาทำงาน? [ตอบ] ฉันควรจะมีการอ่านนี้บทความวิกิพีเดียก่อนที่จะถามคำถามที่เสียใจ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.