Skip to content

Commit

Permalink
Merge pull request #173 from BoostV/159-number-of-initial-experiments…
Browse files Browse the repository at this point in the history
…-should-be-dynamically-calculated

159 number of initial experiments should be dynamically calculated
  • Loading branch information
langdal committed Jul 6, 2022
2 parents 454f32f + f359680 commit 2182976
Show file tree
Hide file tree
Showing 3 changed files with 268 additions and 157 deletions.
1 change: 1 addition & 0 deletions src/components/result-data/result-data.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ export const ResultData = (props: ResultDataProps) => {
(experiment.extras['experimentSuggestionCount'] as number) ?? 1

const isInitializing =
experiment.optimizerConfig.initialPoints === 0 ||
experiment.dataPoints.length < experiment.optimizerConfig.initialPoints
const summary = isInitializing ? (
<InitializationProgress />
Expand Down
18 changes: 18 additions & 0 deletions src/reducers/experiment-reducers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ import {
import { assertUnreachable } from '../utility'
import produce from 'immer'

const calculateInitialPoints = (state: ExperimentType) =>
Math.max(
3,
(state.categoricalVariables.length + state.valueVariables.length) * 3
)

export type ExperimentAction =
| {
type: 'setSwVersion'
Expand Down Expand Up @@ -91,11 +97,17 @@ export const experimentReducer = produce(
0,
action.payload
)
state.optimizerConfig.initialPoints = calculateInitialPoints(state)
state.extras.experimentSuggestionCount =
state.optimizerConfig.initialPoints
break
case 'deleteValueVariable':
state.changedSinceLastEvaluation = true
let indexOfDelete = state.valueVariables.indexOf(action.payload)
state.valueVariables.splice(indexOfDelete, 1)
state.optimizerConfig.initialPoints = calculateInitialPoints(state)
state.extras.experimentSuggestionCount =
state.optimizerConfig.initialPoints
break
case 'addCategorialVariable':
state.changedSinceLastEvaluation = true
Expand All @@ -104,13 +116,19 @@ export const experimentReducer = produce(
0,
action.payload
)
state.optimizerConfig.initialPoints = calculateInitialPoints(state)
state.extras.experimentSuggestionCount =
state.optimizerConfig.initialPoints
break
case 'deleteCategorialVariable':
state.changedSinceLastEvaluation = true
let indexOfCatDelete = state.categoricalVariables.indexOf(
action.payload
)
state.categoricalVariables.splice(indexOfCatDelete, 1)
state.optimizerConfig.initialPoints = calculateInitialPoints(state)
state.extras.experimentSuggestionCount =
state.optimizerConfig.initialPoints
break
case 'updateConfiguration':
state.changedSinceLastEvaluation = true
Expand Down
Loading

0 comments on commit 2182976

Please sign in to comment.