public FitCompDistFromOrigin(FitnessComponentDefinition sourceDefinition) { this.sourceDefinition = sourceDefinition; //pointA = new Vector3[1]; //pointB = new Vector3[1]; }
public FitCompDistanceToTargetSquared(FitnessComponentDefinition sourceDefinition) { this.sourceDefinition = sourceDefinition; //pointA = new Vector3[1]; //pointB = new Vector3[1]; }
public FitCompAltitude(FitnessComponentDefinition sourceDefinition) { this.sourceDefinition = sourceDefinition; //pointA = new Vector3[1]; //pointB = new Vector3[1]; }
private void SetUpDefaultFitnessComponents(Challenge.Type challengeType, FitnessManager fitnessManager) { switch (challengeType) { case Challenge.Type.Test: FitnessComponentDefinition newComponent = new FitnessComponentDefinition(FitnessComponentType.Random, FitnessComponentMeasure.Avg, 1f, true); fitnessManager.fitnessComponentDefinitions.Add(newComponent); break; case Challenge.Type.Racing: FitnessComponentDefinition newComponentRacing = new FitnessComponentDefinition(FitnessComponentType.Random, FitnessComponentMeasure.Avg, 1f, true); fitnessManager.fitnessComponentDefinitions.Add(newComponentRacing); break; case Challenge.Type.Combat: FitnessComponentDefinition newComponentCombat = new FitnessComponentDefinition(FitnessComponentType.Random, FitnessComponentMeasure.Avg, 1f, true); fitnessManager.fitnessComponentDefinitions.Add(newComponentCombat); break; default: Debug.LogError("ChallengeType Not Found! " + challengeType.ToString()); break; } fitnessManager.SetPendingFitnessListFromMaster(); // make pending list a copy of the primary }
private void SetUpDefaultFitnessComponents(FitnessManager fitnessManager) { FitnessComponentDefinition newComponentCombat = new FitnessComponentDefinition(FitnessComponentType.Random, FitnessComponentMeasure.Avg, 1f, true); fitnessManager.fitnessComponentDefinitions.Add(newComponentCombat); //fitnessManager.SetPendingFitnessListFromMaster(); // make pending list a copy of the primary }
public void SetFitnessFunctionFromPending() { if (fitnessComponentDefinitions == null) { fitnessComponentDefinitions = new List <FitnessComponentDefinition>(); } else { fitnessComponentDefinitions.Clear(); } for (int i = 0; i < pendingFitnessComponentDefinitions.Count; i++) { FitnessComponentDefinition definitionCopy = new FitnessComponentDefinition(pendingFitnessComponentDefinitions[i].type, pendingFitnessComponentDefinitions[i].measure, pendingFitnessComponentDefinitions[i].weight, pendingFitnessComponentDefinitions[i].biggerIsBetter); fitnessComponentDefinitions.Add(definitionCopy); } }
public void SetPendingFitnessListFromMaster() { if (pendingFitnessComponentDefinitions == null) { pendingFitnessComponentDefinitions = new List <FitnessComponentDefinition>(); } else { pendingFitnessComponentDefinitions.Clear(); } for (int i = 0; i < fitnessComponentDefinitions.Count; i++) { FitnessComponentDefinition definitionCopy = new FitnessComponentDefinition(fitnessComponentDefinitions[i].type, fitnessComponentDefinitions[i].measure, fitnessComponentDefinitions[i].weight, fitnessComponentDefinitions[i].biggerIsBetter); pendingFitnessComponentDefinitions.Add(definitionCopy); } }
private void SetUpDefaultFitnessComponents(Challenge.Type challengeType, FitnessManager fitnessManager) { switch (challengeType) { case Challenge.Type.Test: //FitnessComponentDefinition fitTest1 = new FitnessComponentDefinition(FitnessComponentType.WinLoss, FitnessComponentMeasure.Last, 1f, true); //fitnessManager.fitnessComponentDefinitions.Add(fitTest1); //FitnessComponentDefinition fitTest2 = new FitnessComponentDefinition(FitnessComponentType.DistanceToTargetSquared, FitnessComponentMeasure.Avg, 1f, false); //fitnessManager.fitnessComponentDefinitions.Add(fitTest2); FitnessComponentDefinition fitTest1 = new FitnessComponentDefinition(FitnessComponentType.ContactHazard, FitnessComponentMeasure.Avg, 1f, false); fitnessManager.fitnessComponentDefinitions.Add(fitTest1); FitnessComponentDefinition fitTest2 = new FitnessComponentDefinition(FitnessComponentType.DistToOrigin, FitnessComponentMeasure.Avg, 1f, true); fitnessManager.fitnessComponentDefinitions.Add(fitTest2); FitnessComponentDefinition fitTest3 = new FitnessComponentDefinition(FitnessComponentType.Velocity, FitnessComponentMeasure.Avg, 1f, true); fitnessManager.fitnessComponentDefinitions.Add(fitTest3); break; case Challenge.Type.Racing: FitnessComponentDefinition fitCompRacing1 = new FitnessComponentDefinition(FitnessComponentType.ContactHazard, FitnessComponentMeasure.Avg, 1f, false); fitnessManager.fitnessComponentDefinitions.Add(fitCompRacing1); FitnessComponentDefinition fitCompRacing2 = new FitnessComponentDefinition(FitnessComponentType.Velocity, FitnessComponentMeasure.Avg, 1f, true); fitnessManager.fitnessComponentDefinitions.Add(fitCompRacing2); break; case Challenge.Type.Combat: FitnessComponentDefinition fitCompCombat1 = new FitnessComponentDefinition(FitnessComponentType.Random, FitnessComponentMeasure.Avg, 0.1f, true); fitnessManager.fitnessComponentDefinitions.Add(fitCompCombat1); FitnessComponentDefinition fitCompCombat2 = new FitnessComponentDefinition(FitnessComponentType.Health, FitnessComponentMeasure.Avg, 0.5f, true); fitnessManager.fitnessComponentDefinitions.Add(fitCompCombat2); FitnessComponentDefinition fitCompCombat3 = new FitnessComponentDefinition(FitnessComponentType.DamageInflicted, FitnessComponentMeasure.Avg, 1f, true); fitnessManager.fitnessComponentDefinitions.Add(fitCompCombat3); FitnessComponentDefinition fitCompCombat4 = new FitnessComponentDefinition(FitnessComponentType.WinLoss, FitnessComponentMeasure.Avg, 1f, true); fitnessManager.fitnessComponentDefinitions.Add(fitCompCombat4); break; default: Debug.LogError("ChallengeType Not Found! " + challengeType.ToString()); break; } fitnessManager.SetPendingFitnessListFromMaster(); // make pending list a copy of the primary }
/*public void RepopulateBaselineGenomes() { * if (baselineGenomePool == null) { * baselineGenomePool = new List<AgentGenome>(); * } * else { * baselineGenomePool.Clear(); * } * * * for (int j = 0; j < numBaseline; j++) { * * AgentGenome baselineGenome = new AgentGenome(j); * baselineGenome.InitializeBodyGenomeFromTemplate(bodyGenomeTemplate); * float increment = (float)j / (float)(numBaseline - 1); * float weightScale = 0f; // how much to scale initial random weights * baselineGenome.InitializeRandomBrainFromCurrentBody(increment * (float)j * weightScale); * baselineGenomePool.Add(baselineGenome); * } * }*/ private void SetUpDefaultFitnessComponents(FitnessManager fitnessManager, int index) { //FitnessComponentDefinition fitCompCombat1 = new FitnessComponentDefinition(FitnessComponentType.Random, FitnessComponentMeasure.Avg, 0.0f, true); //fitnessManager.fitnessComponentDefinitions.Add(fitCompCombat1); if (index == 0) { FitnessComponentDefinition fitCompCombat2 = new FitnessComponentDefinition(FitnessComponentType.DistanceToEnemy, FitnessComponentMeasure.Avg, 1f, false); fitnessManager.fitnessComponentDefinitions.Add(fitCompCombat2); } else { //FitnessComponentDefinition fitCompCombat1 = new FitnessComponentDefinition(FitnessComponentType.Random, FitnessComponentMeasure.Avg, 1f, true); //fitnessManager.fitnessComponentDefinitions.Add(fitCompCombat1); FitnessComponentDefinition fitCompCombat3 = new FitnessComponentDefinition(FitnessComponentType.DistanceToEnemy, FitnessComponentMeasure.Avg, 1f, true); fitnessManager.fitnessComponentDefinitions.Add(fitCompCombat3); } FitnessComponentDefinition fitComp4 = new FitnessComponentDefinition(FitnessComponentType.WinLoss, FitnessComponentMeasure.Last, 1f, true); fitnessManager.fitnessComponentDefinitions.Add(fitComp4); //fitnessManager.SetPendingFitnessListFromMaster(); // make pending list a copy of the primary }
public void ClickNewComponent() { // check for existing componentType bool typeExists = false; for (int i = 0; i < currentFitnessManagerRef.pendingFitnessComponentDefinitions.Count; i++) { if (currentFitnessManagerRef.pendingFitnessComponentDefinitions[i].type == newComponentType) { typeExists = true; } } if (typeExists) { return; } else { FitnessComponentDefinition newComponent = new FitnessComponentDefinition(newComponentType, FitnessComponentMeasure.Avg, 1f, true); currentFitnessManagerRef.pendingFitnessComponentDefinitions.Add(newComponent); SetStatusFromData(trainerRef); } }
public FitCompWinLoss(FitnessComponentDefinition sourceDefinition) { this.sourceDefinition = sourceDefinition; score = new float[1]; }
public FitCompVelocity(FitnessComponentDefinition sourceDefinition) { this.sourceDefinition = sourceDefinition; }
public FitCompDistanceToEnemy(FitnessComponentDefinition sourceDefinition) { this.sourceDefinition = sourceDefinition; }
public FitCompDamageInflicted(FitnessComponentDefinition sourceDefinition) { this.sourceDefinition = sourceDefinition; }
public FitCompHealth(FitnessComponentDefinition sourceDefinition) { this.sourceDefinition = sourceDefinition; }
public FitCompRandom(FitnessComponentDefinition sourceDefinition) { this.sourceDefinition = sourceDefinition; }
public FitCompContactHazard(FitnessComponentDefinition sourceDefinition) { this.sourceDefinition = sourceDefinition; }