Home » ApiCultura » Internet e l’algoritmo delle api

Internet e l’algoritmo delle api

L'algoritmo delle api descrive fedelmente quello che fanno le nostre api esploratrici e bottinatrici

19 gennaio 2015 - 10:36 CET di: Categoria: ApiCultura A+ / A-

Internet e l’algoritmo delle api

Introduzione

Quando ho iniziato ad appassionarmi alle api ed al loro splendido mondo, dopo tanti anni passati ad occuparmi di sistemi ed architetture di rete prima ed Internet poi, non immaginavo che questo mio interesse fosse la naturale conseguenza del mio lavoro di sistemista. Io lo vedevo come un modo per staccarmi un po’ dalla tecnologia, senza immaginare che la tecnologia che avevo conosciuto era stata in gran parte mutuata proprio dalle api, dai loro modelli di comportamento e dalla loro organizzatissima vita sociale.

Mi e’ capitato spesso di parlare con apicoltori ultrasettantenni che, nonostante conoscessero alla perfezione le abitudini ed i comportamenti delle loro api, affermassero di non saperne nulla delle mie “diavolerie” tecnologiche, di non conoscere il loro funzionamento e di non essere nemmeno in grado di capirci qualcosa, per motivi di eta’ anagrafica.

Invece sono io ad aver avuto maggiori difficolta’ a capire ed assimilare tanti concetti, principi matematici e modelli logici, senza avere prima conosciuto le api.

In pratica, i vecchi apicoltori hanno acquisito, seppur inconsapevolmente, molti degli aspetti teorici sul funzionamento di internet a cui io sono riuscito ad arrivare soltanto dopo anni di conoscenze ed applicazioni pratiche.

Sono convinto che l’essere umano abbia l’intelligenza di riuscire a capire la natura, la capacita’ di imitarla (per sfruttarla a proprio vantaggio) e la stupidita’ di non rispettarla, ma di ripagarla con l’ingratitudine.

Non voglio (e non potrei nemmeno) includere gli apicoltori in questo discorso, perche’ loro, a differenza di moltissimi esseri “umani”, rispettano la natura e ne ricavano, purtroppo, molto meno di quello che le donano, anche a vantaggio dei tanti che non la rispettano o, peggio, la distruggono.

 Ritornando all’argomento, e’ dalla notte dei tempi che l’uomo ricava leggi e principi matematici dall’attenta osservazione della natura. Il primo esempio che mi viene in mente e’ la successione di Fibonacci, che il matematico pisano del tredicesimo secolo elaboro’ per prevedere la proliferazione di una coppia di conigli, ma che era gia’ presente in natura sotto altre forme, soprattutto in botanica.

Esempio di sequenza di Fibonacci in botanica

Foto di una pianta le cui foglie si sono sviluppate a spirale attorno al fusto secondo la successione di Fibonacci

 

L’algoritmo delle api – The Bees algorithm

L’algoritmo delle api e’ stato teorizzato nel 2005 dal prof. Duc Truong Pham ed e’ stato poi descritto nella sua formula standard e pubblicato dallo stesso prof. Pham e dal suo allievo Dr. Marco Castellani nel 2009 in questo articolo (in inglese) The Bees Algorithm – Modelling Foraging Behaviour to Solve Continuous Optimisation Problems. Proc. ImechE, Part C, 223(12), 2919-2938.

L’algoritmo utilizza una popolazione di agenti (in natura, una famiglia di api) per esplorare tutto lo spazio delle possibili soluzioni. Una parte della popolazione (le api esploratrici) cerca a caso in giro per le regioni ad alta idoneità di risultati (ricerca globale). Gli agenti di maggior successo (le esploratrici che trovano zone con abbondante disponibilita’ di polline, nettare o secrezioni zuccherine) reclutano un numero variabile di agenti inattivi (le nostre api bottinatrici) per cercare in prossimità delle soluzioni più idonee (ricerca locale). I cicli di ricerca globale e locale vengono ripetuti finché non viene scoperta una soluzione accettabile (una zona in piena fioritura), o sono trascorsi un certo numero di iterazioni (in natura il limite delle interazioni e’ il tramonto del sole).

Lo pseudocodice originale che definisce l’Algoritmo delle Api

   1 for i=1,…,ns                               
       i  scout[i]=Initialise_scout()
       ii flower_patch[i]=Initialise_flower_patch(scout[i])
   2 do until stopping_condition=TRUE           
       i   Recruitment()        
       ii  for i =1,…,nb
             1 flower_patch[i]=Local_search(flower_patch[i])
             2 flower_patch[i]=Site_abandonment(flower_patch[i])
             3 flower_patch[i]=Neighbourhood_shrinking(flower_patch[i])         
       iii for i = nb,…,ns
             1 flower_patch[i]=Global_search(flower_patch[i])}

L’algoritmo delle api richiede che vengano definiti alcuni parametri:

  • numero delle api esploratrici
  • dimensione delle zone di ricerca, che includono i siti e le loro immediate vicinanze
  • numero dei siti selezionati tra tutti i siti esplorati
  • numero dei siti migliori, scelti tra quelli selezionati
  • numero delle api bottinatrici reclutate per la raccolta presso i siti migliori tra quelli selezionati
  • numero delle api bottinatrici reclutate per la raccolta dai restanti siti migliori selezionati
  • criteri per terminare la ricerca

Certamente la parte di pseudocodice appare incomprensibile a chi si occupa di apicoltura, ma credo che gia la parte in cui vengono definiti i parametri da utilizzare potra’ sembrare piu’ chiara.

L‘algoritmo delle api, in pratica, descrive fedelmente quello che fanno le nostre api esploratrici e bottinatrici quando la temperatura ambiente, le condizioni metereologiche e la luce del giorno glielo permettono.

Altri riferimenti tecnologici ispirati al comportamento delle api

Ne ho trovati tantissimi cercando su Internet.

Il piu’ importante in assoluto e’ contenuto nei lavori e negli scritti di Leonard Kleinrock, universalmente riconosciuto come il “Padre di Internet”, che si e’ ispirato proprio alle api nel teorizzare il modello matematico che lo porto’ poi a sviluppare il packet switching (commutazione a pacchetti) ed a fare il 29 ottobre 1969, quella che divenne la prima trasmissione Internet (allora Arpanet) tra due computer.

Da quel giorno in poi Internet si e’ sviluppata fino al punto che oggi conosciamo ed utilizziamo giornalmente, anche se in pochi sanno che dovremmo essere grati alle api anche per questo.

Leonard Kleinrock dobbiamo anche la teorizzazione, sempre mutuata dalle api, dei sistemi di calcolo distribuiti GRID, dei sistemi di storage distribuito CLOUD ed infine, giusto per restare in argomento, anche i computer nomadici.

Uhm, il nomadismo dei computer, cioe’ la loro capacita’ di essere spostati da un posto ad un altro e riadattarsi alle mutate condizioni ambientali per riprendere a funzionare, come se non fossero stati spostati. Se parlo di nomadismo con qualcuno, nella migliore delle ipotesi capisce che mi riferisco a popoli nomadi ma, se ne parlo con un apicoltore, lui sa esattamente a cosa mi riferisco.

Internet e l’algoritmo delle api Reviewed by on . Internet e l'algoritmo delle api Introduzione Quando ho iniziato ad appassionarmi alle api ed al loro splendido mondo, dopo tanti anni passati ad occuparmi di s Internet e l'algoritmo delle api Introduzione Quando ho iniziato ad appassionarmi alle api ed al loro splendido mondo, dopo tanti anni passati ad occuparmi di s Rating: 0
Api-orsomiele