"m...@apollinemike.com" <m...@apollinemike.com> writes: > On Jul 5, 2011, at 9:58 AM, m...@apollinemike.com wrote: > > > > > 3) Make the lines_ of a constrained breaker a sparse binary tree > (see below) of matrices, not a single matrix, that stores the > information above. Each node of the tree would branch off into > break/noBreak for a single point in breaks. > > > > Errata - the binary tree nodes would hold either null (no break) or > vectors (break), where each vector represented the forces of the > previous lines. Or maybe not even this...essentially, it'd be a data > structure that holds the forces associated with a lot of different > line breaking configurations in a way that eliminates redundant > storage.* > > Cheers, > MS > > * I know nothing about best practices in data management, but I'd be > willing to learn if there isn't anyone who is good at this and would > be willing to take on this project with me :)
Well, the task sounds like the typical shortest path graph traversal. Basically, you keep a list of all feasible breakpoint sequences up to the currently examined breakpoint, including a set of characteristics that can still interact with the following breakpoints/lines, like the bottom skyline, and a (possibly discontinuous, like when skylines may interlock, but partly continuous) set of vertical dimensions and associated scores that the material above can assume. If one partial possibility can't be part of a solution scoring better than a solution using a different scored partial possibility, the inferior candidate is pruned from consideration. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel