Update config
This commit is contained in:
@@ -17,11 +17,11 @@ import type { EvolutionConfig } from '../../lib/snakeAI/types';
|
|||||||
import './SnakeAI.css';
|
import './SnakeAI.css';
|
||||||
|
|
||||||
const DEFAULT_CONFIG: EvolutionConfig = {
|
const DEFAULT_CONFIG: EvolutionConfig = {
|
||||||
populationSize: 25,
|
populationSize: 36,
|
||||||
mutationRate: 0.1,
|
mutationRate: 0.1,
|
||||||
eliteCount: 5,
|
eliteCount: 5,
|
||||||
gridSize: 20,
|
gridSize: 20,
|
||||||
maxGameSteps: 500,
|
maxGameSteps: 20000,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function SnakeAI() {
|
export default function SnakeAI() {
|
||||||
@@ -130,7 +130,7 @@ export default function SnakeAI() {
|
|||||||
individuals={population.individuals}
|
individuals={population.individuals}
|
||||||
gridSize={config.gridSize}
|
gridSize={config.gridSize}
|
||||||
count={config.populationSize}
|
count={config.populationSize}
|
||||||
columns={5}
|
columns={6}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export function createGame(gridSize: number = 20): GameState {
|
|||||||
export function step(state: GameState, action: Action): GameState {
|
export function step(state: GameState, action: Action): GameState {
|
||||||
if (!state.alive) return state;
|
if (!state.alive) return state;
|
||||||
|
|
||||||
const STARVATION_LIMIT = 200; // Die if no food for 200 steps
|
const STARVATION_LIMIT = 100; // Die if no food for 100 steps
|
||||||
|
|
||||||
// Update direction based on action (turn left/right or go straight)
|
// Update direction based on action (turn left/right or go straight)
|
||||||
const newDirection = (state.direction + action + 4) % 4;
|
const newDirection = (state.direction + action + 4) % 4;
|
||||||
|
|||||||
Reference in New Issue
Block a user