ORCHESTRATION · 19 ORGANISATIONS DYNAMIQUES

Les algorithmes guident
l’adaptation du collectif.

Une organisation dynamique guide un pas de travail collectif : comparer des preuves, explorer, trouver une route, répartir des ressources ou préparer une reprise. Explorez les 19 algorithmes, modifiez leurs entrées et inspectez leurs résultats calculés.

19 pas de guidage exécutables4 algorithmes d’essaim8 topologies distinctes
STRUCTURE · TOPOLOGIE

Comment le collectif est structuré.

Trinity, A-Team, Biocénose, Holobionte, Syncytium, Rhizome, Métapopulation et Biome définissent des structures de coordination et des contrats de services.

Explorer les huit topologies →
RÈGLE DE DÉCISION · ORGANISATION

Ce que retourne un algorithme.

L’organisation consomme un état et des options pour retourner un guidage : votes, vecteurs, rangs, routes, allocations ou faits. Ce laboratoire exécute ces calculs déterministes dans votre navigateur, sans appel de modèle.

LABORATOIRE D’ORGANISATIONS EXÉCUTABLESCALCUL LOCAL · 19 / 19

Comité d’experts spécialisés

Un hub rassemble des spécialistes pour recevoir leurs contributions indépendantes.

hub = orchestratorId ; spokes = agents.map(id)

Construit le hub et la liste des spécialistes. Ne produit ni rapports ni synthèse de leur contenu.

01 / ENTRÉES
Modifier toutes les données d’entrée (JSON)

Maximum 64 membres par liste ; données JSON uniquement. Les options et l’état reprennent les noms de champs de la source.

02 / SORTIE CALCULÉEPrêt à calculer

Modifiez les entrées, puis exécutez le pas pour voir la sortie calculée.

LE REGISTRE COMPLET

Dix-neuf règles pour guider un pas.

19 / 19 organisations

01 / 19RUNTIME PARTIEL

Comité d’experts spécialisés

Un hub rassemble des spécialistes pour recevoir leurs contributions indépendantes.

hub = orchestratorId ; spokes = agents.map(id)
ENTRÉE
orchestratorId, agents
SORTIE
hub, spokes
CAS D’USAGE
Répartir une revue entre architecture, sécurité et performance.

Construit le hub et la liste des spécialistes. Ne produit ni rapports ni synthèse de leur contenu.

specialist_expert_committee
02 / 19RUNTIME PARTIEL
AVEUGLE

Revue adversariale aveugle

Les critiques sont appariés dans l’ordre des membres, avec une revue marquée anonyme.

pairs = [agents[0:2], agents[2:4], …]
ENTRÉE
agents
SORTIE
pairs, anonymous
CAS D’USAGE
Comparer les critiques sans afficher leur attribution dans le processus de revue.

Produit des paires de revue anonymes ; le dernier membre reste seul si l’effectif est impair. Aucun service d’anonymisation n’est exécuté.

blind_adversarial_review
03 / 19RUNTIME EXPÉRIMENTAL

Coévolution Red / Blue

Les rôles adversariaux et défensifs sont regroupés pour préparer une confrontation contrôlée.

red = match(red|attack|adversar) ; blue = match(blue|defen)
ENTRÉE
agents.role
SORTIE
red, blue
CAS D’USAGE
Préparer les groupes d’un exercice de sécurité isolé.

Partitionne les membres par rôle. Ce pas n’exécute ni attaques, ni défenses, ni boucle évolutive.

red_blue_coevolution
04 / 19RUNTIME PARTIEL

Consensus pondéré par Brier

La confiance est comparée à un résultat externe résolu pour calculer les poids du consensus.

Bᵢ = (pᵢ − oᵢ)² ; wᵢ = 1 − Bᵢ ; S = Σ(wᵢoᵢ) / Σwᵢ
ENTRÉE
dossiers.events.evidenceReport
SORTIE
weightedSupport, meanBrier, resolvedCount
CAS D’USAGE
Examiner la calibration des prévisions résolues avant une revue collective.

Utilise le dernier rapport et exclut les résultats non résolus. Le support historique pondéré n’est pas une prédiction de vérité.

brier_weighted_consensus
05 / 19RUNTIME PARTIEL

Quorum avec abstention

Le poids des votes favorables est comparé au poids actif, en comptant séparément les abstentions.

S = Σw(support ∧ ¬abstain) / Σw(¬abstain) ; reached = S ≥ q
ENTRÉE
votes, quorumRatio
SORTIE
reached, support, abstentions
CAS D’USAGE
Retenir une décision lorsque les preuves disponibles ne soutiennent pas le quorum.

Calcule un seuil de support parmi les votes actifs. L’abstention n’ajoute aucun poids actif ; sans poids actif, le support vaut zéro.

quorum_with_abstention
06 / 19RUNTIME PARTIEL

Stigmergie

Les agents lisent des traces de l’environnement pour identifier le chemin le plus intense.

dominant = argmax(trail.intensity)
ENTRÉE
trails
SORTIE
dominant
CAS D’USAGE
Orienter le travail vers une route dont la trace environnementale est plus forte.

Sélectionne la trace fournie la plus intense ; une égalité conserve l’ordre d’entrée. Dépôts et évaporation sont des opérations runtime distinctes.

stigmergy
07 / 19RUNTIME EXPÉRIMENTAL

Flocking / Boids

Cohésion, alignement et séparation combinent direction de groupe et distance entre agents.

vᵢ = c(centroid − xᵢ) + sΣnear((xᵢ − xⱼ)/distance) ; h′ᵢ = hᵢ + a(h̄ − hᵢ)
ENTRÉE
agents.{x,y,heading}, cohesion, alignment, separation, separationRadius
SORTIE
agents.{heading,vector}
CAS D’USAGE
Observer comment la cohésion du groupe compense la séparation à courte distance.

Calcule les vecteurs et caps. Cohésion et cap utilisent tout le groupe fourni ; seule la séparation est limitée par un rayon.

flocking_boids
08 / 19RUNTIME EXPÉRIMENTAL

Recherche en banc de poissons

Chaque membre reçoit un déplacement vers un barycentre pondéré par sa fitness.

b = Σ(fᵢxᵢ) / Σfᵢ ; vᵢ = step × (b − xᵢ)
ENTRÉE
agents.{x,y,fitness}, step
SORTIE
barycenter, individuals.volitive
CAS D’USAGE
Voir comment les membres mieux notés influencent le mouvement collectif.

Calcule un barycentre et un pas volitif. N’implémente pas une boucle complète de recherche ou d’alimentation ; des poids tous nuls donnent un barycentre à l’origine.

fish_school_search
09 / 19RUNTIME EXPÉRIMENTAL

Réseau adaptatif Physarum

Un flux positif renforce la conductivité d’une arête ; l’absence de flux la fait décroître.

C′ = C × (flow > 0 ? reinforcement : decay) ; keep iff C′ ≥ pruneBelow
ENTRÉE
edges.{flow,conductivity}, reinforcement, decay, pruneBelow
SORTIE
edges.{id,conductivity}
CAS D’USAGE
Comparer renforcement, décroissance et élagage des routes candidates.

Exécute la mise à jour de conductivité et l’élagage sur données. L’adaptateur de matrice partagée relève d’un chemin runtime distinct.

slime_mould_network
10 / 19RUNTIME EXPÉRIMENTAL

Optimiseur Grey Wolf

La fitness désigne trois leaders ; les autres membres reçoivent un déplacement vers alpha.

leaders = top3(fitness) ; x′omega = xomega + step(xalpha − xomega)
ENTRÉE
pack.{x,y,fitness}, step
SORTIE
pack.{role,position}
CAS D’USAGE
Examiner le classement et l’attraction bornée des suiveurs vers alpha.

Utilise la règle déterministe d’attraction vers alpha de GenOS. Les leaders gardent leurs positions ; ce n’est pas l’algorithme stochastique complet de la littérature.

grey_wolf_optimizer
11 / 19RUNTIME PARTIEL

Routage mycélien

Un besoin de capacité est dirigé vers le premier membre qui déclare cette capacité.

route = first(agent where need ∈ capabilities) or null
ENTRÉE
agents.capabilities, state.need or options.need
SORTIE
need, route
CAS D’USAGE
Diriger un besoin de revue vers un membre explicitement capable.

Retourne un membre compatible ou null. Ne parcourt pas de graphe et ne transfère pas de connaissance.

mycelial_routing
12 / 19RUNTIME PARTIEL

Polyéthisme dynamique

Les membres sont classés par fitness pour produire un gradient de rôles.

roleGradient = stableSortDescending(fitness).map(rank)
ENTRÉE
agents.fitness
SORTIE
roleGradient.{id,rank}
CAS D’USAGE
Préparer un classement par fitness pour une affectation ultérieure.

Produit un rang ordonné, sans nouvelle affectation de rôle ni mutation automatique d’un worker.

dynamic_polyethism
13 / 19RUNTIME PARTIEL

Regroupement énergétique

Le budget est réparti entre populations proportionnellement à leurs poids.

allocationᵢ = round(budget × max(0,wᵢ) / Σmax(0,w))
ENTRÉE
populations.weight, budget
SORTIE
allocations.{id,budget}
CAS D’USAGE
Explorer un budget partagé entre revue, recherche et mémoire.

Retourne des allocations arrondies. Un poids total nul alloue zéro ; l’arrondi peut laisser un reste ou un excédent de quelques unités.

energy_huddle
14 / 19RUNTIME PARTIEL

Silence réseau

Le pas marque le réseau silencieux et compte les membres concernés par la mise en tampon.

silent = true ; buffered = agents.length
ENTRÉE
agents
SORTIE
silent, buffered
CAS D’USAGE
Préparer une phase de communication silencieuse avec un décompte inspectable.

Retourne une consigne de silence et un nombre de membres. Ne stocke ni ne vide les messages ; la livraison relève d’un service distinct.

network_silence
15 / 19RUNTIME PARTIEL

Arène de stratégies

Les stratégies candidates sont listées pour un tournoi isolé soumis à une barrière de preuve.

competitors = agents.map(id) ; selection = pareto_then_promotion ; evidenceGate = true
ENTRÉE
agents
SORTIE
competitors, mode, selectionRule, evidenceGate
CAS D’USAGE
Préparer une comparaison indépendante de stratégies de résolution sous preuve.

Déclare une règle Pareto puis promotion et une barrière de preuve. Le pas ne calcule pas les scores, ne choisit pas de gagnant et n’autorise pas seul la promotion.

strategy_arena
16 / 19RUNTIME PARTIEL

Fusion hiérarchique

Le premier membre devient racine ; les autres deviennent ses enfants.

root = agents[0]?.id ; children = agents.slice(1).map(id)
ENTRÉE
agents in input order
SORTIE
root, children
CAS D’USAGE
Organiser les contributions sous un responsable de synthèse.

Construit une hiérarchie à un niveau. Ne fusionne pas les artifacts et ne vérifie pas les contributions enfants.

hierarchical_merge
17 / 19RUNTIME PARTIEL

Arène compétitive

Les candidats sont classés par score de preuve déclaré avant une comparaison isolée.

sort(evidenceScore ?? fitness, desc) ; selection = evidence_weighted_ranking ; evidenceGate = true
ENTRÉE
agents.evidenceScore|fitness
SORTIE
competitors, mode, selectionRule, evidenceGate
CAS D’USAGE
Ordonner les candidats pour une comparaison ultérieure pondérée par les preuves.

Classe les scores fournis et déclare une comparaison sous barrière. Le pas ne vérifie pas les scores, n’évalue pas les artefacts et ne promeut pas de gagnant.

competitive_arena
18 / 19RUNTIME PARTIEL

Récupération isolée

Les membres à isoler sont listés avec les rôles perdus fournis au plan de reprise.

isolated = agents.map(id) ; plan = lostRoles
ENTRÉE
agents, lostRoles
SORTIE
isolated, plan
CAS D’USAGE
Examiner les rôles qui nécessitent une reprise contrôlée.

Retourne une liste d’isolation et un plan de rôles. Ne termine, ne redémarre et ne restaure aucun worker.

isolated_recovery
19 / 19RUNTIME PARTIEL

Compilation de mémoire

Les faits fournis, avec leurs références, sont transmis à l’étape de compilation.

facts_out = facts_in
ENTRÉE
facts
SORTIE
facts
CAS D’USAGE
Examiner les faits et leur provenance proposés pour une transmission de mémoire.

Transmet les faits fournis. Déduplication, résumé, persistance et vérification des sources sont des opérations distinctes.

memory_compilation