|
Well I suppose I should be thankful you didn't google "Commando"
|
|
|
|
|
I didn't Google anything.
That song just jumped right into my head as soon as I read it.
Don't know any Commando song...
|
|
|
|
|
That's not it...
".45 ACP - because shooting twice is just silly" - JSOP, 2010
- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
|
|
Rescue Radiers - that's it.
Thanks.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
You have to be of a certain age...
|
|
|
|
|
May I ask what you are after, John ?
|
|
|
|
|
Nothing. We were talking about antique computers, and I created a brain worm that would not die until I could recall the name of the game. I'm okay now.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
There are only 10 types of people in the world: those who understand binary and those who don't
-- P
Always remember that you are absolutely unique. Just like everyone else.
|
|
|
|
|
Palash Mondal_ wrote: There are only 10 types of people in the world:
Those who post ancient jokes and those that post something original.
Marc
|
|
|
|
|
I guess the group containing people who understand binary would be very less and can be completely ignored! You didn't talk about people who know how binary language works, but you talked about "understanding!", which no man on Earth can ever do! To "understand", we must get to know what the ones and zeros mean by just looking at them; without any decoding process! And which is impossible! So there is only 1 category, those who don't understand binary(but some of them, given considerable time, can decode the information).
And remember that binary information are not always numbers, they are mostly instructions!
|
|
|
|
|
Binary 9 is binary 6 flipped
Decimal 9 is decimal 6 flipped.
Alright, that does it.
|
|
|
|
|
Or in short:
There are one type of people, those that don't understand Unary.
|
|
|
|
|
I hate when I go into a men's room and there isn't a Unary in there! Wait, what are we talking about?
Hogan
|
|
|
|
|
I never really got on with binary. It's too all or nothing for my taste.
|
|
|
|
|
There are two types of people on CodeProject - those who know of Leslie and those who don't
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
I don't get it.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
I am new to genetic algorithms, but now I have decided it must not be so for long! I have been thinking what it takes to develop a program that implements the genetic algorithm (in C++) and I have the following idea:
1. The program should have an array of function pointers, each holding a particular function that responds to the input given.
2. Each "organism" should just be a collection of functions held in the function pointer array, along with the input fed to the system.
3. Each of these functions in the function pointer array is the genetic material, and these have access to a memory space which can be read/altered.
4. Now the result gets evaluated by calling all the functions in the function array linearly, and the result is finally retrieved.
5. Mutation and crossover process also occurs; they are monitored globally
Example,
typedef (int)(*FuncPtr)(int*, int);
struct GeneticCode{
int* MemSpace;
static int MemSpaceSize;
void SetMemSpace(int s); FuncPtr fnc[MAX_GENETIC];
void Mutate(int seed); GeneticCode NextGen(GeneticCode);
};
Now, this data structure shows how an individual organism should be defined. We just need to add a,
void Evaluate(int* Input, GeneticCode Code);
function to evaluate the result for a given input. This is done by evaluating every function in the genetic material linearly. Like this,
for(int i=0; i<MAX_GENETIC; ++i)
Code.Fnc[i] (MemSpace, Code::MemSpaceSize);
So what do you think about this Idea? I am thinking of forming a general 'framework' of code that works fine in most genetic algorithm situations. Do you think this would work for face recognition algorithms? Lets not follow what the books say, and lets get super creative! I am new to Forums based and programming (which means I am also new here. So please forgive me if I sound offbeat.)
And we would also need a fitness function monitoring the population.
modified 14-Sep-15 12:46pm.
|
|
|
|
|
This stuff has been hashed over so many times I'm sure you could find 50 implementations in a minute or two.
But what exactly is the point of writing such an algorithm except for academic (ie, homework) purposes? What do the genes express? If you mutate a gene, how does the expression change?
While genetic algorithms are cool from a geek perspective, what real use are they?
Marc
|
|
|
|
|
Marc Clifton wrote: While genetic algorithms are cool from a geek perspective, what real use are they?
Good question. But to think about it, it doesn't necessary have to be the cool genetic algorithm that imitates the biological system, understanding what it does fundamentally helps us in understanding its actual propose. In genetic algorithm, we alter the sequence by which a set of steps in an algorithm execute, thereby altering the overall process (there are many types of genetic algorithms and I am referring to this one). This changes slightly during each generation (randomly while mutating; but the mutation process should not manage to change a large part of it, rather altering it randomly by 5% would be harmless, would it?). And also, the newer algorithm is determined partially by an existing and fit algorithm.
So the overall process of a genetic algorithm is this:
It obtains a initial algorithm and tests its accuracy in predicting the result. If it fails, it's changed slightly and checked again. This process continues until the error in evaluation is minimized. While going through various learning algorithms, I found that most of them are astonishing similar to each other fundamentally! But does that have to prevent us from talking about them and put them to a test? Yet again?
Marc Clifton wrote: But what exactly is the point of writing such an algorithm except for academic (ie, homework) purposes?
As I already said, it is for understanding the theoretical concept within the subject material and thinking about different ways we may use them in solving real time problems.
Marc Clifton wrote: What do the genes express? If you mutate a gene, how does the expression change?
I want to talk about this genetic algorithm in an abstract scale and wait for it to converge to a point as the discussion goes on. That was my strategy.
Marc Clifton wrote: This stuff has been hashed over so many times I'm sure you could find 50 implementations in a minute or two.
But never hashed with my involvement in it! We can't expect people to always talk about new ideas even in most leading research journals can we? But we can learn and I want to learn with a bit of discussion!
|
|
|
|
|
I like to use them in place of some unmaintainable spaghetti logic, like code to let a robot control its legs without falling on its nose. Once you have evolved an acceptable solution you are ready to go (literally), but can still profit from letting the evolutionary algorithm improve that solution. And the best part: You can work on something else meanwhile.
So yes, I think they are extremely useful wherever a perfect solution is not needed and endless if-else-logic will get you nowhere.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
Yeah agreed! But I really believe that the more efficient the genetic algorithm is, the less epochs it takes to complete the process. I view these learning algorithms more like finding an appropriate point 'A' on an Euclidean space such that f(A, I) provides the most appropriate output, the output that is close to the correct answer (here, 'I' is the input, and 'A' is the data-set that gets modified for each epoch in the learning process). Soon enough, to minimize the error, the point 'A' moves along the graph (note, 'A' is a 'n' dimensional vector) and reaches the point of minimum error.
It is necessary that we create an algorithm that is most appropriate for certain specific learning processes. Because the algorithm we write should be as close to the solution as possible, it doesn't make sense to write a genetic algorithm solution to a problem that has a concrete solution than can be written down. But we may write a re-adaptable algorithm, that adapts itself to learn a simple solution, which can be written down by human but if its something that should be chosen from a large class of simple solutions! This case usually arises when the problem involves making choices rather than framing solutions.
I haven't yet written a code in genetic algorithm, but I am planning to do so! This subject is really interesting isn't it?
modified 15-Sep-15 9:45am.
|
|
|
|
|
Try it, then write a paper
|
|
|
|
|
The fitness of any "gene" should be evaluated by the environment rather than by the gene... also, you need to be able to tweak the mutation rate as if it is too high then your fitness gets lost in the noise.
Perhaps you can take A .NET evolutionary computing framework[^] to the next generation
|
|
|
|