Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Implementazione dell'Ottimizzazione per Sciame di Particelle | Algoritmi Basati su Sciami
Algoritmi Bio-Ispirati
Sezione 3. Capitolo 4
single

single

Sfida: Implementazione dell'Ottimizzazione per Sciame di Particelle

Scorri per mostrare il menu

Compito

Scorri per iniziare a programmare

Ti viene richiesto di implementare la logica principale di aggiornamento per un algoritmo Particle Swarm Optimization (PSO). L'obiettivo è trovare il minimo della funzione f(x) = x² + 5 * sin(x) nell'intervallo [-10, 10].

Tutti i parametri (come inerzia w, cognitivo c1 e sociale c2) e le liste iniziali (positions, velocities, pbest_positions, pbest_values, gbest_position, gbest_value) sono già predisposti.

Il compito consiste nel completare il processo iterativo principale:

  1. All'interno del ciclo interno for (per ogni particella i), aggiornare innanzitutto la velocità della particella. Utilizzare la formula completa di aggiornamento della velocità PSO: w * velocities[i] + c1 * r1 * (pbest_positions[i] - positions[i]) + c2 * r2 * (gbest_position - positions[i]).
  2. Aggiornare la posizione della particella sommando la nuova velocities[i] a positions[i].
  3. Dopo aver calcolato il nuovo value in positions[i], verificare se questo nuovo value è migliore del best personale della particella (pbest_values[i]). In tal caso, aggiornare sia pbest_positions[i] che pbest_values[i].
  4. Dopo il ciclo interno (che aggiorna tutte le particelle), verificare se il nuovo miglior valore personale (che si trova e si memorizza in min_value) è migliore dell'attuale best globale (gbest_value). In tal caso, aggiornare sia gbest_value che gbest_position.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 4
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt