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 ?

Reply via email to