The brute-force bot would need its own programming language, or something like that. It could be a language similar to C. Here's an example of what could be done for a 100 frame search, for SNES, with only a few buttons allowed instead of the whole controller:
buttons = F08F; // Right, Left, Down, Up, B, R, L, X, A ([url=http://tasvideos.org/SMV.html]reference[/url])
frames = 100;
brute_force(buttons, frames);
void brute_force(buttons, frames) {
some code here;
}
That's not real code by the way .. I know the syntax is probably wrong and everything, it's just to give a general idea. Of course there's more to it than just that. There are conditions to validate using memory addresses and comparison values.
This could either be a programming language that the user types himself, or you could make a GUI that would allow them to do it more easily. Like ... they select what buttons to use, write how many frames to brute-force, and then some kind of list of conditions that he could choose (enter a memory address, choose between <, <=, =, >=, > and !=, and then enter a value of comparison. Of course he could add many conditions, choosing AND or OR.
Those conditions would be there only to rule out some results, so that the bot doesn't test long things if that result isn't going to be used. For example, if you REALLY don't want your character to suffer damage, then a condition would be set so that when the memory address containing the health of your character decreases, you rule out that possibility and go to the next solution.
That's how I would see it, but then that's only my personal opinion. It looks like it could be a fairly big project to do, but any TASing emulator would definitely greatly benefit from such a feature. At least I would use it.
End of babbling. Just my two cents.
EDIT: Oh and you would also need a condition to determine which of the solutions is the best. Like "when $MEMADDR$ is the highest/lowest", or something.
EDIT2: This topic should be moved in the TAS Laboratory.