This individual was created in the 1a test suite.
Raw individual. Total statements (ignoring common setup statements): 37.
public class TSPChooser_Generation211_Number291 : GeneticProgrammingEngine.TravelingSalesman.TSPChooser {
public override void Execute() {
RunSetup();
int loopLimit = 145;
int stepLimit = 145;
for( int loopCount = 0; ((RunIncomplete()
&& (loopCount < loopLimit))
&& (Step < stepLimit)); loopCount = (loopCount + 1) ) {
if( CheapestChoice() ) {
Choose();
}
else {
if( !ChoiceInTop20() ) {
MoveToCheapest();
}
if( ChoiceInTop20() ) {
Choose();
RandomJump();
MoveToCheapest();
RandomJump();
}
else {
if( !ChoiceInTop20() ) {
MoveToCheapest();
}
}
if( ChoiceInTop20() ) {
MoveLeft();
MoveRight();
if( !CheapestChoice() ) {
RandomJump();
}
else {
MoveLeft();
if( CheapestChoice() ) {
MoveToCheapest();
}
else {
if( !ChoiceInTop20() ) {
MoveToCheapest();
}
Choose();
RandomJump();
RandomJump();
RandomJump();
MoveToCheapest();
if( !ChoiceInTop20() ) {
MoveToCheapest();
}
if( ChoiceInTop20() ) {
Choose();
RandomJump();
MoveToCheapest();
RandomJump();
}
else {
MoveLeft();
}
MoveToCheapest();
Choose();
}
}
}
MoveRight();
}
}
RunTeardown();
}
}
Structural statements in grey (i.e. setup statements found in all individuals).
Useless statements hilighted in blue (i.e. MoveLeft() followed by MoveRight()). Count: 13.
Unreachable statements hilighted in red (i.e. MoveToCheapest() followed by if( !CheapestChoice() )). Count: 5.
Total worthless statements: 18 out of 37 = 49%.
public class TSPChooser_Generation211_Number291 : GeneticProgrammingEngine.TravelingSalesman.TSPChooser {
public override void Execute() {
RunSetup();
int loopLimit = 145;
int stepLimit = 145;
for( int loopCount = 0; ((RunIncomplete()
&& (loopCount < loopLimit))
&& (Step < stepLimit)); loopCount = (loopCount + 1) ) {
if( CheapestChoice() ) {
Choose();
}
else {
if( !ChoiceInTop20() ) {
MoveToCheapest();
}
if( ChoiceInTop20() ) {
Choose();
RandomJump();
MoveToCheapest();
RandomJump();
}
else {
if( !ChoiceInTop20() ) {
MoveToCheapest();
}
}
if( ChoiceInTop20() ) {
MoveLeft();
MoveRight();
if( !CheapestChoice() ) {
RandomJump();
}
else {
MoveLeft();
if( CheapestChoice() ) {
MoveToCheapest();
}
else {
if( !ChoiceInTop20() ) {
MoveToCheapest();
}
Choose();
RandomJump();
RandomJump();
RandomJump();
MoveToCheapest();
if( !ChoiceInTop20() ) {
MoveToCheapest();
}
if( ChoiceInTop20() ) {
Choose();
RandomJump();
MoveToCheapest();
RandomJump();
}
else {
MoveLeft();
}
MoveToCheapest();
Choose();
}
}
}
MoveRight();
}
}
RunTeardown();
}
}
Simplified code.
if( CheapestChoice() ) {
Choose();
}
else {
if( !ChoiceInTop20() ) {
MoveToCheapest();
}
Choose();
RandomJump();
if( ChoiceInTop20() ) {
if( !CheapestChoice() ) {
RandomJump();
}
else {
MoveLeft();
if( !CheapestChoice() ) {
if( !ChoiceInTop20() ) {
MoveToCheapest();
}
Choose();
MoveToCheapest();
Choose();
MoveToCheapest();
Choose();
}
}
}
MoveRight();
}