From fcb65435f88be27bd254fb0c6bc18efc1c3aa9f4 Mon Sep 17 00:00:00 2001 From: Smoren Date: Mon, 20 May 2024 17:37:51 +0300 Subject: [PATCH] Genetic helpers refactor. --- src/lib/config/world.ts | 33 ++++++++++++++++++- .../actions/test-simulation-parallel.ts | 16 ++++----- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/src/lib/config/world.ts b/src/lib/config/world.ts index 5b65a81..e4b7ea1 100644 --- a/src/lib/config/world.ts +++ b/src/lib/config/world.ts @@ -1,4 +1,4 @@ -import type { WorldConfig } from '../types/config'; +import type { BoundsConfig, InitialConfig, WorldConfig } from '../types/config'; import type { NumericVector } from '../math/types'; export function createBaseWorldConfig(): WorldConfig { @@ -45,3 +45,34 @@ export function createBaseWorldConfig(): WorldConfig { }, }; } + +export function createWorldConfig2d(initialConfig: InitialConfig): WorldConfig { + return { + ...createBaseWorldConfig(), + VIEW_MODE: '2d', + CONFIG_2D: { + ...createBaseWorldConfig().CONFIG_2D, + INITIAL: initialConfig, + BOUNDS: { + MIN_POSITION: initialConfig.MIN_POSITION, + MAX_POSITION: initialConfig.MAX_POSITION, + }, + }, + }; +} + + +export function createWorldConfig3d(initialConfig: InitialConfig): WorldConfig { + return { + ...createBaseWorldConfig(), + VIEW_MODE: '3d', + CONFIG_3D: { + ...createBaseWorldConfig().CONFIG_3D, + INITIAL: initialConfig, + BOUNDS: { + MIN_POSITION: initialConfig.MIN_POSITION, + MAX_POSITION: initialConfig.MAX_POSITION, + }, + }, + }; +} diff --git a/src/scripts/actions/test-simulation-parallel.ts b/src/scripts/actions/test-simulation-parallel.ts index 10c0771..3988e7b 100644 --- a/src/scripts/actions/test-simulation-parallel.ts +++ b/src/scripts/actions/test-simulation-parallel.ts @@ -1,7 +1,7 @@ import os from 'os'; import { Pool } from "multiprocess-pool"; import type { TypesConfig, WorldConfig } from '@/lib/types/config'; -import { createBaseWorldConfig } from '@/lib/config/world'; +import { createWorldConfig2d } from '@/lib/config/world'; import { createBaseTypesConfig } from '@/lib/config/types'; import { convertWeightsToSummaryMatrixRow, @@ -32,25 +32,20 @@ export const actionTestSimulationParallel = async (...args: string[]) => { console.log('[START] test parallel simulation action', args); const ts = Date.now(); - const worldConfig = createBaseWorldConfig(); - const typesConfig = createBaseTypesConfig(); - const typesCount = typesConfig.FREQUENCIES.length; - const stepsCount = [300, 5, 5, 5, 5]; const atomsCount = 500; const minPosition = [0, 0]; const maxPosition = [1000, 1000]; - worldConfig.CONFIG_2D.INITIAL = { + const initialConfig = { ATOMS_COUNT: atomsCount, MIN_POSITION: minPosition, MAX_POSITION: maxPosition, }; - worldConfig.CONFIG_2D.BOUNDS = { - MIN_POSITION: minPosition, - MAX_POSITION: maxPosition, - }; + const worldConfig = createWorldConfig2d(initialConfig); + const typesConfig = createBaseTypesConfig(); + const typesCount = typesConfig.FREQUENCIES.length; const inputs = []; for (let i = 0; i < 10; i++) { @@ -70,6 +65,7 @@ export const actionTestSimulationParallel = async (...args: string[]) => { console.log(normalizedMatrix); + console.log(weights); console.log(summaries[0].length); console.log(weights.length); console.log(indexes.flat(1).length);