const StrangeLoop = require('strange-loops');
async function createMarketPredictionSwarm() {
console.log('📈 Creating Market Prediction Swarm...\n');
const predictor = await StrangeLoop.createTemporalPredictor({
horizonNs: 50_000_000, historySize: 1000 });
const swarm = await StrangeLoop.createSwarm({
agentCount: 5000,
topology: 'hierarchical', tickDurationNs: 10000 });
const agents = {
patternDetectors: {
count: 2000,
behavior: async (data) => {
const patterns = [
'ascending_triangle',
'head_shoulders',
'double_bottom',
'breakout',
'reversal'
];
return detectPattern(data, patterns);
}
},
sentimentAnalyzers: {
count: 1500,
behavior: async (news, social) => {
return analyzeSentiment(news, social);
}
},
riskAssessors: {
count: 1000,
behavior: async (position, market) => {
return calculateRisk(position, market);
}
},
aggregators: {
count: 500,
behavior: async (signals) => {
return aggregateDecisions(signals);
}
}
};
const marketData = generateMarketData();
for (let t = 0; t < 100; t++) {
await predictor.updateHistory([marketData[t]]);
const prediction = await predictor.predict([marketData[t]]);
const swarmResult = await swarm.run(100);
console.log(`Time ${t}: Price=${marketData[t].toFixed(2)}, Predicted=${prediction[0].toFixed(2)}`);
}
return { predictor, swarm, agents };
}
async function createSearchSwarm() {
console.log('🔍 Creating Distributed Search Swarm...\n');
const swarm = await StrangeLoop.createSwarm({
agentCount: 10000,
topology: 'mesh', tickDurationNs: 5000 });
const quantum = await StrangeLoop.createQuantumContainer(4); await quantum.createSuperposition();
const searchSpace = {
dimensions: 100,
target: generateRandomTarget(100),
exploreRegion: async (agentId, quantumState) => {
const region = mapQuantumToRegion(quantumState, agentId);
return evaluateFitness(region, searchSpace.target);
}
};
let bestSolution = null;
let bestFitness = -Infinity;
for (let iteration = 0; iteration < 50; iteration++) {
const quantumState = await quantum.measure();
const result = await swarm.run(1000);
const agentFitness = Math.random() * 100 - 50 + iteration;
if (agentFitness > bestFitness) {
bestFitness = agentFitness;
bestSolution = { iteration, fitness: agentFitness, quantumState };
console.log(`🎯 New best solution found! Fitness: ${bestFitness.toFixed(2)}`);
}
}
return { swarm, quantum, bestSolution };
}
async function createOptimizationSwarm() {
console.log('⚡ Creating Optimization Swarm...\n');
const swarm = await StrangeLoop.createSwarm({
agentCount: 3000,
topology: 'star', tickDurationNs: 20000 });
const consciousness = await StrangeLoop.createTemporalConsciousness({
maxIterations: 1000,
integrationSteps: 100,
enableQuantum: true
});
const problem = {
dimensions: 50,
objective: (x) => {
const A = 10;
return A * x.length + x.reduce((sum, xi) =>
sum + xi * xi - A * Math.cos(2 * Math.PI * xi), 0
);
}
};
const strategies = {
explorers: {
count: 1000,
behavior: 'random_walk',
temperature: 1.0
},
exploiters: {
count: 1000,
behavior: 'gradient_descent',
learningRate: 0.01
},
innovators: {
count: 1000,
behavior: 'quantum_leap',
quantumProbability: 0.1
}
};
for (let gen = 0; gen < 100; gen++) {
const consciousnessState = await consciousness.evolveStep();
if (consciousnessState.consciousnessIndex > 0.8) {
strategies.innovators.quantumProbability *= 1.5;
console.log(`🧠 High consciousness detected! Increasing innovation.`);
}
const result = await swarm.run(500);
const currentBest = 1000 * Math.exp(-gen / 20) + Math.random() * 10;
console.log(`Generation ${gen}: Best fitness = ${currentBest.toFixed(2)}`);
}
return { swarm, consciousness, strategies };
}
async function createMonitoringSwarm() {
console.log('🚨 Creating Monitoring & Alerting Swarm...\n');
const swarm = await StrangeLoop.createSwarm({
agentCount: 1000,
topology: 'ring', tickDurationNs: 1000 });
const predictor = await StrangeLoop.createTemporalPredictor({
horizonNs: 100_000_000, historySize: 10000 });
const monitors = {
systemHealth: {
agents: 250,
metrics: ['cpu', 'memory', 'disk', 'network'],
threshold: 0.8,
action: 'alert'
},
securityThreats: {
agents: 250,
patterns: ['ddos', 'intrusion', 'malware', 'anomaly'],
sensitivity: 0.95,
action: 'isolate'
},
performanceBottlenecks: {
agents: 250,
targets: ['latency', 'throughput', 'errors', 'timeouts'],
baseline: 'adaptive',
action: 'scale'
},
dataIntegrity: {
agents: 250,
checks: ['consistency', 'corruption', 'drift', 'staleness'],
frequency: 'continuous',
action: 'repair'
}
};
for (let cycle = 0; cycle < 1000; cycle++) {
const metrics = {
cpu: 0.5 + Math.random() * 0.5,
memory: 0.6 + Math.random() * 0.4,
latency: 10 + Math.random() * 90,
errors: Math.floor(Math.random() * 10)
};
const prediction = await predictor.predict([
metrics.cpu,
metrics.memory,
metrics.latency / 100,
metrics.errors / 10
]);
const alerts = await swarm.run(10);
if (prediction[0] > 0.9 || metrics.errors > 5) {
console.log(`⚠️ Alert at cycle ${cycle}: CPU prediction=${(prediction[0]*100).toFixed(1)}%, Errors=${metrics.errors}`);
}
await predictor.updateHistory([
metrics.cpu,
metrics.memory,
metrics.latency / 100,
metrics.errors / 10
]);
}
return { swarm, predictor, monitors };
}
async function createCollaborativeSwarm() {
console.log('🤝 Creating Collaborative Problem-Solving Swarm...\n');
const swarms = {
analysis: await StrangeLoop.createSwarm({
agentCount: 2000,
topology: 'hierarchical',
tickDurationNs: 15000
}),
synthesis: await StrangeLoop.createSwarm({
agentCount: 2000,
topology: 'mesh',
tickDurationNs: 15000
}),
validation: await StrangeLoop.createSwarm({
agentCount: 1000,
topology: 'star',
tickDurationNs: 10000
})
};
const quantum1 = await StrangeLoop.createQuantumContainer(3);
const quantum2 = await StrangeLoop.createQuantumContainer(3);
await quantum1.createSuperposition();
await quantum2.createSuperposition();
const task = {
objective: 'minimize_cost',
constraints: ['budget', 'time', 'resources', 'quality'],
phases: {
1: 'decompose_problem',
2: 'parallel_exploration',
3: 'solution_synthesis',
4: 'constraint_validation',
5: 'consensus_building'
}
};
for (const [phase, description] of Object.entries(task.phases)) {
console.log(`\nPhase ${phase}: ${description}`);
const q1State = await quantum1.measure();
const q2State = await quantum2.measure();
if (phase <= 2) {
const result = await swarms.analysis.run(2000);
console.log(` Analysis swarm: ${result.totalTicks} operations`);
} else if (phase == 3) {
const result = await swarms.synthesis.run(2000);
console.log(` Synthesis swarm: ${result.totalTicks} operations`);
} else {
const result = await swarms.validation.run(1000);
console.log(` Validation swarm: ${result.totalTicks} operations`);
}
await quantum1.createSuperposition();
await quantum2.createSuperposition();
}
return { swarms, quantum: [quantum1, quantum2], task };
}
function generateMarketData() {
const data = [];
let price = 100;
for (let i = 0; i < 1000; i++) {
price += (Math.random() - 0.5) * 2;
price = Math.max(price, 10);
data.push(price);
}
return data;
}
function generateRandomTarget(dimensions) {
return Array(dimensions).fill(0).map(() => Math.random() * 10 - 5);
}
function mapQuantumToRegion(quantumState, agentId) {
return {
center: quantumState * agentId % 100,
radius: 10
};
}
function detectPattern(data, patterns) {
return patterns[Math.floor(Math.random() * patterns.length)];
}
function analyzeSentiment(news, social) {
return Math.random() * 2 - 1; }
function calculateRisk(position, market) {
return Math.random();
}
function aggregateDecisions(signals) {
return signals.reduce((a, b) => a + b, 0) / signals.length;
}
function evaluateFitness(region, target) {
return -Math.abs(region.center - target[0]);
}
async function main() {
console.log('╔══════════════════════════════════════════════════════════╗');
console.log('║ STRANGE LOOPS: PURPOSEFUL AGENT DEMONSTRATIONS ║');
console.log('╚══════════════════════════════════════════════════════════╝\n');
try {
await StrangeLoop.init();
const demos = [
{ name: 'Market Prediction', fn: createMarketPredictionSwarm },
{ name: 'Distributed Search', fn: createSearchSwarm },
{ name: 'Optimization', fn: createOptimizationSwarm },
{ name: 'Monitoring & Alerting', fn: createMonitoringSwarm },
{ name: 'Collaborative Problem-Solving', fn: createCollaborativeSwarm }
];
for (const demo of demos) {
console.log('\n' + '='.repeat(60));
console.log(`Running: ${demo.name}`);
console.log('='.repeat(60) + '\n');
await demo.fn();
console.log(`\n✅ ${demo.name} demonstration completed!\n`);
}
console.log('\n╔══════════════════════════════════════════════════════════╗');
console.log('║ ALL DEMONSTRATIONS COMPLETED! ║');
console.log('╚══════════════════════════════════════════════════════════╝\n');
} catch (error) {
console.error('❌ Error:', error.message);
process.exit(1);
}
}
if (require.main === module) {
main().catch(console.error);
}
module.exports = {
createMarketPredictionSwarm,
createSearchSwarm,
createOptimizationSwarm,
createMonitoringSwarm,
createCollaborativeSwarm
};