SlideShare a Scribd company logo
Extended Summary of
«Code Building Genetic
Programming»
UNIVERSITÀ DEGLI STUDI DI TRIESTE
DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA
TESI DI LAUREA TRIENNALE
Laurenda:
Martina MAIONE
Relatore:
Prof. Andrea DE LORENZO
Anno Accademico 2020-2021
Obiettivo
della
ricerca
• Programmi che supportano tipi di dati
arbitrari
• Manipolazione di tipi polimorfici
• Utilizzo di codice preesistente
• Senza configurazioni aggiuntive
• Codice sorgente eseguibile in ogni ambiente
Problema
Non tutti i sistemi di sintesi
di programmi vanno bene!
Problema
PushGP
• Programmi che supportano tipi di dati arbitrari
• Manipolazione di tipi polimorfici
• Utilizzo di codice preesistente
• Senza configurazioni aggiuntive
• Codice sorgente eseguibile in ogni ambiente
Problema
G3P
• Programmi che supportano tipi di dati arbitrari
• Manipolazione di tipi polimorfici
• Utilizzo di codice preesistente
• Senza configurazioni aggiuntive
• Codice sorgente eseguibile in ogni ambiente
Code Building Genetic
Programming
Soluzione
CBGP: Come
funziona?
Genotipo
Grafo diretto e aciclico
• Input e costanti
• Funzioni: argomento → valore
Come generare
il fenotipo
• Nodi del DAG
• Tipo di ritorno
Input:
• Compilazione espressioni
→ codice eseguibile
Processo:
Compilazione
• Foglie: caricate nello stack
• Funzione:
Ogni argomento ha un valore del
tipo corretto → funzione valida
Valutazione del
programma
• Sul tipo di dato restituito
• Sui casi di addestramento
Valutazione
sperimentale
1° Test set
• Days Between
• Prefix Paths
• Filter Bounds
Risultati ottenuti
General Program Synthesis
Benchmark Suite
• Negative To Zero
• Median
• Smallest
• Vector Average
• Compare String Lengths
• Replace Space With Newline
• Number IO
2° Test set
Risultati ottenuti
CBGP
Riutilizzo di porzioni di codice
preesistente
No configurazioni aggiuntive
Programmi con tipi di dati
arbitrari e polimorfici
Ricerche
future
Test set più ampio
Più informazioni rispetto ai
tipi di dati
Algoritmi di ottimizzazione
Bibliografia
Code Building Genetic Programming, Edward Pantridge
Swoop Cambridge, Massachusetts, USA Lee Spector
Amherst College, Hampshire College, and UMass
Amherst Amherst, Massachusetts, USA
A Survey of Genetic Programming and Its Applications,
Milad Taleby Ahvanooey, Qianmu Li, Ming Wu, Shuo
Wang
Comparison of Linear Genome Representations for
Software Synthesis, Pantrdige, E., Helmuth, T., and
Spector, L.
General Program Synthesis Benchmark Suite, T.
Helmuth, Lee Spector, Hampshire College & University
of Massachussetts, Amherst
Sitografia
Wikipedia https://www.wikipedia.org
Hampshire College https://www.hampshire.edu
Grazie per l’attenzione
UNIVERSITÀ DEGLI STUDI DI TRIESTE
DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA
TESI DI LAUREA TRIENNALE
Laurendo:
Martina MAIONE
Relatore:
Prof. Ing. Andrea DE LORENZO
Anno Accademico 2020-2021
Polimorfismo
Un’espressione il cui
tipo è descritto da una
classe A può assumere
valori di un qualunque
tipo descritto da una
classe B sottoclasse di
A
Veicolo
Macchina
Bicicletta
Problema: PushGP
• Polimorfismo per inclusione
• Tipi generici
Nuovo tipo → nuovo stack
NB: No funzioni → inutile
→ Funzioni in anticipo → tipi in anticipo → no polimorfismo parametrico
Veicolo Macchina Bicicletta
Problema: G3P
• Polimorfismo per inclusione
Quale grammatica utilizzo?
• Tipi generici
Infinito numero di grammatiche

More Related Content

PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
Extended summary of code building genetic programming
PDF
Progetto e realizzazione di uno strumento per la modifica sistematica di codi...
PDF
Progetto e realizzazione di uno strumento per la modifica sistematica di codi...
PDF
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
PPT
Django introduction
Storytelling For The Web: Integrate Storytelling in your Design Process
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
2024 Trend Updates: What Really Works In SEO & Content Marketing
Extended summary of code building genetic programming
Progetto e realizzazione di uno strumento per la modifica sistematica di codi...
Progetto e realizzazione di uno strumento per la modifica sistematica di codi...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Django introduction
Ad

Extended summary of code building genetic programming

  • 1. Extended Summary of «Code Building Genetic Programming» UNIVERSITÀ DEGLI STUDI DI TRIESTE DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA TESI DI LAUREA TRIENNALE Laurenda: Martina MAIONE Relatore: Prof. Andrea DE LORENZO Anno Accademico 2020-2021
  • 2. Obiettivo della ricerca • Programmi che supportano tipi di dati arbitrari • Manipolazione di tipi polimorfici • Utilizzo di codice preesistente • Senza configurazioni aggiuntive • Codice sorgente eseguibile in ogni ambiente
  • 3. Problema Non tutti i sistemi di sintesi di programmi vanno bene!
  • 4. Problema PushGP • Programmi che supportano tipi di dati arbitrari • Manipolazione di tipi polimorfici • Utilizzo di codice preesistente • Senza configurazioni aggiuntive • Codice sorgente eseguibile in ogni ambiente
  • 5. Problema G3P • Programmi che supportano tipi di dati arbitrari • Manipolazione di tipi polimorfici • Utilizzo di codice preesistente • Senza configurazioni aggiuntive • Codice sorgente eseguibile in ogni ambiente
  • 8. Genotipo Grafo diretto e aciclico • Input e costanti • Funzioni: argomento → valore
  • 9. Come generare il fenotipo • Nodi del DAG • Tipo di ritorno Input: • Compilazione espressioni → codice eseguibile Processo:
  • 10. Compilazione • Foglie: caricate nello stack • Funzione: Ogni argomento ha un valore del tipo corretto → funzione valida
  • 11. Valutazione del programma • Sul tipo di dato restituito • Sui casi di addestramento
  • 13. 1° Test set • Days Between • Prefix Paths • Filter Bounds
  • 15. General Program Synthesis Benchmark Suite • Negative To Zero • Median • Smallest • Vector Average • Compare String Lengths • Replace Space With Newline • Number IO 2° Test set
  • 17. CBGP Riutilizzo di porzioni di codice preesistente No configurazioni aggiuntive Programmi con tipi di dati arbitrari e polimorfici
  • 18. Ricerche future Test set più ampio Più informazioni rispetto ai tipi di dati Algoritmi di ottimizzazione
  • 19. Bibliografia Code Building Genetic Programming, Edward Pantridge Swoop Cambridge, Massachusetts, USA Lee Spector Amherst College, Hampshire College, and UMass Amherst Amherst, Massachusetts, USA A Survey of Genetic Programming and Its Applications, Milad Taleby Ahvanooey, Qianmu Li, Ming Wu, Shuo Wang Comparison of Linear Genome Representations for Software Synthesis, Pantrdige, E., Helmuth, T., and Spector, L. General Program Synthesis Benchmark Suite, T. Helmuth, Lee Spector, Hampshire College & University of Massachussetts, Amherst Sitografia Wikipedia https://www.wikipedia.org Hampshire College https://www.hampshire.edu
  • 20. Grazie per l’attenzione UNIVERSITÀ DEGLI STUDI DI TRIESTE DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA TESI DI LAUREA TRIENNALE Laurendo: Martina MAIONE Relatore: Prof. Ing. Andrea DE LORENZO Anno Accademico 2020-2021
  • 21. Polimorfismo Un’espressione il cui tipo è descritto da una classe A può assumere valori di un qualunque tipo descritto da una classe B sottoclasse di A Veicolo Macchina Bicicletta
  • 22. Problema: PushGP • Polimorfismo per inclusione • Tipi generici Nuovo tipo → nuovo stack NB: No funzioni → inutile → Funzioni in anticipo → tipi in anticipo → no polimorfismo parametrico Veicolo Macchina Bicicletta
  • 23. Problema: G3P • Polimorfismo per inclusione Quale grammatica utilizzo? • Tipi generici Infinito numero di grammatiche