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];
    }
Exemple #4
0
    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
    }
Exemple #5
0
    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
    }
Exemple #6
0
 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);
     }
 }
Exemple #7
0
 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);
     }
 }
Exemple #8
0
    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;
 }