Skip to main content

swarm-intelligence

Swarm intelligence algorithms

소스 정보

저장소
ffsshhttiikk/opencode-agents-skills
최근 소스 활동
2026년 2월 28일 22:55
감지된 SKILL.md 언어
영어
스타
3
포크
2

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
swarm-intelligence
description
Swarm intelligence algorithms
license
MIT
compatibility
opencode
metadata
{"audience":"machine-learning-engineers","category":"artificial-intelligence"}
## What I do - Implement swarm optimization - Design particle swarm systems - Build ant colony algorithms - Create collective intelligence - Optimize using swarm behavior ## When to use me Use me when: - Distributed optimization - Routing problems - Collective robotics - Emergent behavior systems ## Key Concepts ### Particle Swarm Optimization (PSO) ```python import numpy as np class ParticleSwarm: def __init__(self, n_particles, n_dims, func): self.n_particles = n_particles self.func = func # Initialize particles self.positions = np.random.uniform(-10, 10, (n_particles, n_dims)) self.velocities = np.random.uniform(-1, 1, (n_particles, n_dims)) # Personal best self.personal_best_pos = self.positions.copy() self.personal_best_val = np.array([self.func(p) for p in self.positions]) # Global best best_idx = np.argmin(self.personal_best_val) self.global_best_pos = self.personal_best_pos[best_idx].copy() self.global_best_val = self.personal_best_val[best_idx] def update(self, w=0.7, c1=1.5, c2=1.5): r1, r2 = np.random.random((2, self.n_particles, 1)) # Update velocities cognitive = c1 * r1 * (self.personal_best_pos - self.positions) social = c2 * r2 * (self.global_best_pos - self.positions) self.velocities = w * self.velocities + cognitive + social # Update positions self.positions += self.velocities # Evaluate and update personal bests current_vals = np.array([self.func(p) for p in self.positions]) improved = current_vals < self.personal_best_val self.personal_best_pos[improved] = self.positions[improved] self.personal_best_val[improved] = current_vals[improved] # Update global best best_idx = np.argmin(self.personal_best_val) if self.personal_best_val[best_idx] < self.global_best_val: self.global_best_pos = self.personal_best_pos[best_idx].copy() self.global_best_val = self.personal_best_val[best_idx] def optimize(self, n_iterations): for _ in range(n_iterations): self.update() return self.global_best_pos, self.global_best_val ``` ### Ant Colony Optimization - Pheromone-based path finding - Probabilistic solution construction - Global and local pheromone updates - Used for: TSP, VRP, routing ### Swarm Applications - **ACO**: Routing, scheduling - **PSO**: Function optimization - **Artificial Bee Colony**: Optimization - **Firefly Algorithm**: Clustering
GitHub에서 보기