Author Topic: More realistic mutations  (Read 15024 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
More realistic mutations
« Reply #30 on: February 24, 2005, 07:10:58 PM »
It's a little too piecemeal for my tastes.  We want a continuous function that takes a single input.

Here's an article on using calculus to get more realistic distribution patterns.

That's the kind of techniques I'd use to find a good gaussian curve generator.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
More realistic mutations
« Reply #31 on: February 24, 2005, 07:43:23 PM »
ok , if you can give me better [you]vb[/you] code then I already posted , go ahead:


---
But (I think) you do agree that applying more advanced number generation Techniques is the solution to the following problem:

Endy:
Quote
Any way to "normalize" the numbers that mutations come up with?

---
I will try to make some heads-or-tails(figure out) of that Calculus generating galaxies link
« Last Edit: February 24, 2005, 07:47:20 PM by Botsareus »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
More realistic mutations
« Reply #32 on: February 24, 2005, 08:03:08 PM »
It's pretty heavy math when it explains it, so if you don't know basic integral calculus it won't make any sense.

Give me the night.  I'll come up with a gaussian curve in the morning.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
More realistic mutations
« Reply #33 on: February 25, 2005, 11:40:53 AM »
We dont really need a perfict curve here , I think my:

Choose(Int(Rnd * 3) + 1, Int(Rnd * 10), Int(Rnd * 255), Int(Rnd * 20000)) * _
((Int(Rnd * 2) * 2) - 1)

gets the job done. If we plot it , will look more like a step latter though.
« Last Edit: February 25, 2005, 11:59:10 AM by Botsareus »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
More realistic mutations
« Reply #34 on: February 25, 2005, 11:55:14 AM »
I hate calculating gausian curves   :angry:

 :unsure:  PY  :unsure:
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
More realistic mutations
« Reply #35 on: February 25, 2005, 12:14:33 PM »
The more good on using my equation , I already "calculated" it
« Last Edit: February 25, 2005, 05:22:24 PM by Botsareus »

Offline Anonomous Guest Person

  • Bot Builder
  • **
  • Posts: 85
    • View Profile
More realistic mutations
« Reply #36 on: March 14, 2005, 10:34:41 AM »
Er, not to sound simple or dumb, but you could a random number between one and one million, take it's square root, and subtract 1000 by it, then add or subtract the total value.
Or in mathematical/programming form:
1000-(sqrt(rand()*1000000))
That'd certainly make it be in favor of smaller values. In fact, the chances of it changing by a mere one is  1/500, while as increasing/decreasing by 1000 is a full 1/1000000.
(And of course there'd be a safety system to make sure it doesn't get higher then 1000.) (And also, of course, it'd be rounded too.)

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
More realistic mutations
« Reply #37 on: March 16, 2005, 01:02:45 PM »
A.G.P. as Num will say :"There is a problem with your logic"

1) At high ranges there are "gaps" in the numbers beings generated

2) It does not generate any negative numbers
(There must be a 50/50 chance of a negative or a postitve number being generated)

Quote:
"And of course there'd be a safety system to make sure it doesn't get higher then 1000.) "

The whole point of the system we are brain storming about is that it has no range limit because there is a high chance that the number will be low range anyway.

Offline Anonomous Guest Person

  • Bot Builder
  • **
  • Posts: 85
    • View Profile
More realistic mutations
« Reply #38 on: March 16, 2005, 04:56:11 PM »
1. ?
2. Read it better. That's how much it'll add or subtract, not how much it'll add. That's just the basic theory, and it's rather stupid to ignore an idea simply because it's not detailed enough. I just suggested it because no one seemed to have brought it up.

And also, I more or less meant a safety system with store, and inc, and etc. so that if the targeted memory location is greater then 1000, then it'll divide it by 1000 and use the remainder. Though now that I think about it, that'd reduce all the junk DNA, and possibility of genetic diseases, so it might not be as good as I previously thought it was to implement.
« Last Edit: March 16, 2005, 04:56:35 PM by Anonomous Guest Person »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
More realistic mutations
« Reply #39 on: March 16, 2005, 05:14:00 PM »
"That's how much it'll add or subtract, not how much it'll add." you are saying we have an exsisting number and we change it.

My idea is totaly different: The number itself is replaced with a completly new number.

I can see how your idea will work now, Its not a bad idea, still a high range number in your idea will remain a high range number if it changes by a small value.

Offline Anonomous Guest Person

  • Bot Builder
  • **
  • Posts: 85
    • View Profile
More realistic mutations
« Reply #40 on: March 16, 2005, 05:18:50 PM »
Hm. Then on the account of that, I say we have two types of changing a value.
Relative changes, and relative-to-0 changes.
The former would be limited to small changes with an improbability of having a very very large change.
I dunno how the other one'd work though. :P

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
More realistic mutations
« Reply #41 on: March 16, 2005, 05:43:32 PM »
Choose(Int(Rnd * 3) + 1, Int(Rnd * 10), Int(Rnd * 255), Int(Rnd * 20000)) * _
((Int(Rnd * 2) * 2) - 1)

"not relative to 0" , just a new value every time.