agentjs-core
Version:
A comprehensive agent-based modeling framework with built-in p5.js visualization
95 lines • 2.61 kB
TypeScript
import { MLBehaviorModel, MLAgentState, AgentAction } from '../interfaces';
/**
* Generic economic agent ML model for trading and resource decisions
* Works for market trading, resource allocation, or economic simulations
*/
export declare class EconomicMLModel implements MLBehaviorModel {
private model?;
private inputFeatures;
private outputActions;
private isLoaded;
private riskTolerance;
private greedFactor;
private socialInfluence;
constructor();
predict(state: MLAgentState): Promise<AgentAction>;
/**
* ML-based prediction
*/
private predictWithML;
/**
* Rule-based economic prediction (fallback and training data generation)
*/
private predictWithRules;
/**
* Make economic decision based on current conditions
*/
private makeEconomicDecision;
/**
* Create agent action from economic decision
*/
private createEconomicAction;
/**
* Get current market price from environment or agent properties
*/
private getMarketPrice;
/**
* Get price history for trend analysis
*/
private getPriceHistory;
/**
* Calculate price trend (positive = rising, negative = falling)
*/
private calculatePriceTrend;
/**
* Calculate price volatility
*/
private calculateVolatility;
/**
* Analyze neighbor economic behavior
*/
private analyzeNeighborBehavior;
/**
* Encode agent state for ML model input
*/
private encodeEconomicState;
/**
* Calculate relative wealth rank among neighbors
*/
private calculateWealthRank;
/**
* Decode ML output to economic action
*/
private decodeEconomicAction;
load(modelPath: string): Promise<void>;
getRequiredInputs(): string[];
getOutputActions(): string[];
dispose(): void;
/**
* Configure economic behavior parameters
*/
configure(options: {
riskTolerance?: number;
greedFactor?: number;
socialInfluence?: number;
}): void;
/**
* Generate training data for economic model
*/
generateTrainingData(scenarios: Array<{
agentCount: number;
marketConditions: 'bull' | 'bear' | 'volatile' | 'stable';
initialWealth: {
min: number;
max: number;
};
}>, stepsPerScenario?: number): Array<{
input: number[];
output: number[];
}>;
/**
* Generate mock economic state for training
*/
private generateMockEconomicState;
}
//# sourceMappingURL=EconomicMLModel.d.ts.map