### Author Topic: Ugly Copy Error Logic  (Read 3399 times)

#### Botsareus

• Society makes it all backwards - there is a good reason for that
• Bot God
• Posts: 4483
##### Ugly Copy Error Logic
« on: April 11, 2016, 01:54:36 PM »
Maybe more of suggestion than a bug:

The way Copy Error and Point mutation used to work:

For all sysvars below 100 it would generate a new sysvar using gauss that is approximately within 30 commands of the old sysvar.

For all sysvars above 100 it would generate a new sysvar using gauss that is approximately within (3/10 * old sysvar) commands of the old sysvar.

This means with lower values it would try to select a value in the same group while for high values command groupings are ignored.
This does not play well with how sysvars are grouped. For example chloroplast sysvars groups are ignored because the whole group has a high sysvar range.

I simplified this with the following:

For all sysvar below 1000

1/2 chance the value will be within 21 commands.
and
1/2 chance the value will be within 282 commands.

To keep things interesting, for large numbers, all numbers above 1000, generate a new number using gauss that is approximately within (3/10 * old number) commands of the old number.

Also, I already implemented it in my local repository and really do not feel like reverting it.

#### spike43884

• Bot Overlord
• Posts: 656
##### Re: Ugly Copy Error Logic
« Reply #1 on: April 17, 2016, 02:23:24 PM »
Maybe more of suggestion than a bug:

The way Copy Error and Point mutation used to work:

For all sysvars below 100 it would generate a new sysvar using gauss that is approximately within 30 commands of the old sysvar.

For all sysvars above 100 it would generate a new sysvar using gauss that is approximately within (3/10 * old sysvar) commands of the old sysvar.

This means with lower values it would try to select a value in the same group while for high values command groupings are ignored.
This does not play well with how sysvars are grouped. For example chloroplast sysvars groups are ignored because the whole group has a high sysvar range.

I simplified this with the following:

For all sysvar below 1000

1/2 chance the value will be within 21 commands.
and
1/2 chance the value will be within 282 commands.

To keep things interesting, for large numbers, all numbers above 1000, generate a new number using gauss that is approximately within (3/10 * old number) commands of the old number.

Also, I already implemented it in my local repository and really do not feel like reverting it.

Or alternatively, to give us slightly less predictable patterns for a bit more fun.
Make it calculate twice or such, in either of the following systems.
O = Original Value
A = Value change 1
B = Value change 2

System 1:
Run 1:
A is within 40 of O
Run 2:
1/2 chance B is within 50 of A
1/2 chance B is within 100 of A

System 2:
A is within 100 of O
B is within 100 of O then A is subtracted from B
Final value is the average between A, B and O
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.

#### Botsareus

• Society makes it all backwards - there is a good reason for that
• Bot God
• Posts: 4483
##### Re: Ugly Copy Error Logic
« Reply #2 on: April 18, 2016, 02:05:18 PM »
This is a classic kiss scenario. (keep it simple stupid) And based strictly on how commands are organized in our current DNA. The fact that it uses Gaussian curves already takes care of what you propose. Hey, on that note I am actually testing this thing now. Than I have to test the new PeterIM on my local server and package a drop. At some point after that I will revisit the zerobot algorithm and I am still evolving my zb further using my survival evolution algorithm.
« Last Edit: April 18, 2016, 02:07:29 PM by Botsareus »

#### spike43884

• Bot Overlord
• Posts: 656
##### Re: Ugly Copy Error Logic
« Reply #3 on: April 19, 2016, 12:01:43 PM »
This is a classic kiss scenario. (keep it simple stupid) And based strictly on how commands are organized in our current DNA. The fact that it uses Gaussian curves already takes care of what you propose. Hey, on that note I am actually testing this thing now. Than I have to test the new PeterIM on my local server and package a drop. At some point after that I will revisit the zerobot algorithm and I am still evolving my zb further using my survival evolution algorithm.
We use a Gaussian curve?
OFFTOPIC: Is peterIM using the same, single port still?
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.

#### Botsareus

• Society makes it all backwards - there is a good reason for that
• Bot God
• Posts: 4483
##### Re: Ugly Copy Error Logic
« Reply #4 on: April 19, 2016, 04:23:04 PM »
It is not using any port so far...

offtopic:
What is the big deal about using just one port anyway?

#### spike43884

• Bot Overlord
• Posts: 656
##### Re: Ugly Copy Error Logic
« Reply #5 on: April 20, 2016, 11:06:15 AM »
It is not using any port so far...

offtopic:
What is the big deal about using just one port anyway?
Compatibility
Thats the deal with it.
Normally programs have say a default port, then ports you can route it through.
Its because anyone with any knowledge of how the internet works n' stuff knows that boosts your security on your machine quite a bit, as computer viruses usually use the same ports over and over. Its also because if a very popular program, lets say "Internet Explorer" (excluding the fact theres better browsers, and ports are more complex then that), used 1 port, and only ever 1 port, and the same port for everyone every time, If someone wanted to make a virus or malicious program which fed back information to its creator, or allowed remote control of a machine, they could use the internet explorer port, and have a good chance that any computer they infect has that port open.

In reality ports, connections, packets and security is far more complex. But as a simple model, thats kind of why...
Alternatively it may be commercial products allowing port changing, to aid in internet traffic management, as X, Y and Z ports could be for the browser on their computers, they don't need to check every port when they know a virus was downloaded via the browser, to find the instance of the virus downloading, or it makes it easier to track people going on things they shouldn't be using the workplaces computers.
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.

#### Botsareus

• Society makes it all backwards - there is a good reason for that
• Bot God
• Posts: 4483
##### Re: Ugly Copy Error Logic
« Reply #6 on: April 20, 2016, 05:09:01 PM »
I guess you are talking about port changing how sell phone towers work? They keep switching the frequency so people can not tone in and listen to the call?

#### spike43884

• Bot Overlord
• Posts: 656
##### Re: Ugly Copy Error Logic
« Reply #7 on: April 21, 2016, 10:59:10 AM »
I guess you are talking about port changing how sell phone towers work? They keep switching the frequency so people can not tone in and listen to the call?
Well, I wasn't thinking of it like that, but I guess that is kind of analogous in a slight way to this?
Cell phone towers change it within the connection constantly, whereas we wouldn't. We'd have whichever port we wish to connect via defined at the start of the 'session'. I guess more similar to how radios (AKA walkie talkies) work. Tune into a chosen frequency and keep that the same throughout the call.
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.