private int[][] CreateEnvironmentMaze(int numberOfStates) { int[][] environmentMatrix = new int[numberOfStates][]; for (int i = 0; i < numberOfStates; ++i) { environmentMatrix[i] = new int[numberOfStates]; } environmentMatrix[0][1] = environmentMatrix[0][4] = environmentMatrix[1][0] = environmentMatrix[1][5] = environmentMatrix[2][3] = 1; environmentMatrix[2][6] = environmentMatrix[3][2] = environmentMatrix[3][7] = environmentMatrix[4][0] = environmentMatrix[4][8] = 1; environmentMatrix[5][1] = environmentMatrix[5][6] = environmentMatrix[5][9] = environmentMatrix[6][2] = environmentMatrix[6][5] = 1; environmentMatrix[6][7] = environmentMatrix[7][3] = environmentMatrix[7][6] = environmentMatrix[7][11] = environmentMatrix[8][4] = 1; environmentMatrix[8][9] = environmentMatrix[9][5] = environmentMatrix[9][8] = environmentMatrix[9][10] = environmentMatrix[10][9] = 1; environmentMatrix[11][11] = 1; // Goal _environmentMaze = environment.GetComponent <EnvironmentMaze>(); if (!_environmentMaze) { Debug.LogError("Environment Maze not found"); } _environmentMaze.SetAllStateToUncharted(); return(environmentMatrix); }
/// <summary> /// エージェントを設定する /// </summary> private void SetAgent() { EnvironmentMaze env = new EnvironmentMaze(EnvMaze, IndexData.GoalReword); Agent = new QLearningAgent(env, IndexData.Alpha, IndexData.Gamma, IndexData.Epsilon); }