[Tutor] Encoding and Decoding
Carlos
carloslara at web.de
Tue Jan 2 19:37:27 CET 2007
Hello,
I have been having problems to solve a situation in which I need to
encode and decode information, hope that someone can give me a hand. The
solution for this problem has gone thru many iterations, but I recently
found that the long (for me) is the only one.
As you might remember Im working with some elements, for example:
ELEMENTS = [{'Name': 'Access', 'Parent': 'Plot', 'Level': 1.0, 'Height':
3.0, 'Width': 3.0, 'Depth': 3.0},
{'Name': 'Circulation_01', 'Parent':
'Access', 'Level': 1.0, 'Height': 3.0, 'Width': 3.0, 'Depth': 3.0},
{'Name': 'Circulation_02', 'Parent':
'Access', 'Level': 2.0, 'Height': 3.0, 'Width': 3.0, 'Depth': 3.0},
{'Name': 'Circulation_03', 'Parent':
'Access', 'Level': 3.0, 'Height': 3.0, 'Width': 3.0, 'Depth': 3.0},
{'Name': 'Int_Circ_01', 'Parent':
'Circulation_01', 'Level': 1.0, 'Height': 3.0, 'Width': 3.0, 'Depth': 3.0},
{'Name': 'Int_Circ_02', 'Parent':
'Circulation_01', 'Level': 1.0, 'Height': 3.0, 'Width': 3.0, 'Depth': 3.0},
{'Name': 'Int_Circ_03', 'Parent':
'Circulation_02', 'Level': 2.0, 'Height': 3.0, 'Width': 3.0, 'Depth': 3.0},
{'Name': 'Int_Circ_04', 'Parent':
'Circulation_02', 'Level': 2.0, 'Height': 3.0, 'Width': 3.0, 'Depth': 3.0},
{'Name': 'Int_Circ_05', 'Parent':
'Circulation_03', 'Level': 3.0, 'Height': 3.0, 'Width': 3.0, 'Depth': 3.0},
{'Name': 'Int_Circ_06', 'Parent':
'Circulation_03', 'Level': 3.0, 'Height': 3.0, 'Width': 3.0, 'Depth': 3.0}
]
The genetic algorithm that Im using (GA) generates solutions for a given
problem, expressed in a list, this list is composed by integers. Every
element in the list takes 8 integers, is a little messy but this is because
List [0] = Tens X position
List [1] = Units X position
List [2] = Decimals X position
List [3] = If < than 5 the number is negative, else is positive
Then if the result is List = [6, 1, 2, 3] the X position equals -612.3.
This is the same for the Y position. If there are 10 elements the list
is going to be 80 integers long and if there are 100 elements, well you
get a very long list...
With this in mind my question would be, how can I keep track of this
information? I mean how can I assign this List positions to each
element? This is needed because this is going to be a long list and the
GA needs to evaluate the position of each element with respect to the
position of the other elements. So it needs to know that certain numbers
are related to certain element and it needs to have access to the size,
level, name and parent information... I hope that this is clear enough.
Thanks in advance,
Carlos
More information about the Tutor
mailing list