Cyril, I didn't forget, but this is all I can do to help. The "solution" I offered would probably not complete its execution within your (or my) life time. So, that is pretty much out. The key here is to only consider unique combinations and not permutations. Here is what other (smarter) people have told me.
You problem can be reduced to a common NP problem (a problem where the best solution can only be garuanteed through exhaustive searches). That being said, this is the gist of what you want. This is generally a graph theory problem, so I will try to use graph theory language. First, you need to find and catalog all possible cores that could exist. You have already done this and say there are 8 million of them. Each of these cores is henceforth represented as a node. Now each node, if chosen for the final arrangement, will overlap some other possible nodes, making the two nodes mutually inclusive. Any two nodes that have this mutually inclusive relationship are linked by an edge. Now, we will designate each node with a color where each node cannot share an edge with another node of the same color. We are looking for a solution for this that uses the minimum number of colors and will hence contain the solution with the largest locus of same color nodes ( <--- This I am not 100% on, is the set with the max number of nodes in the graph solution with the minimum number of colors?). The solution you are looking for is set of nodes of the same color with the largest number of nodes. How you designate these colors is another matter. Alright, I realize that this is very vague and not too useful, but there is still hope. Like I said, this is a common problem, which is known as coloring a graph. One place where is shows up is in compiler design/theory. This helps us figure out the best way to store data in the limited amount of CPU register space (which is very much like your problem). So, a very good way of finding solutions is to look in compiler design/theory books. Any such book worth its paper will have at the least a full chapter on register allocation. One word of caution is that this is a hard problem; people do not in general find exact solutions but rather use heuristic methods to find approximate solutions. I hope approximate is okay because if not, you are in for one heck of a computation. Zach Cyril misc wrote: > Hello, > > did you forget me and my big problem, or did you give up ?
