SlideShare a Scribd company logo
A New Clustering Boids Algorithm
Giovanni Apruzzese
Lorenzo Dodi
Scopo
 Scopo del nostro Caso-Studio era
ottenere un algoritmo per effettuare il
Clustering di un gruppo di dati in un
modo autonomo e dinamico.
Boids Algorithm
 Algoritmo basato sui concetti delle
Swarm Intelligence, che simula il
comportamento degli stormi di uccelli.
 Si basa sull’applicazione di tre regole
caratteristiche:
1. Separazione: evitare la collisione con altri
elementi;
2. Allineamento: allineare la propria
direzione a quella degli elementi vicini;
3. Coesione: muoversi verso il centro del
gruppo di uccelli in cui ci si trovi.
cBoids Algorithm
 Algoritmo prodotto dal nostro Caso-
Studio, basato sulle regole del Boids
Algorithm, orientato al Clustering.
 Alle tre regole di Separazione,
Allineamento e Coesione, si
affiancano due nuove regole
probabilistiche:
1. Fusione;
2. Scissione.
cBoids Algorithm
 Per le due regole di Fusione e
Scissione viene impiegata l’Affinità:
più due elementi saranno simili,
maggiore sarà la loro Affinità.
 Intuitivamente:
1. P(Fusione) ~ Affinità
2. P(Scissione) ~ 1/Affinità
cBoids Algorithm
 Ogni agente dell’ambiente viene visto
come un “centroide”, ossia il prototipo
di un cluster.
 Supponendo un database di 100
oggetti, in fase di setup, l’algoritmo
avrà 100 centroidi.
 Una volta avviato l’algoritmo, le regole
di Fusione e Scissione si occuperanno
di unire o scindere i vari centroidi.
cBoids Algorithm
 La regola di Fusione viene applicata
quando due centroidi sono
sufficientemente vicini tra di loro.
 La regola di Scissione viene applicata
ad ogni iterazione dell’algoritmo,
tenendo in considerazione due
grandezze:
1. Current Group Affinity (cgaf);
2. Greatest Group Affinity (ggaf).
cBoids Algorithm
 L’algoritmo termina di essere eseguito
al raggiungimento di un determinato
numero di iterazioni in cui non si sono
verificate modifiche dei Centroidi.
cBoids Algorithm
 Overview del cBoids Algorithm
Risultati Caso-Studio
 Utilizzando un database (Animals
Dataset) contenente 16 elementi con
13 attributi binari ciascuno, il cBoids
Algorithm ha mostrato una precisione
media di Clustering pari al 94%
Il nostro Progetto
 Scopo del nostro progetto era ricreare
una simulazione di Netlogo che
riproponga l’algoritmo cBoids.
 Per fare ciò, ci siamo basati sul
modello, presente di default nella
libreria di Netlogo, del Flocking, che
riproponeva l’algoritmo standard dei
Boids.
Il nostro Progetto
 Ruolo fondamentale del nostro
algoritmo è costituito dalle procedure
che gestiscono le Fusioni e le
Scissioni, assieme a quelle relative al
calcolo di del cgaf e ggaf.
Il nostro Progetto
 Le formule relative al calcolo delle
probabilità di Fusione e Scissione sono
state create appositamente da noi, e
sono le seguenti:


 Dove: α, ɛm, ɛl sono dei parametri da
impostare in fase di setup; (dst) è la
distanza tra due elementi.
Il nostro Progetto
 Nel nostro algoritmo di Netlogo è
possibile impostare diversi parametri:
Il nostro Progetto
 Contrariamente all’algoritmo su cui ci
siamo basati, le tre regole di
Separazione, Coesione, Allineamento
non sono presenti nel nostro algoritmo:
gli elementi si muovono in maniera del
tutto casuale.
Test Effettuati
 I nostri test utilizzavano il medesimo
campione utilizzato nel Caso-Studio: un
numero di 12 “animali”, ciascuno con 13
attributi binari. I test terminavano dopo
1500 cicli senza cambiamenti;
Inoltre: ɛm=0.01 ɛl=0.1
 L’ambiente era di tipo toroidale con una
superficie di 4900 unità. Ciascun
elemento aveva una dimensione di 1.5
unità.
Test Effettuati
 Sono stati effettuati 65 test, divisi in 5
casi. Ogni caso prevedeva diversi
valori di Vision e di α
 L’obiettivo che ci siamo posti era
trovare il caso che garantiva la
Clusterizzazione più accurata nel
minor numero di cicli.
Caso I
Vision=3
Main-Leaving-Coefficent=1*10^-4
2528
4298
2743 2613
7143
2780
4174 4188
2780
3852
2032 2073
6116
3640
0
1000
2000
3000
4000
5000
6000
7000
8000
1 2 3 4 5 6 7 8 9 10 11 12 13 media
clusterizzazione totale
clusterizzazione parziale
media
Caso II
Vision=3
Main-Leaving-Coefficent=2*10^-4
2308
3289
4896
2321
2850 2794
3999
2446
2625 2759
4263
2287
2024
2989.307692
0
1000
2000
3000
4000
5000
6000
1 2 3 4 5 6 7 8 9 10 11 12 13 media
clusterizzazione totale
clusterizzazione parziale
media
Caso III
Vision=3
Main-Leaving-Coefficent=1*10^-5
2470 2309 2226
3469
3142
2845
2419
3488
2757
3224
4451
3294
4842
3148.923077
0
1000
2000
3000
4000
5000
6000
1 2 3 4 5 6 7 8 9 10 11 12 13 media
clusterizzazione totale
clusterizzazione parziale
media
Caso IV
Vision=1
Main-Leaving-Coefficent=1*10^-4
4818
3725
2941
4491
2475
4995
6251
4470
3400 3424
4849
7624
4601
5000
3000
5000
5000
4000
3000
4000 4000 4000
5000 5000
4466.461538
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
1 2 3 4 5 6 7 8 9 10 11 12 13 media
clusterizzazione totale
clusterizzazione parziale
Elementi rimasti * 1000
media
Caso V
Vision=7
Main-Leaving-Coefficent=1*10^-4
2151
2920
1943
2087
1997
2131
1762
2065
2158
2878
2182
2802
1825
1000 1000
2000
2223.153846
0
500
1000
1500
2000
2500
3000
3500
1 2 3 4 5 6 7 8 9 10 11 12 13 media
clusterizzazione totale
clusterizzazione parziale
Elementi rimasti * 1000
media
Osservazioni
 La Randomness può portare a risultati
anomali;
 (non presente nei test) Per α>2*10^-4,
la simulazione assumeva un
andamento perpetuo;
 Tempo di esecuzione (in cicli)
inversamente proporzionale a Vision;
 Valore di α non determinante per il
tempo di esecuzione, ma importante
per la qualità della Clusterizzazione.
Possibile Lavoro Futuro
 Ingrandire le dimensioni dei centroidi
in base al numero di elementi
contenuti.
 Sperimentare l’algoritmo con il
Database Ruspini e Iris.
Conclusioni
 Si è sviluppato un algoritmo di Netlogo
basato sul cBoids Algorithm per la
Clusterizzazione dei dati.
 I dati ottenuti mostrano che, impostando in
modo ponderato i parametri, l’algoritmo
funzioni con una ottima efficienza.
 Sebbene sia necessario la creazione di
formule “ad-hoc” per il tipo di dato utilizzato,
riteniamo che l’algoritmo sia sufficientemente
flessibile da poter essere impiegato anche su
database più ampi.

More Related Content

Featured

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 

Featured (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

A new clustering boids algorithm

  • 1. A New Clustering Boids Algorithm Giovanni Apruzzese Lorenzo Dodi
  • 2. Scopo  Scopo del nostro Caso-Studio era ottenere un algoritmo per effettuare il Clustering di un gruppo di dati in un modo autonomo e dinamico.
  • 3. Boids Algorithm  Algoritmo basato sui concetti delle Swarm Intelligence, che simula il comportamento degli stormi di uccelli.  Si basa sull’applicazione di tre regole caratteristiche: 1. Separazione: evitare la collisione con altri elementi; 2. Allineamento: allineare la propria direzione a quella degli elementi vicini; 3. Coesione: muoversi verso il centro del gruppo di uccelli in cui ci si trovi.
  • 4. cBoids Algorithm  Algoritmo prodotto dal nostro Caso- Studio, basato sulle regole del Boids Algorithm, orientato al Clustering.  Alle tre regole di Separazione, Allineamento e Coesione, si affiancano due nuove regole probabilistiche: 1. Fusione; 2. Scissione.
  • 5. cBoids Algorithm  Per le due regole di Fusione e Scissione viene impiegata l’Affinità: più due elementi saranno simili, maggiore sarà la loro Affinità.  Intuitivamente: 1. P(Fusione) ~ Affinità 2. P(Scissione) ~ 1/Affinità
  • 6. cBoids Algorithm  Ogni agente dell’ambiente viene visto come un “centroide”, ossia il prototipo di un cluster.  Supponendo un database di 100 oggetti, in fase di setup, l’algoritmo avrà 100 centroidi.  Una volta avviato l’algoritmo, le regole di Fusione e Scissione si occuperanno di unire o scindere i vari centroidi.
  • 7. cBoids Algorithm  La regola di Fusione viene applicata quando due centroidi sono sufficientemente vicini tra di loro.  La regola di Scissione viene applicata ad ogni iterazione dell’algoritmo, tenendo in considerazione due grandezze: 1. Current Group Affinity (cgaf); 2. Greatest Group Affinity (ggaf).
  • 8. cBoids Algorithm  L’algoritmo termina di essere eseguito al raggiungimento di un determinato numero di iterazioni in cui non si sono verificate modifiche dei Centroidi.
  • 9. cBoids Algorithm  Overview del cBoids Algorithm
  • 10. Risultati Caso-Studio  Utilizzando un database (Animals Dataset) contenente 16 elementi con 13 attributi binari ciascuno, il cBoids Algorithm ha mostrato una precisione media di Clustering pari al 94%
  • 11. Il nostro Progetto  Scopo del nostro progetto era ricreare una simulazione di Netlogo che riproponga l’algoritmo cBoids.  Per fare ciò, ci siamo basati sul modello, presente di default nella libreria di Netlogo, del Flocking, che riproponeva l’algoritmo standard dei Boids.
  • 12. Il nostro Progetto  Ruolo fondamentale del nostro algoritmo è costituito dalle procedure che gestiscono le Fusioni e le Scissioni, assieme a quelle relative al calcolo di del cgaf e ggaf.
  • 13. Il nostro Progetto  Le formule relative al calcolo delle probabilità di Fusione e Scissione sono state create appositamente da noi, e sono le seguenti:    Dove: α, ɛm, ɛl sono dei parametri da impostare in fase di setup; (dst) è la distanza tra due elementi.
  • 14. Il nostro Progetto  Nel nostro algoritmo di Netlogo è possibile impostare diversi parametri:
  • 15. Il nostro Progetto  Contrariamente all’algoritmo su cui ci siamo basati, le tre regole di Separazione, Coesione, Allineamento non sono presenti nel nostro algoritmo: gli elementi si muovono in maniera del tutto casuale.
  • 16. Test Effettuati  I nostri test utilizzavano il medesimo campione utilizzato nel Caso-Studio: un numero di 12 “animali”, ciascuno con 13 attributi binari. I test terminavano dopo 1500 cicli senza cambiamenti; Inoltre: ɛm=0.01 ɛl=0.1  L’ambiente era di tipo toroidale con una superficie di 4900 unità. Ciascun elemento aveva una dimensione di 1.5 unità.
  • 17. Test Effettuati  Sono stati effettuati 65 test, divisi in 5 casi. Ogni caso prevedeva diversi valori di Vision e di α  L’obiettivo che ci siamo posti era trovare il caso che garantiva la Clusterizzazione più accurata nel minor numero di cicli.
  • 18. Caso I Vision=3 Main-Leaving-Coefficent=1*10^-4 2528 4298 2743 2613 7143 2780 4174 4188 2780 3852 2032 2073 6116 3640 0 1000 2000 3000 4000 5000 6000 7000 8000 1 2 3 4 5 6 7 8 9 10 11 12 13 media clusterizzazione totale clusterizzazione parziale media
  • 19. Caso II Vision=3 Main-Leaving-Coefficent=2*10^-4 2308 3289 4896 2321 2850 2794 3999 2446 2625 2759 4263 2287 2024 2989.307692 0 1000 2000 3000 4000 5000 6000 1 2 3 4 5 6 7 8 9 10 11 12 13 media clusterizzazione totale clusterizzazione parziale media
  • 20. Caso III Vision=3 Main-Leaving-Coefficent=1*10^-5 2470 2309 2226 3469 3142 2845 2419 3488 2757 3224 4451 3294 4842 3148.923077 0 1000 2000 3000 4000 5000 6000 1 2 3 4 5 6 7 8 9 10 11 12 13 media clusterizzazione totale clusterizzazione parziale media
  • 21. Caso IV Vision=1 Main-Leaving-Coefficent=1*10^-4 4818 3725 2941 4491 2475 4995 6251 4470 3400 3424 4849 7624 4601 5000 3000 5000 5000 4000 3000 4000 4000 4000 5000 5000 4466.461538 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1 2 3 4 5 6 7 8 9 10 11 12 13 media clusterizzazione totale clusterizzazione parziale Elementi rimasti * 1000 media
  • 23. Osservazioni  La Randomness può portare a risultati anomali;  (non presente nei test) Per α>2*10^-4, la simulazione assumeva un andamento perpetuo;  Tempo di esecuzione (in cicli) inversamente proporzionale a Vision;  Valore di α non determinante per il tempo di esecuzione, ma importante per la qualità della Clusterizzazione.
  • 24. Possibile Lavoro Futuro  Ingrandire le dimensioni dei centroidi in base al numero di elementi contenuti.  Sperimentare l’algoritmo con il Database Ruspini e Iris.
  • 25. Conclusioni  Si è sviluppato un algoritmo di Netlogo basato sul cBoids Algorithm per la Clusterizzazione dei dati.  I dati ottenuti mostrano che, impostando in modo ponderato i parametri, l’algoritmo funzioni con una ottima efficienza.  Sebbene sia necessario la creazione di formule “ad-hoc” per il tipo di dato utilizzato, riteniamo che l’algoritmo sia sufficientemente flessibile da poter essere impiegato anche su database più ampi.