home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.programming      Programming issues that transcend langua      57,431 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 57,332 of 57,431   
   Julieta Shem to Kaz Kylheku   
   Re: on distinguishing memoization and dy   
   03 Jan 24 20:19:07   
   
   XPost: comp.lang.lisp   
   From: jshem@yaxenu.org   
      
   Kaz Kylheku <433-929-6894@kylheku.com> writes:   
      
   > On 2024-01-03, Julieta Shem  wrote:   
   >> Why do they say ``overlapping subproblems'' when it seems that what is   
   >> meant is a duplicate problem?  For instance, the interval [0, 10]   
   >> overlaps with the interval [5, 15], but they're not the same.  AFAICT,   
   >> memoization is only useful when at least two of the subproblems are   
   >> exactly the same.   
   >   
   > The famous example is Fibonacci. If you calculate fib(7) recursively,   
   > fib(3), and others, will show up more than once in the recursion:   
   >   
   >               fib(7)   
   >              /      \   
   >        fib(6)        fib(5)   
   >        /    \       /      \   
   >    fib(4)   fib(5) fib(4)   fib(3)   
   >            /     \         /     \   
   >          fib(4) fib(3)   
   >         /     \ /    \   
   >   
   > Why is that called overlapping? Because the left subtree fib(6)   
   > and fib(5) are not the same, but they contain some common content   
   > (nodes that are exactly the same like another copy of fib(5), and   
   > multiple fib(4) and so on).   
   >   
   > It's just in contrast to divide-and-conquer, where the problem   
   > space is being strictly partitioned; no part or sub-part of the   
   > left tree occcurs in the right or vice versa.   
   >   
   > [0, 10] and [5, 15] overlap, and they have [5, 10] in common.   
   > If that can be solved as a sub-problem, such that we can solve   
   > [0, 4], [5, 10] and [11, 15], and put them together,   
   > that would be better than solving [5, 10] twice and doing   
   > the same thing.   
      
   That's very clear now.  Wonderful.  Thank you.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca