SOC 직업 분류 기준
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/ffsshhttiikk/opencode-agents-skills --skill swarm-intelligence명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | swarm-intelligence |
| description | Swarm intelligence algorithms |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"machine-learning-engineers","category":"artificial-intelligence"} |
Use me when:
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