Code center > Suggestions
Non-Determinstic Bot DNA flow
Carlo:
--- Quote ---The current system works just as well for either, while the ND system is only really interesting to evo sims. That is what I meant.
--- End quote ---
How can you measure how well the actual system works for evo and combat sims? So how can you say that it works "just as well"? And, what do you mean with "the nd system is really interesting for evo sims"? Are you saying that it would actually work better than the actual, but you don't want to switch because it would be (thing which I don't really believe) a problem for combat sims?
--- Quote ---Okay, first insulting your only supporter (albeit a mild one) is definately "more".
--- End quote ---
Sorry, but I'm tired of discussions. I simply think that DB is loosing day by day what made of it an interesting program, and there's no way to convince you of this.
--- Quote ---Seriously, what's the problem with giving the user more choices?
--- End quote ---
Just seems to me chaotic to leave to the user's choice something which is so low-level as the way dnas are executed. It's always a problem of elegance.
--- Quote ---But real recessive/dominant aspects to genes, from the point of view of phenotypes (which is where selection occurrs), is also arbitrary.
--- End quote ---
I think you shouldn't introduce rules specifically to obtain one result, like in this case. Similarities between biology and simulation are welcome, but I don't like ad hoc solutions.
--- Quote ---Yes, this is my goal. Complexity. I've said it before and I'll say it again. When I'm done, it'll be impossible for any one person to understand everything in DB! Why? What possible masochistic reason would I have for such a thing?
--- End quote ---
This is a silly idea of complexity. Complexity arises from few, simple rules combined together in unpredictable ways. Think of Conway's game of life, for instance. How much time will take you to explain the rules of the Conway's universe to a newbie? 1 minute? And cellular automata generate complexity. A predictable complexity, where emergent properties are possible. On the other hand, many rules, some ad hoc, patching other rules here and there, designed to provide only a precise outcome, produce only chaos. How much time would take you to explain how DB works to a newcomer?
The text you quoted defines perfectly what DB is becoming: complicated. Not complex.
--- Quote ---Who cares that the things can figure out the right value for 3 sliders?
--- End quote ---
I absolutely agree with you on this point. Most alife sw out there perform just some kind of optimization, not evolution.
--- Quote ---When I added *.thisgene, I only invisioned it for *.thisgene .mkvirus store. But people found new and interesting uses for it in conspec ID, antivirus genes, etc.
--- End quote ---
That was a good idea. Others (actually _many_ others) aren't. For example, mkvirus isn't a good idea. You had the opportunity of designing a whole new system for copying genomes and reproducing (an activity which should require a complex activity, and _time_), and just as a side effect create viruses, as well as all the other effect you just mentioned. Mkvirus, by contrast, is really a little, ad hoc idea.
--- Quote ---The only problem is in balancing them, and what better way than a slider the user can play with?
--- End quote ---
Because you have to offer some degree of certainty at the low levels of the simulation. And you must have the courage to make some choices. Otherwise everybody will be playing a different game.
Numsgil:
--- Quote ---How can you measure how well the actual system works for evo and combat sims? So how can you say that it works "just as well"? And, what do you mean with "the nd system is really interesting for evo sims"?
--- End quote ---
What I mean is that currently, I have just as much fun writing bots as running evo sims. I can run evo sims in any program, but DB allows me to really put my programming skills to the test and make some killer robots.
The ND system is more interesting from an evo sim standpoint. Writing bots in it becomes more difficult because you can't be sure how it's going to act. If you see it not do X, you don't know if it's not doing it because the DNA isn't working or just dumb luck. You quickly become frustrated and give up.
I don't think either system is better or worse for evo sims. Bots will adapt given enough time to any settings. As long as they can survive at all. I don't think ND adds anything to evolution that can't be added in other, more backward compatible ways.
--- Quote ---Sorry, but I'm tired of discussions. I simply think that DB is loosing day by day what made of it an interesting program, and there's no way to convince you of this.
--- End quote ---
Perhaps it's losing what made it interesting to you, but it becomes ever more interesting to me as time goes on. Do you realize that this is the longest I've ever worked on a single project? 6 months. That's incredible for me. So it must hold some allure to me.
I'm sure most other people would agree with me on this. There hasn't been a stable release yet that I find less appealing than the version before. The moment (multiple I suppose) people pine for an older version is the moment we know we've moved in the wrong direction.
At some point you have to accept that you're idea is either wrong or unpopular, which amounts to the same thing in a collaborative effort. Not every idea I've had has been good or popular, and it's only been through half a dozen people telling me so that I've come to realize when this is the case.
The only idea I've refused to give up on is chromosomes and sexual reproduction. For months now I've hammered away at the problem. If you check some old threads, you'll see how my idea has matured as people have continually said "no, and here's why".
Take the criticisms of your idea and fix them. Re examine the original goals and see where a different system can work. As programmers we understand that there's no such thing as a perfect solution. Hammer away again and again at the problem until a solution is found.
What you see as elegant I see as different. While it solves many problems, it creates many new ones. If you can find ways to fix the ultimate unfairness (each gene in the simulation needs to execute as often as all other genes), the idea would then be 'elegant'. Add to that backwards compatibility, and the idea would be brilliant. It would make me cry tears of joy.
--- Quote ---Just seems to me chaotic to leave to the user's choice something which is so low-level as the way dnas are executed. It's always a problem of elegance.
--- End quote ---
This particular slider doesn't dictate how the DNA is executed, but the magnitude of a particular effect. It would be one thing if the slider was between reverse polish notation and Polish notation. Then it really would be stupid. This slider is more for the discrepancy between recessive and dominant genes, which is something that the user has every right to play with. I can imagine many interesting experiments that can be performed using different settings.
Might even be a worthwhile paper. The Effects of Gene Dominance on Adaptive Systems. Might be there's no difference. Might be it makes adaption harder. Might be it makes it easier. I don't know anyone's really played around with it to find out.
--- Quote ---I think you shouldn't introduce rules specifically to obtain one result, like in this case. Similarities between biology and simulation are welcome, but I don't like ad hoc solutions.
--- End quote ---
Speaking of ideas no one likes... This one I've been pushing since before we moved boards. No one likes any idea I can come up with for establishing dominance or recession. I've tried hash functions, arbitrary rules, just about anything I can think of. Notice I keep trying new ideas. Eventually someone will like one of my ideas, or I'll think of something else that allows this as a natural consequence (the golden idea). You just have to keep plunking away until something works that people like.
--- Quote ---This is a silly idea of complexity. Complexity arises from few, simple rules combined together in unpredictable ways.
--- End quote ---
True, but the simpler the rule set, the less complex it is. The real world has so many interconnected rules operating on each other. Most of them don't appear to be related at all (Unified Field Theory aside). Imagine if DB had people who dedicated themselves to combat techniques, or multibot creation, or chasing behavior. When you can get all of DB in your head at once it's too simple. This isn't a game, you don't have to understand all the rules to play.
As PY said, as long as the interface is relatively simple, as long as new systems follow the interfacing patterns of older systems, each and every new element makes the program ever more complex, adds newer and newer shades of grey to a still rather black and white program.
I agree that many systems in DB are adhoc. Viruses are quite an arbitrary add-on. But the core of Darwinbots is very simple, and has remained so. While it would take several hours to explain all of DB to a newbie, it would take only a few minutes to explain everything necessary to either create a bot or run an evo sim.
As long as that base, the absolute minimum, remains fairly clean, even ad hoc addons fit well into the mesh.
If I had designed viruses, likely I would have coupled it with a sexual reproduction system, and gene transferance like between bacteria. But each programmer has a different way of solving a problem, and especially in a free projet like this, time is a factor. I'm pleased enough with viruses as they stand. There's more that can be done in this area, but it's not a bad system at all, and it's simple enough to get working (.mkvirus, .vshoot, .vtimer)
I also agree that reproducing should take more time, but I'm not sure how well such a suggestion would be recieved, so I hold my tongue. It's a minor point that I don't feel is hurting either evolution or leagues, but does upset subtle implications within the program. Much better to concentrate on specific criticisms of the program that are widely held. The big problems that need to be tackled:
1. Speciation isn't possible
2. It's hard to create a predator/prey cycle without veggy population limits or repopulating veggies, both of which are very artificial.
3. Sexual Reproduction isn't possible and/or doesn't work (what we have, no, isn't really sexual reproduction, but a kind of bastard child of sexual and asexual reproduction).
4. The program takes too long to evolve bots for the impatient (simulation speed)
5. And, if you believe what Botsareus keeps going on and on and on and on about, "mutations don't work!!!!1111".
These four (5) problems are where I spend most of my time. Everything else is candy.
Notice when I first tried tackling the removal of the linearity between genes, it was done with the intent of allowing diploid organisms to develop and sexually reproduce with real life rules. Ie: problem 3.
--- Quote ---Because you have to offer some degree of certainty at the low levels of the simulation. And you must have the courage to make some choices. Otherwise everybody will be playing a different game.
--- End quote ---
On some points yes, but constants should always be user defined, except where they're important for speed optimizations (maxspeed makes collision detection bearable).
What the program does can be arbitrary, but to what extent it does whatever it does needs to be user defined. And, of course, good defaults help users make sense of it all.
Carlo:
--- Quote ---Writing bots in it becomes more difficult because you can't be sure how it's going to act. If you see it not do X, you don't know if it's not doing it because the DNA isn't working or just dumb luck. You quickly become frustrated and give up.
--- End quote ---
That's your pure supposition, you haven't even tried. If a gene has 1/3 chances of being executed at each cycle, if your sim runs at 30 cycles/second it will be executed 10 times on average each second. This seems to me enough to exclude "dumb luck", from the point of view of the programmer.
Programming ND bots would be a new challenge for the programmer, asking him to take in account also the time/ chances effect, on one end, and the complexity, on the other.
Anyway, I'm not trying to convince you, as this is obviously impossibile...
--- Quote ---Do you realize that this is the longest I've ever worked on a single project? 6 months. That's incredible for me. So it must hold some allure to me.
--- End quote ---
Well, this explains a lot of things. If you had been working on it for six years, probably you'd see things in a different way.
--- Quote ---At some point you have to accept that you're idea is either wrong or unpopular, which amounts to the same thing in a collaborative effort.
--- End quote ---
Yes. And that's why I hate people. :lol: I don't like to remind this to you, but think of the average level of evolution sims around... and you'll understand how much the "popular judgment" is reliable.
--- Quote ---True, but the simpler the rule set, the less complex it is.
--- End quote ---
Balls. Fractals are complex, particle simulations are complex, cellular automata are complex... all examples of complexity generating from a few simple rules. Evolution generates a great amount of complexity, with just two little rules. So, keep in mind that complex systems aren't complicated systems.
Ok. I think this discussion can stop here. I have no more time to devolve to it now (I've lost enough in the last week). Since it is you who are working on the code, you have the final decision. At least, I hope that some idea may have passed (not the ND idea, but the fact that there's something wrong, both from the point of view of coherence, and that of evolution in the way dnas are executed, and the importance of the time factor, and so on).
Numsgil:
You sure now how to depress a guy. :lol:
I'll play around with it and add ND as an option. There's nothing that says the program can't house every imaginable simulation variety at once. :)
Griz:
--- Quote ---
--- Quote ---The current system works just as well for either, while the ND system is only really interesting to evo sims. That is what I meant.
--- End quote ---
How can you measure how well the actual system works for evo and combat sims? So how can you say that it works "just as well"? And, what do you mean with "the nd system is really interesting for evo sims"? Are you saying that it would actually work better than the actual, but you don't want to switch because it would be (thing which I don't really believe) a problem for combat sims?
--- Quote ---Okay, first insulting your only supporter (albeit a mild one) is definately "more".
--- End quote ---
Sorry, but I'm tired of discussions. I simply think that DB is loosing day by day what made of it an interesting program, and there's no way to convince you of this.
--- Quote ---Seriously, what's the problem with giving the user more choices?
--- End quote ---
Just seems to me chaotic to leave to the user's choice something which is so low-level as the way dnas are executed. It's always a problem of elegance.
--- Quote ---But real recessive/dominant aspects to genes, from the point of view of phenotypes (which is where selection occurrs), is also arbitrary.
--- End quote ---
I think you shouldn't introduce rules specifically to obtain one result, like in this case. Similarities between biology and simulation are welcome, but I don't like ad hoc solutions.
--- Quote ---Yes, this is my goal. Complexity. I've said it before and I'll say it again. When I'm done, it'll be impossible for any one person to understand everything in DB! Why? What possible masochistic reason would I have for such a thing?
--- End quote ---
This is a silly idea of complexity. Complexity arises from few, simple rules combined together in unpredictable ways. Think of Conway's game of life, for instance. How much time will take you to explain the rules of the Conway's universe to a newbie? 1 minute? And cellular automata generate complexity. A predictable complexity, where emergent properties are possible. On the other hand, many rules, some ad hoc, patching other rules here and there, designed to provide only a precise outcome, produce only chaos. How much time would take you to explain how DB works to a newcomer?
The text you quoted defines perfectly what DB is becoming: complicated. Not complex.
--- Quote ---Who cares that the things can figure out the right value for 3 sliders?
--- End quote ---
I absolutely agree with you on this point. Most alife sw out there perform just some kind of optimization, not evolution.
--- Quote ---When I added *.thisgene, I only invisioned it for *.thisgene .mkvirus store. But people found new and interesting uses for it in conspec ID, antivirus genes, etc.
--- End quote ---
That was a good idea. Others (actually _many_ others) aren't. For example, mkvirus isn't a good idea. You had the opportunity of designing a whole new system for copying genomes and reproducing (an activity which should require a complex activity, and _time_), and just as a side effect create viruses, as well as all the other effect you just mentioned. Mkvirus, by contrast, is really a little, ad hoc idea.
--- Quote ---The only problem is in balancing them, and what better way than a slider the user can play with?
--- End quote ---
Because you have to offer some degree of certainty at the low levels of the simulation. And you must have the courage to make some choices. Otherwise everybody will be playing a different game.
--- End quote ---
been spending some time crawling thru the old messages.
got to say ...
Carlos is right on in his take on where DB is headed ...
perhaps it will become a flash physics sim with pretty bots ...
but it's headed for a dead end as far as being an ALIFE sim.
imo.
which doesn't mean anything anyway. ;)
so it goes.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version