Code center > Darwinbots3

Bot testbed

<< < (10/13) > >>

Botsareus:
Also a question, how will sexrepro actually work? (sorry for asking the same question more than one time :)
Basically if you have stuff like { } and loop does the instruction set get decompressed first or is { } and loop treated as symbols to crossover?

Numsgil:

--- Quote from: Botsareus on April 28, 2017, 07:08:09 AM ---Also a question, how will sexrepro actually work? (sorry for asking the same question more than one time :)
Basically if you have stuff like { } and loop does the instruction set get decompressed first or is { } and loop treated as symbols to crossover?

--- End quote ---

{} mark the boundaries of codules.  The codules get matched up based on longest common subsequences, and crossover events happen in the matched up subsequences.  "loop" is just a command so it gets treated the same as other commands.  But there are details that aren't finalized yet here.

And of course, the physics of actually splitting the bots in two is also not really finalized yet.

Botsareus:
Let me clarify the question, lets say we have:

Robot A:

3 { a b c d } loop

Robot B

4 { a b z d } loop

Here is the first four things it can become:

Robot A Cross B:

3 { a b c d } loop
4 { a b z d } loop
4 { a b c d } loop
3 { a b z d } loop

If we decompress (used loosely so Billy knows what I am talking about) the loops first we get:

a b c d a b c d a b c d
a b z d a b z d a b z d a b z d

That is quite a few crossovers possible, as you can tell.


Numsgil:
Loops don't get decompressed.  There's no mechanism in the DNA to do it, and even if there were, the loop counter is just an integer on the stack and can't be deduced necessarily from a static analysis of a DNA program.

For your example, there are two codules for robot A:

'Main' codule:
3 1 loop

'Codule 1:
a b c d

Likewise for robot B there are two codules:

'Main' codule:
4 1 loop

'Codule 1:
a b z d

Let's say that the main codules and the ones in slot 1 get matched together.  I've marked where they have subsequences in common with ^:


--- Code: ---3 1 loop
4 1 loop
  ^ ^

a b c d
a b z d
^ ^   ^

--- End code ---

In effect any crossover events here would just swap codules between the two different DNA programs.  So in addition to basically having no effect, it's also possible for it to end effectively as:

4 { a b c d } loop

and

3 { a b z d } loop

Billy:
Not sure if this is the right place to report it, but I woke my computer from sleep to find this error message:


--- Code: ---RootLevelException = {
    Description = "SharpDX.SharpDXException",
    Message = "Unknown error (HRESULT = 0x88760868)",
    Source = "System.Windows.Forms.ControlMarshaledInvoke",
    Stack Trace = {
        File = "\Modules\Darwinbots3\Bot.Testbed\Main.cs:140:17",
        File = "\Modules\Darwinbots3\Bot.Testbed\Renderer.cs:109:13",
        File = "\Modules\Darwinbots3\Bot.Testbed\Renderer.cs:149:17",
    },
    Data = {
        radiiOut = {
            0 = "0.6294419442 //0x3FE424636EA17648",
            1 = "0.6594149415 //0x3FE519ED5D06C18A",
            2 = "0.6893879388 //0x3FE60F774B6C0CCB",
            3 = "0.7193609361 //0x3FE7050139D1580D",
            4 = "0.7493339334 //0x3FE7FA8B2836A34E",
            5 = "0.7793069307 //0x3FE8F015169BEE91",
            6 = "0.809279928 //0x3FE9E59F050139D2",
            7 = "0.8392529253 //0x3FEADB28F3668513",
            8 = "0.8692259226 //0x3FEBD0B2E1CBD055",
            9 = "0.8991989199 //0x3FECC63CD0311B96",
            10 = "0.9291719172 //0x3FEDBBC6BE9666D9",
            11 = "0.9591449145 //0x3FEEB150ACFBB21A",
            12 = "0.9891179118 //0x3FEFA6DA9B60FD5B",
            13 = "1.0190909091 //0x3FF04E3244E3244E",
            14 = "1.0490639064 //0x3FF0C8F73C15C9EF",
            15 = "1.0790369037 //0x3FF143BC33486F90",
            16 = "1.109009901 //0x3FF1BE812A7B1531",
            17 = "1.0790369037 //0x3FF143BC33486F90",
            18 = "1.0490639064 //0x3FF0C8F73C15C9EF",
            19 = "1.0190909091 //0x3FF04E3244E3244E",
            20 = "0.9891179118 //0x3FEFA6DA9B60FD5B",
            21 = "0.9591449145 //0x3FEEB150ACFBB21A",
            22 = "0.9291719172 //0x3FEDBBC6BE9666D9",
            23 = "0.8991989199 //0x3FECC63CD0311B96",
            24 = "0.8692259226 //0x3FEBD0B2E1CBD055",
            25 = "0.8392529253 //0x3FEADB28F3668513",
            26 = "0.809279928 //0x3FE9E59F050139D2",
            27 = "0.7793069307 //0x3FE8F015169BEE91",
            28 = "0.7493339334 //0x3FE7FA8B2836A34E",
            29 = "0.7193609361 //0x3FE7050139D1580D",
            30 = "0.6893879388 //0x3FE60F774B6C0CCB",
            31 = "0.6594149415 //0x3FE519ED5D06C18A",
            32 = "0.6294419442 //0x3FE424636EA17648",
            33 = "0.5994689469 //0x3FE32ED9803C2B07",
            34 = "0.5694959496 //0x3FE2394F91D6DFC5",
            35 = "0.5395229523 //0x3FE143C5A3719483",
            36 = "0.509549955 //0x3FE04E3BB50C4941",
            37 = "0.4795769577 //0x3FDEB1638D4DFC00",
            38 = "0.4496039604 //0x3FDCC64FB083657E",
            39 = "0.4196309631 //0x3FDADB3BD3B8CEFA",
            40 = "0.3896579658 //0x3FD8F027F6EE3877",
            41 = "0.3596849685 //0x3FD705141A23A1F3",
            42 = "0.3297119712 //0x3FD51A003D590B70",
            43 = "0.2997389739 //0x3FD32EEC608E74ED",
            44 = "0.2697659766 //0x3FD143D883C3DE6A",
            45 = "0.2997389739 //0x3FD32EEC608E74ED",
            46 = "0.3297119712 //0x3FD51A003D590B70",
            47 = "0.3596849685 //0x3FD705141A23A1F3",
            48 = "0.3896579658 //0x3FD8F027F6EE3877",
            49 = "0.4196309631 //0x3FDADB3BD3B8CEFA",
            50 = "0.4496039604 //0x3FDCC64FB083657E",
            51 = "0.4795769577 //0x3FDEB1638D4DFC00",
            52 = "0.509549955 //0x3FE04E3BB50C4941",
            53 = "0.5395229523 //0x3FE143C5A3719483",
            54 = "0.5694959496 //0x3FE2394F91D6DFC5",
            55 = "0.5994689469 //0x3FE32ED9803C2B07",
            56 = "0.6294419442 //0x3FE424636EA17648",
            57 = "0.6594149415 //0x3FE519ED5D06C18A",
            58 = "0.6893879388 //0x3FE60F774B6C0CCB",
            59 = "0.7193609361 //0x3FE7050139D1580D",
            60 = "0.7493339334 //0x3FE7FA8B2836A34E",
            61 = "0.7793069307 //0x3FE8F015169BEE91",
            62 = "0.809279928 //0x3FE9E59F050139D2",
            63 = "0.8392529253 //0x3FEADB28F3668513",
            64 = "0.8692259226 //0x3FEBD0B2E1CBD055",
            65 = "0.8991989199 //0x3FECC63CD0311B96",
            66 = "0.9291719172 //0x3FEDBBC6BE9666D9",
            67 = "0.9591449145 //0x3FEEB150ACFBB21A",
            68 = "0.9891179118 //0x3FEFA6DA9B60FD5B",
            69 = "1.0190909091 //0x3FF04E3244E3244E",
            70 = "1.0490639064 //0x3FF0C8F73C15C9EF",
            71 = "1.0790369037 //0x3FF143BC33486F90",
            72 = "1.109009901 //0x3FF1BE812A7B1531",
            73 = "1.0790369037 //0x3FF143BC33486F90",
            74 = "1.0490639064 //0x3FF0C8F73C15C9EF",
            75 = "1.0190909091 //0x3FF04E3244E3244E",
            76 = "0.9891179118 //0x3FEFA6DA9B60FD5B",
            77 = "0.9591449145 //0x3FEEB150ACFBB21A",
            78 = "0.9291719172 //0x3FEDBBC6BE9666D9",
            79 = "0.8991989199 //0x3FECC63CD0311B96",
            80 = "0.8692259226 //0x3FEBD0B2E1CBD055",
            81 = "0.8392529253 //0x3FEADB28F3668513",
            82 = "0.809279928 //0x3FE9E59F050139D2",
            83 = "0.7793069307 //0x3FE8F015169BEE91",
            84 = "0.7493339334 //0x3FE7FA8B2836A34E",
            85 = "0.7193609361 //0x3FE7050139D1580D",
            86 = "0.6893879388 //0x3FE60F774B6C0CCB",
            87 = "0.6594149415 //0x3FE519ED5D06C18A",
            88 = "0.6294419442 //0x3FE424636EA17648",
            89 = "0.5994689469 //0x3FE32ED9803C2B07",
            90 = "0.5694959496 //0x3FE2394F91D6DFC5",
        },
    },
}
--- End code ---

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version