sabato 3 dicembre 2016

EVOLUTIONARY (AI.1.3.1.3)

Tateo’s Interdisciplinary Lifelong Learning Project

T I L L L

LEARNING - BLOG - COMMUNITY

Learning, knowledge sharing and Communities engagement about: Artificial Intelligence, Augmented / Virtual / Mixed Reality, Automation, Electronics, Computer Science and Information Technology, Mobile Devices, Problem Solving, Readings, Social Media, Simulation, Artificial Vision, Work and Soft Skills

by Tateo Giovanni Battista

____________________________________________________________________________

LEARNING

ARTIFICIAL INTELLIGENCE

Artificial intelligence based on Evolutionary Algorithms

{L’Intelligenza Artificiale basata su algoritmi evoluzionistici}


Hashtag keywords
: #artificialIntelligence #optimization #heuristics #evolution #geneticAlgorithms #geneticProgramming #TILLL 
#TateoBlog 

Summary. The theory of the evolution of animal and plant species that was developed by Charles Darwin can be effectively considered as a model for synthesizing surprising heuristic methods of optimization or research. The idea is based on the definition of algorithms that mimic the typical mechanisms of natural evolution. Evolutionary Computation is the scientific discipline, sub-branch of Artificial Intelligence, which studies these techniques. Among the most renowned techniques we can mention those of Genetic Algorithms and Genetic Programming. In the article I also share my personal experience in reference to these techniques, telling how my passion for Genetic Algorithms was born, and how I enjoyed applying the evolutionary mechanism of this heuristic optimization technique to various fields, scientific and otherwise

{La teoria dell'evoluzione delle specie animali e vegetali che è stata elaborata da Charles Darwin può essere considerata efficacemente come modello per sintetizzare sorprendenti metodi euristici di ottimizzazione o di ricerca. L’idea si basa sulla definizione di algoritmi che imitino i meccanismi tipici della evoluzione naturale. La Evolutionary Computation è la disciplina scientifica, sotto-branca della Intelligenza Artificiale, che studia queste tecniche. Tra le tecniche più rinomate possiamo citare quelle degli Algoritmi Genetici e della Programmazione Genetica. Nell’articolo condivido anche la mia personale esperienza in riferimento a queste tecniche, raccontando come è nata la mia passione per gli Algoritmi Genetici, e come mi sono divertito ad applicare il meccanismo evolutivo di questa tecnica di ottimizzazione euristica a vari ambiti, scientifici e no}

~ o ~


You are HERE within the TILLL project

{Ti trovi QUI all'interno del progetto TILLL}


                   +--> TILLL-LEARNING
                   |    +--> AI. ARTIFICIAL INTELLIGENCE 
                   |         +--> 1. COMPLEX PROBLEMS 
                   |              +--> 3. HEURISTICS
                   |                   +--> 1. BIO-INSPIRED
                   |                        +--> 3EVOLUTIONARY
                   |                                +--> 1GA
                   |                                +--> 2. GP
                   +--> TILLL-SHARING
                   |    +--> TILLL-BLOG
HOME --> PROJECT --O
                   |
                   +--> TILLL-NETWORKING
                   |
                   +--> 
TILLL-ABOUT ME



~ o ~


i. The evolutionary theory
{La teoria dell'evoluzione}


  The theory of the evolution of animal and plant species that was developed by Charles Darwin, links the chances of survival of an individual mainly to his ability to adapt to the environment (fitness).

  The means that characterize this capacity in each individual reside in their genetic heritage, that is, in a set of information inherited first of all from father and mother (crossover) and subsequently partially subjected to a process of random change (mutation) to ensure that each has its own identity, distinct from that of the parents.
  The weaker individuals, less able to cope with the environment, generally die before the others and, therefore, reproduce less; the stronger ones generally survive longer and reproduce more.
  The effect of this process is a more widespread transmission of the best characteristics which, over a long period of time, automatically leads to the evolution of the species and to the existence of generations possessing ever greater capacity to adapt to the environment.


  {La teoria dell'evoluzione delle specie animali e vegetali, elaborata da Charles Darwin, lega le possibilità di sopravvivenza di un individuo principalmente alla sua capacità di adattamento all'ambiente (fitness).

  I mezzi che caratterizzano questa capacità in ogni individuo risiedono nel suo patrimonio genetico, cioè in un insieme di informazioni ereditate prima di tutto da padre e madre (crossover) e successivamente parzialmente soggette a un processo di cambiamento casuale (mutazione) per garantire che ognuno ha una propria identità, distinta da quella dei genitori.

  Gli individui più deboli, meno capaci di far fronte all'ambiente, generalmente muoiono prima degli altri e, quindi, si riproducono meno; quelli più forti generalmente sopravvivono più a lungo e si riproducono di più.

  L'effetto di questo processo è una trasmissione più diffusa delle migliori caratteristiche che, nel lungo periodo, porta automaticamente all'evoluzione della specie e all'esistenza di generazioni dotate di una sempre maggiore capacità di adattamento all'ambiente}



~ o ~ 


ii. Algoritmi evolutivi


Una volta appurato che i meccanismi evolutivi naturali funzionano, non ci resta altro da fare che copiare dalla natura, ossia costruire un ambiente che simuli l'attività naturale, ossia tutti quei meccanismi che regolano l'evoluzione di una specie piuttosto che di un'altra. Per ottenere questo è necessario ispirarsi alla metafora della genetica delle popolazioni e alla teoria di Darwin sull'evoluzione. Occorre quindi generare una "popolazione" di soluzioni; le caratteristiche dei componenti di questa popolazione devono poter "mutare", in modo casuale oppure indotto; deve essere possibile valutare la "bontà" di ogni elemento della popolazione in confronto ad un determinato problema, in modo da poterne "selezionare" i migliori; deve essere possibile "premiare" le soluzioni migliori per innescare il meccanismo virtuoso della evoluzione.


~ o ~ 


iii. Evolutionary Computation


La disciplina scientifica che raggruppa le tecniche meta-euristiche di ottimizzazione che si basano sui meccanismi ispirati all'evoluzione e alla selezione naturale si chiama "Evolutionary Computation".  Attualmente la Evolutionary Computation annovera tra le proprie fila molte tecniche, le più famose delle quali sono gli "Algoritmi Genetici", le "Strategie Evolutive" e la Programmazione Genetica.


  Algoritmi Genetici. Gli algoritmi genetici (noti col termine Genetic Algorithms in lingua inglese, e sinteticamente GA) sono una tecnica di ottimizzazione euristica proposta da John Holland nel 1975. Prende come modello il processo di evoluzione biologica e consiste nel mantenere un insieme di soluzioni che evolvono usando i principi dell'evoluzione di Darwin.


  Programmazione Genetica. La programmazione genetica (nota col termine Genetic Programming in lingua inglese, e sinteticamente GP), ispirandosi allo stesso principio adattativo della evoluzione biologica, ricerca programmi informatici che riescano a svolgere in maniera ottimale un determinato compito.


La teoria dell'evoluzione della specie può essere utilizzata efficacemente per simulare al computer dei problemi, anche molto complessi, di ottimizzazione o di ricerca, per mezzo di un processo di affinamento progressivo di potenziali soluzioni.



~ o ~ 


iv. Genetic Algorithms

{Algoritmi genetici} 

  The Genetic Algorithms (briefly GA) are complex and adaptive procedures, aimed at solving research and optimization problems, and conceptually based on the principles that regulate the natural evolution of species.
  The idea underlying the GA is therefore to select the best solutions and to combine them again in some way with each other in such a way that they evolve towards an optimum point.

  {Gli Algoritmi Genetici (Genetic Algorithms in lingua Inglese, e brevemente GA) sono procedure complesse e adattative, finalizzate alla risoluzione di problemi di ricerca e ottimizzazione, e basate concettualmente sui principi che regolano l'evoluzione naturale delle specie.
  L'idea che sta alla base degli AG è quindi quella di selezionare le soluzioni migliori e di combinarle nuovamente in qualche modo fra loro in maniera tale che esse evolvano verso un punto di ottimo}

  If you are interested in learning more about Genetic Algorithms, then allow me to invite you to read the following article, that deal specifically by this theme.

  { Se ti interessa approfondire gli Algoritmi Genetici, allora permettimi di invitarti a leggere il seguente articolo, che tratta specificatamente di questo argomento}


Genetic Algorithms

{Algoritmi Genetici}




~ o ~ 


v. Genetic Programming
{Programmazione genetica}

Genetic programming, inspired by the same adaptive principle of biological evolution, searches for computer programs that are able to perform a specific task in an optimal way.
   It should be noted that genetic programming exploits the evolutionary modification of the internal code of programs. So the code and the behavior of the programs are constantly evolving. In practice, GP is a particular machine learning technique. Similarly to what happens for genetic algorithms, it is a heuristic process that does not guarantee a perfect result, but an optimal result that meets certain criteria set by the user.
  {La Programmazione Genetica, ispirandosi allo stesso principio adattativo dell'evoluzione biologica, ricerca programmi informatici che riescano a svolgere in maniera ottimale un determinato compito.
  Si osservi che la programmazione genetica sfrutta la modifica evolutiva del codice interno dei programmi. Quindi il codice ed il comportamento dei programmi sono in continua evoluzione. In pratica la GP costituisce una particolare tecnica di apprendimento automatico. Analogamente a quanto avviene per gli algoritmi genetici, si tratta di un processo euristico che non garantisce un risultato perfetto, bensì un risultato ottimale che rispetti determinati criteri prefissati dall'utente.}
 If you are interested in learning more about Genetic Programming technique and applications, then allow me to invite you to read the following article, that deal specifically by this theme.

  {Se ti interessa approfondire la tecnica e le applicazioni della Programmazione Genetica, allora permettimi di invitarti a leggere il seguente articolo, che tratta specificatamente di questo argomento}


Genetic Programming, that is the extension of the genetic algorithms to the programming world

{La Programmazione Genetica, ossia la estensione degli Algoritmi Genetici al mondo della programmazione}



~ o ~


vi. Sources, References and insight

{Fonti, riferimenti ed approfondimenti}


  Listed below are many references to sources I have consulted during the writing of this article and I suggest you use them to go deeper into the topics covered within.

  {In seguito ho riportato alcuni riferimenti alle fonti che ho consultato durante la redazione di questo articolo e che ti suggerisco di utilizzare per approfondire gli argomenti che ho trattato al suo interno}

  [1] Charles Darwin, Wikipedia

  [2] J.H.Holland. Algoritmi genetici. Le Scienze, n.289, 1992 

  [3]  L.Davis. Handbook of Genetic Algorithms. Van Nostrand Reinhold, 1991 

  [4] J. H. Holland. Adaptation in Natural and Artificial Systems. The University
of Michigan Press, 1975 

  [5] M. Mitchell. An Introduction to Genetic Algorithms. MIT Press, 1996. 

  [6] …

{Spiegazione teorica sugli AG in generale, e una loro applicazione al campo dell'analisi finanziaria}

  [7] …

{Raccolta di lucidi sull'apprendimento delle macchine tramite AG}

  [8] An Overview of Artificial Intelligence

{Introduzione alla Intelligenza Artificiale}



~ o ~ 


vii. More generally

{Più in generale}


  In this article we talked about the Artificial Intelligence techniques based on evolutionary algorithms, like the Genetic Algorithms (GA) and Genetic Programming (GP). These techniques are only some of the heuristics bio-inspired methods used to solve complex problems.

   But if you want to examine the AI techniques inspired to the principles of the life, then allow me to suggest you the reading of the following article which I dedicated to this purpose.

  {In questo articolo abbiamo parlato delle tecniche di Intelligenza Artificiale basate su algoritmi evolutivi, come gli Algoritmi Genetici (GA) e la Programmazione Genetica (GP). Queste tecniche sono solo alcuni dei metodi euristici bio-ispirati utilizzati per risolvere problemi complessi.

    Ma se vuoi approfondire le tecniche di IA ispirate ai principi della vita, allora permettimi di suggerirti la lettura del seguente articolo che ho dedicato a questo scopo}


Artificial Intelligence inspired to the principles of the life: the Artificial Life 

{L'Intelligenza Artificiale ispirata ai meccanismi della vita artificiale: la Artificial Life}

(AI.1.3.1)



~ o ~


viii. Stay up to date

{Rimani aggiornato}

If you are interested in the topics covered in the current article and want to be informed about my most recent updates dealing with them, then I invite you to register:


on the Facebook page

"Artificial Intelligence by Tateo's Interdisciplinary Lifelong Learning" (>)


and at the Pinterest dashboard

"Artificial Intelligence by Tateo's Interdisciplinary Lifelong Learning" (>)


which I dedicated specifically for sharing the most recent changes made to the corresponding thematic area of TILLL~Learning (>).


{Se sei interessato agli argomenti trattati nell'articolo corrente e vuoi essere informato sui miei aggiornamenti più recenti che trattano di essi, allora ti invito a registrarti:


alla pagina Facebook

"Artificial Intelligence by Tateo's Interdisciplinary Lifelong Learning" (>)


ed alla bacheca Pinterest

"Artificial Intelligence by Tateo's Interdisciplinary Lifelong Learning" (>)


che ho dedicato appositamente per la condivisione delle modifiche più recenti apportate all'area tematica corrispondente di TILLL~Learning (>)}



~ o ~

ix. Let's keep in touch
{Teniamoci in contatto}


I hope you enjoyed this article, belonging to the Learning (>) section of the Tateo's Interdisciplinary Lifelong Learning (TILLL) project (>), and that the notes and observations I gathered within it meets your interests. 

  If you want stay tuned with the TILLL project evolution, then I invite you to follow the next upgrades that are published on the TILLL's Blog and on the social media pages dedicated to the TILLL community.


  {Spero che questo articolo, appartenente alla sezione Learning (>) del progetto Tateo's Interdisciplinary Lifelong Learning (TILLL) (>), ti sia piaciuto e che le note e le osservazioni che ho raccolto al suo interno soddisfino i tuoi interessi. 

  Se vuoi rimanere aggiornato sull'evoluzione del progetto TILLL, allora ti invito a seguire i prossimi aggiornamenti che vengono pubblicati sul Blog di TILLL e sulle pagine social dedicate alla community TILLL}


  (>Tateo-Blogofficial blog of TILL project

  (>LinkedIn page dedicated to TILL project

  (>Facebook page dedicated to TILL project

  (>Twitter account dedicated to TILL project

  (>Pinterest account dedicated to TILL project

  (>Instagram account dedicated to TILL project



~ o ~

x. Something about me, the founder and author of Tateo~Blog Project
{Qualcosa su di me, il fondatore e sull'autore del progetto Tateo~Blog}

First of all, thank you for visiting one of the pages of my blog. My name is Giovanni Battista Tateo (shortly Bat) and I am the founder and author of a project of Interdisciplinary Lifelong Learning of which the Tateo~Blog (:::) blog is the means of sharing. I was initially an Information Technology expert, and later I became an electronic engineer, specializing in industrial Automation. I'm passionate about Artificial intelligenceVirtual RealitySimulation, and I'm an expert in Artificial Vision applied to industrial Automation. Currently, and starting four years ago, I am employed as a Proposal Engineer at Mer Mec S.p.A. (:::) company. Previously, starting in 2004, I was employed, always at the same company, as a Designer of Artificial Vision Systems and Image Processing Algorithms, applied in particular to Railway Diagnostics. I am a supporter and promoter of Lifelong LearningSocial Networking and Knowledge Sharing by means of the web. If you want more details about me, visit the About Me (:::) page.


{Innanzitutto ti ringrazio per aver visitato una delle pagine del mio blog. Mi chiamo Giovanni Battista Tateo (brevemente Bat) e sono il fondatore e l'autore di un progetto Lifelong Learning Interdisciplinare di cui il blog Tateo~Blog (:::) ne è il mezzo di condivisione. Sono stato in principio un esperto di Informatica, e in seguito sono diventato un Ingegnere Elettronico, specializzato in Automazione Industriale. Sono un appassionato di Intelligenza ArtificialeRealtà VirtualeSimulazione, e sono un esperto di Visione Artificiale applicata all'Automazione Industriale. Attualmente, ed a partire dall'anno 2016, sono impiegato come Proposal Engineer presso la società Mer Mec S.p.A. (:::). Precedentemente, a partire dal 2004, sono stato impiegato, sempre presso la stessa società, come Progettista di Sistemi di Visione Artificiale e di Algoritmi di Elaborazione delle Immagini, applicati in particolare alla Diagnostica Ferroviaria. Sono un sostenitore e promotore dell'apprendimento permanente, dei social network e della condivisione delle conoscenze tramite il web. Se vuoi ulteriori dettagli su di me, visita la pagine About Me (:::)}


  References to contact me. Following you can find my personal references that you can use if you want to contact me directly, and the links to my social accounts that you can use to follow me or to keep in touch with me by means of social media networks.

  {Riferimenti per contattarmi. In seguito puoi trovare i miei riferimenti personali che puoi utilizzare se vuoi contattarmi personalmente, ed i collegamenti ai miei account social che puoi utilizzare per seguirmi e rimanere in contatto con me tramite le reti di social media}


Eng. Tateo Giovanni Battista

    - e-mail: tateogb@libero.it (send e-mail)

    - phone / WhatsApp : (+39) 388 8419726

    - Skype (link)

    - LinkedIn account (link)

    - Facebook account (link)

    - Twitter account (link)

    - Instagram account (link)

    - Pinterest account (link)


-----------------------------------------

TILLL~Learning © November 7, 2021

domenica 6 novembre 2016

📱ANDROID (MD.2.1)

🏠 TILLL / 🎓 Learning / 📱MOBILITA’ (MD) / Sistemi Operativi / Android <==

Il sistema operativo Android

#mobileDevices #informationTechnology #IT #electronics #Android #TateoBlog #TILLL

Storia, versioni e caratteristiche distintive del sistema operativo Android.

~ o ~

§. Indice dei contenuti

§1. Le origini di Android

§2. Le versioni di Android

§3. Android SDK

§4. La Davik Virtual Machine

§5. Valori identitari

§6. Un mondo nuovo

§7. Riferimenti utili

§8. Più in generale

§9. Rimani aggiornato

§10. Teniamoci in contatto

§11. Qualcosa su di me


~ o ~

§1. Le origini di Android

Di seguito ripercorriamo la storia delle origini del sistema operativo Android:

  •   2003La storia del robottino verde parte dall'ottobre del 2003, data in cui fu fondata a Palo Alto (California) la Android Inc. I suoi fondatori dichiararono di voler sviluppare «... dispositivi cellulari più consapevoli della posizione e delle preferenze del loro proprietario» (cit.). Inizialmente la società operò rivelò solo di progettare software per dispositivi mobili.

  •   2005Il 17 agosto 2005 Google ha acquisito l'azienda, in vista del fatto che la società di Mountain View desiderava entrare nel mercato della telefonia mobile. È in questi anni che Android Inc. comincia a sviluppare un sistema operativo per dispositivi mobili basato sul kernel Linux.

  •   2007La presentazione ufficiale del "robottino verde" venne dato il 5 novembre 2007 dalla neonata OHA, un'alleanza tra Google e molte importanti aziende del settore.

  •   2008Si dovette però aspettare fino al 23 settembre 2008 per il lancio della versione 1.0 di Android. Il primo cellulare a "montare" il sistema operativo Android fu (22 ottobre 2008) l'HTC Dream, che era HTC progetto insieme a Google. Nei 6 mesi successivi ne furono venduti più di un milione!
~ o ~

§2. Le versioni di Android

 Ad esclusione delle prime due versioni di Android, la versione ALPHA (09/2008) e la versione BETA (02/2009), ogni versione principale è stata contraddistinta dal nome di un dolce.

I nomi sono scelti in modo da procedere in ordine alfabetico:

  • Cupcake. Versione 1.5 di Android, rilasciata a maggio 2009. Il cupcake è una mini-torta, cotta in un pirottino di ceramica oppure in uno stampo di carta da forno come quello utilizzato per la preparazione dei muffin. La terza versione di Android che è la prima ad adottare un nome ispirato ad un dolce è caratterizzata dal supporto dei widget sulla schermata iniziale, tastiere di terze parti, registrazione di video in formato mp4, transizioni animate tra una pagina e l'altra. La sua quota di mercato era appena del 2%;

  • Donut. Versione 1.6 di Android, rilasciata il 15 settembre 2009. I donut sono le famose ciambelle americane. Morbidi e golosi dolcetti fritti coperti da coloratissime glasse. La quarta versione di Android è caratterizzata dalla casella di ricerca rapida, dall'adattamento a qualsiasi forma e dimensione del dispositivo, dal massimo sviluppo dell’Android Market, dalla velocizzazione della telecamera e della sua integrazione con la galleria delle foto, selezione multipla Delle foto. La sua quota di mercato fu del 3,5%;

  • Eclair. Versione 2.0 di Android, rilasciata il 26 ottobre 2009. Lungo e sottile pasticcino, a forma di sfilatino. Fatto con pasta choux, la stessa che si usa per fare i bignè. Riempito di crema e glassato. La quinta versione di Android è caratterizzata dagli sfondi animati che rispondono al tocco, dal sistema di navigazione passo-passo, dalle informazioni sul traffico in tempo reale, dalla sincronizzazione di più account e-mail, da un browser più veloce, dalla fotocamera con zoom, flash e bilanciamento del bianco. La sua quota di mercato fu del 3,7%;

  • Froyo. Versione 2.2 di Android, rilasciata a maggio 2010. Yogurt gelato, è un dolce congelato a base di yogurt. È simile al gelato ma con più basso contenuto di grassi e un pó più aspro. La sesta versione di Android è caratterizzata dal controllo vocale, dalla possibilità di aprire degli hotspot, dal restyling grafico, dalla possibilità di disattivare il traffico dati, dal passaggio rapido da una lingua ad un'altra all'interno della tastiera, dalla possibilità di installare le app su memoria esterna di tipo microSD. La sua quota di mercato raggiunse il 17,2%;

  • Gingerbread. Versione 2.3 di Android, rilasciata a dicembre 2010. I gingerbread sono i biscotti di pan (bread) di zenzero (ginger). Sono dei fragranti biscottini speziati tipici del periodo natalizio, usati solitamente per ornare l'albero di Natale. Il pan di zenzero è un composto ottenuto mescolando miele o melassa e zucchero raffinato o di canna. La settima versione di Android è caratterizzata da una semplificazione e velocizzazione dell'esperienza utente sia per l'uso del dispositivo che per il gioco, dalla gestione intelligente della batteria, dal supporto dei sensori NFC, dal supporto a schermi ad alta risoluzione, dalla possibilità di passare da una telecamera all’altra. La quota di mercato raggiunse il considerevole valore del 30,5%. A partire dalla fine del 2010 Android domina il mercato americano detenendo una quota di mercato pari al 59%. In europa raggiunge il 46%. Da allora è stato un crescendo continuo ed ancora oggi la fetta di mercato dei cellulari che montano Android sta costantemente aumentando;

  • Honeycomb. Versione 3.0 di Android, rilasciata nel febbraio 2011. È un dolcetto a forma di alveare, fatto di zucchero e miele. È una sorta di caramella, a metà tra il carbone dolce e la meringa, dolce come il miele e friabilissimo. La ottava versione di Android è espressamente dedicata ai tablet mettendo a disposizione interfacce flessibili e navigazione fluida, la barra di sistema (quella con i tre pulsanti: indietro, home e task manager), la possibilità di criptare i dati,e la possibilità di aprire più schede nel browser. La quota di mercato raggiunse il valore del 36,4%;

  • Ice cream sandwich. Versione 4.0 di Android, rilasciata nell'ottobre 2011. È un dessert freddo realizzato con due biscotti di pasta frolla ripieni di gelato o semifreddo. Di origine americana, e più precisamente dello stato di New York, l'invenzione di questo gelato risale alla fine del 1800 ed è stato ideato per poter essere consumato con facilità fuori casa durante una passeggiata oppure un pic nic. La nona versione di Android ha migliorato le possibilità di personalizzazione e controllo da parte dell'utente, sia per quanto riguarda l'aspetto grafico che per la gestione dei dati. È caratterizzata da un rinnovamento dell'interfaccia e dei font, dalla possibilità di chiudere una ad una le applicazioni aperte, dalla possibilità di registrare video a qualità full HD. La quota di mercato raggiunse il valore di 50,9%;

  • Jelly bean. Versione 4.1 di Android, rilasciata nell'agosto 2012. Sono delle morbide (jelly) caramelle di gelatina, di origine statunitense, dalla tipica forma di fagiolo dalla quale prendono il nome (bean). La decima versione di Android è caratterizzata da Google Now che permette l'assistenza personalizzata su dispositivi mobili, dalla ottimizzazione della accessibilità e fluidità dell'interfaccia utente, da maggiore interattività delle notifiche e dalla possibilità di collegare uno stesso dispositivo a più profili utente. La quota di mercato aumentò ulteriormente raggiungendo il valore di 64,2%;

  • Kit Kat. Versione 4.4 di Android, rilasciata nel settembre 2013. È uno snack dolce composto da una o più barrette di wafer (tre biscotti e due strati di crema) ricoperte di cioccolato e prodotto dalla Nestlè. Il Kit Kat nasce nel 1935 in una fabbrica di New York in seguito ad una idea proposta da un operaio, il quale fece richiesta, attraverso la scatola dei suggerimenti “uno snack che un operaio possa trasportare nella sua cassetta del pranzo per il lavoro”. La undicesima versione di Android è caratterizzata dalla ricerca e dal comando vocale, dal rinnovamento dell'interfaccia grafica, dalla trasparenza e dallo stile minimale delle icone, dalle emoji integrate nella tastiera, dal design immersivo e dalla tastiera telefonica intelligente. La quota di mercato aumentò ulteriormente raggiungendo il valore di 77,80%;

  • Lollipop. Versione 5.0 di Android, rilasciata nel novembre 2014. Comunemente detto lecca-lecca, dolce costituito da una caramella di vari gusti, solitamente circolare o piatta collocata su un bastoncino in legno o in plastica. Le origini di questo tipo di dolce sono molto remote ma il modello così come lo conosciamo noi, è stato inventato nel 1908 e registrato nel 1931 con il nome inglese di Lollipop, un nome preso da una corsa di cavalli: la Lolly pop, per l'appunto. La dodicesima versione di Android è caratterizzata da un rinnovamento e da una semplificazione dell'aspetto e del design (Material Design) dell'interfaccia, dal funzionamento multischermo e multi-dispositivo, dalla visualizzazione delle notifiche sulla schermata di blocco. La quota di mercato restò invariata attestandosi sul valore del 76%;

  • Marshmallow. Versione 6.0 di Android, rilasciata nell'ottobre 2015. Sono dei cilindretti di zucchero, di solito di colore bianco, morbidi al tatto. Sono conosciuti in italiano anche come toffolette o cotone dolce. Sono la forma evoluta di un dolce originario dagli Stati Uniti. La undicesima versione di Android è caratterizzata da un design ancora più essenziale rispetto alla versione precedente, da un miglioramento della funzione Now on Tap di assistenza che consente a Google Now di fare ricerche intelligenti anche all'interno delle app, da una gestione puntuale delle autorizzazioni delle applicazioni, da un utilizzo più intelligente della batteria implementando le funzioni di sospensione e standby delle applicazioni, il supporto USB di tipo C.La quota di mercato aumentò ulteriormente raggiungendo il valore di 80%;

  • Nougat. Versione 7.0 di Android, rilasciata ad agosto 2016. Inizialmente si pensava che Google avrebbe scelto il marchio italiano Nutella per codificare questa versione. Invece la scelta si rivelò per questo dolce a base di mandorle tritate e zucchero caramellato o miele, simile al torrone. La dodicesima versione di Android è caratterizzata dall'utilizzo contemporaneo di due o più lingue, dalla visualizzazione contemporanea di due app (split-screen) e dal passaggio rapido da una app all'altra con il doppio tocco, da una grafica 3D potenziata (API Vulkan), dalla modalità realtà virtuale (Daydream), dal risparmio energetico durante gli spostamenti, e da tanti altri miglioramenti che vertono a migliorare l'esperienza dell'utente.

  • Oreo. Versione 8.0 di Android, rilasciata nell'agosto 2017. Il nome deriva dal celebre biscotto al cacao con ripieno di crema alla vaniglia prodotto da Mondelēz International con il marchio Oreo. La tredicesima versione di Android è caratterizzata dall'avvio più rapido del sistema, dalla modalità Picture-in-Picture, che consente di visualizzare un video in una finestra ridotta mentre si utilizzano altre applicazioni, dall'introduzione dei canali di notifica, da un miglioramento dell'autonomia grazie a limiti più severi per le applicazioni in background, dal riempimento automatico delle password e da una maggiore sicurezza del sistema.

  • Pie. Versione 9.0 di Android, rilasciata nell'agosto 2018. La pie è una tradizionale torta di origine anglosassone, preparata con un involucro di pasta e un ripieno dolce a base di frutta, creme o altri ingredienti. È l'ultima versione di Android ad essere identificata pubblicamente con il nome di un dolce. La quattordicesima versione di Android è caratterizzata dall'introduzione dell'intelligenza artificiale per adattare automaticamente la luminosità dello schermo e il consumo della batteria alle abitudini dell'utente (Adaptive Battery e Adaptive Brightness), dalla nuova navigazione gestuale, dal Digital Wellbeing per monitorare il tempo trascorso sullo smartphone e da un sistema di sicurezza ulteriormente migliorato.

  • Android 10. Versione 10, rilasciata nel settembre 2019. A partire da questa versione Google ha deciso di abbandonare ufficialmente i nomi dei dolci, scegliendo una numerazione più semplice e facilmente comprensibile in tutto il mondo, pur continuando ad utilizzare internamente nomi ispirati ai dessert. Android 10 introduce il tema scuro (Dark Theme) esteso all'intero sistema operativo, una gestione ancora più rigorosa delle autorizzazioni delle applicazioni e della privacy, il supporto agli smartphone pieghevoli e alle reti 5G, una navigazione completamente gestuale e gli aggiornamenti di sicurezza distribuiti attraverso Google Play.

  • Android 11. Versione 11, rilasciata nel settembre 2020. La sedicesima versione di Android introduce una gestione più efficiente delle conversazioni, organizzate in un'apposita sezione delle notifiche, le "chat bubbles" per continuare una conversazione sopra qualsiasi applicazione, un nuovo pannello dedicato ai dispositivi della smart home, controlli più dettagliati sulle autorizzazioni concesse alle applicazioni e la possibilità di concedere autorizzazioni temporanee valide per una sola sessione.

  • Android 12. Versione 12, rilasciata nell'ottobre 2021. Questa versione rappresenta uno dei più importanti rinnovamenti grafici della storia di Android grazie al nuovo linguaggio di progettazione Material You, che consente al sistema di adattare automaticamente colori e tema allo sfondo scelto dall'utente. Introduce inoltre nuove animazioni, una dashboard dedicata alla privacy, indicatori che segnalano l'utilizzo di fotocamera e microfono e numerosi miglioramenti in termini di prestazioni, sicurezza ed efficienza energetica.

  • Android 13. Versione 13, rilasciata nell'agosto 2022. La diciottesima versione di Android amplia ulteriormente le possibilità di personalizzazione dell'interfaccia, introduce il supporto alle lingue impostabili per singola applicazione, migliora la gestione delle notifiche richiedendo il consenso dell'utente, rafforza la tutela della privacy e ottimizza il supporto ai dispositivi di grandi dimensioni come tablet e smartphone pieghevoli.

  • Android 14. Versione 14, rilasciata nell'ottobre 2023. Android 14 migliora ulteriormente l'accessibilità, la sicurezza e l'efficienza energetica. Introduce nuove opzioni di personalizzazione della schermata di blocco, caratteri ancora più grandi per gli utenti con difficoltà visive, un controllo più rigoroso sulle applicazioni installate, il supporto nativo ai formati fotografici HDR e ulteriori ottimizzazioni per smartphone pieghevoli e tablet.

  • Android 15. Versione 15, rilasciata nell'ottobre 2024. Questa versione è orientata soprattutto al perfezionamento dell'esperienza d'uso piuttosto che a un profondo rinnovamento grafico. Introduce uno spazio privato (Private Space) per proteggere applicazioni e dati sensibili, migliora il multitasking sui dispositivi con schermo di grandi dimensioni, amplia il supporto alla connettività satellitare, ottimizza la gestione della batteria e rafforza ulteriormente i meccanismi di sicurezza e protezione della privacy.

  • Android 16. Versione 16, rilasciata nel giugno 2025. Android 16 pone particolare attenzione all'integrazione dell'intelligenza artificiale nei servizi di sistema, al miglioramento delle notifiche in tempo reale, all'ottimizzazione dell'esperienza sui dispositivi pieghevoli e ai tablet, alla fotografia computazionale e all'efficienza energetica. Introduce inoltre nuove API dedicate agli sviluppatori, miglioramenti nell'accessibilità e un sistema di aggiornamenti ancora più rapido e modulare.

----------
ultimo aggiornamento: 5/8/2026

~ o ~

§3. Android SDK

Uno degli strumenti più diffusi per sviluppare applicazioni destinate ai dispositivi Android è l'Android Software Development Kit (Android SDK), l'insieme di librerie, strumenti e componenti software che Google mette gratuitamente a disposizione degli sviluppatori. L'SDK costituisce il principale ambiente di sviluppo della piattaforma Android e consente di progettare, realizzare, testare e distribuire applicazioni destinate a smartphone, tablet, smartwatch, televisori, sistemi di infotainment per automobili e numerosi altri dispositivi basati sul sistema operativo Android.

L'Android SDK viene normalmente utilizzato insieme all'ambiente di sviluppo integrato Android Studio, oggi IDE ufficiale di Google, che mette a disposizione un editor evoluto, strumenti di debugging, emulatori virtuali, profiler delle prestazioni, sistemi di gestione delle dipendenze e numerose funzionalità per facilitare l'intero ciclo di sviluppo del software. Grazie a questi strumenti lo sviluppatore può simulare il funzionamento dell'applicazione su dispositivi con differenti dimensioni dello schermo, versioni del sistema operativo e configurazioni hardware, individuando eventuali problemi prima della distribuzione.

Le applicazioni Android sono state tradizionalmente sviluppate utilizzando il linguaggio Java, ma oggi Google promuove principalmente Kotlin, un linguaggio moderno, completamente interoperabile con Java, più conciso e progettato per ridurre molti degli errori più comuni nella programmazione. Rimane comunque possibile utilizzare Java, mentre per applicazioni che richiedono elevate prestazioni è disponibile anche l'Android Native Development Kit (NDK), che consente di sviluppare alcune componenti in linguaggi come C e C++.

Una volta scritto il programma, il codice sorgente viene compilato e trasformato in un formato eseguibile comprensibile dal sistema operativo Android. Contrariamente a quanto avviene nelle applicazioni Java tradizionali, Android non utilizza la classica Java Virtual Machine (JVM). Le prime versioni del sistema operativo impiegavano infatti la Dalvik Virtual Machine, progettata specificamente per dispositivi mobili con limitate risorse hardware. A partire da Android 5.0 Lollipop, Dalvik è stata sostituita da Android Runtime (ART), un ambiente di esecuzione più efficiente che utilizza tecniche di compilazione avanzate per migliorare le prestazioni delle applicazioni, ridurre i tempi di avvio, ottimizzare il consumo energetico e rendere più fluida l'esperienza dell'utente.

L'Android SDK comprende inoltre numerose API (Application Programming Interface) che permettono alle applicazioni di accedere alle funzionalità offerte dal dispositivo, come fotocamera, GPS, sensori di movimento, Bluetooth, NFC, rete cellulare, Wi-Fi, memoria, notifiche e servizi cloud. Grazie a queste librerie gli sviluppatori possono realizzare applicazioni sempre più sofisticate, integrando funzionalità di geolocalizzazione, intelligenza artificiale, realtà aumentata, riconoscimento vocale, pagamenti digitali e comunicazione con dispositivi dell'Internet of Things.

L'insieme di Android SDK, Android Studio, delle API di sistema e degli strumenti di testing costituisce oggi uno degli ecosistemi di sviluppo mobile più completi e maturi disponibili, contribuendo in modo determinante al successo di Android e alla nascita di milioni di applicazioni distribuite attraverso il Google Play Store.
----------
ultimo aggiornamento: 5/8/2026

~ o ~

§4. La Davik Virtual Machine

Uno degli elementi che hanno contribuito al successo di Android è stata la progettazione di un ambiente di esecuzione specificamente pensato per i dispositivi mobili. Sebbene le applicazioni Android siano state inizialmente sviluppate principalmente utilizzando il linguaggio Java, esse non sono mai state eseguite direttamente dalla tradizionale Java Virtual Machine (JVM) impiegata nei computer desktop o nei server. Le esigenze dei dispositivi mobili erano infatti profondamente diverse: smartphone e tablet disponevano di processori meno potenti, quantità di memoria molto limitate, capacità di archiviazione ridotte e, soprattutto, dovevano contenere al minimo il consumo energetico per preservare la durata della batteria.

Per soddisfare questi requisiti, Google affidò all'ingegnere Dan Bornstein la progettazione di una nuova macchina virtuale, denominata Dalvik Virtual Machine (Dalvik VM). Il nome "Dalvik" deriva dall'omonimo villaggio islandese nel quale avevano origine alcuni familiari del progettista. Dalvik fu sviluppata espressamente per Android e rappresentò una soluzione innovativa rispetto alla classica JVM.

A differenza della Java Virtual Machine tradizionale, Dalvik non esegue direttamente il bytecode Java contenuto nei file .class. Durante la compilazione, infatti, le classi Java vengono convertite in un formato specifico denominato DEX (Dalvik Executable), progettato per occupare meno memoria e consentire una gestione più efficiente delle risorse hardware. Più classi vengono inoltre raccolte in un unico file, riducendo lo spazio occupato e migliorando i tempi di caricamento delle applicazioni.

Dalvik è una macchina virtuale di tipo register-based, cioè basata su registri interni, mentre la JVM tradizionale utilizza un'architettura stack-based fondata su una pila di esecuzione. Questa differenza progettuale consente generalmente di ridurre il numero di istruzioni necessarie per eseguire un programma, migliorando l'efficienza e rendendo Dalvik particolarmente adatta ai dispositivi mobili, nei quali ogni ciclo di elaborazione e ogni milliwatt di energia rappresentano una risorsa preziosa.

Con l'evoluzione dell'hardware e l'aumento delle prestazioni degli smartphone, Google ha continuato a perfezionare l'architettura del sistema. A partire da Android 5.0 Lollipop (2014), Dalvik è stata definitivamente sostituita da Android Runtime (ART), un nuovo ambiente di esecuzione che utilizza tecniche di compilazione più avanzate e garantisce tempi di avvio inferiori, maggiore fluidità delle applicazioni, migliori prestazioni complessive e un utilizzo più efficiente della batteria. Nonostante ciò, Dalvik rimane una tappa fondamentale nella storia di Android, poiché ha dimostrato come fosse possibile adattare il paradigma della programmazione Java ai vincoli dei dispositivi mobili, contribuendo in maniera decisiva alla diffusione del sistema operativo e alla nascita del più vasto ecosistema di applicazioni mobili al mondo.
----------
ultimo aggiornamento: 5/8/2026

~ o ~

§5. Valori identitari

Android deve il suo straordinario successo non soltanto alle sue caratteristiche tecniche, ma soprattutto ad alcuni valori identitari che ne hanno guidato lo sviluppo fin dalla nascita. Apertura, collaborazione, innovazione e diffusione globale rappresentano gli elementi che hanno trasformato Android nel sistema operativo mobile più utilizzato al mondo.

Open source. Il principale punto di forza di Android è la sua natura open source. Gran parte del sistema operativo è distribuita attraverso il progetto Android Open Source Project (AOSP), il cui codice sorgente è liberamente consultabile, modificabile e riutilizzabile dagli sviluppatori e dai produttori di dispositivi. Questo modello aperto ha favorito una crescita estremamente rapida dell'ecosistema Android, permettendo a migliaia di aziende, università, centri di ricerca e sviluppatori indipendenti di contribuire al suo miglioramento. L'approccio open source ha inoltre favorito la nascita di numerose versioni personalizzate del sistema operativo, adattate a smartphone, tablet, televisori, smartwatch, sistemi per l'automobile e dispositivi Internet of Things, dimostrando una straordinaria capacità di adattamento a contesti molto diversi tra loro.

Google. Un altro elemento fondamentale dell'identità di Android è il ruolo svolto da Google, che nel 2005 acquisì la società Android Inc. intuendone le enormi potenzialità. Da allora l'azienda ha investito ingenti risorse economiche, tecnologiche e organizzative nello sviluppo della piattaforma, garantendone continuità, innovazione e diffusione su scala mondiale. Oltre a coordinare l'evoluzione del sistema operativo, Google ha costruito intorno ad Android un vasto ecosistema di servizi, tra cui Google Play, Google Maps, Gmail, Google Drive, Google Foto e l'Assistente Google, contribuendo a offrire un'esperienza sempre più integrata tra dispositivi, applicazioni e servizi cloud. La solidità e la capacità innovativa di Google hanno rappresentato un importante fattore di fiducia sia per i produttori hardware sia per milioni di utenti.

Linux. Android affonda infine le proprie radici nel kernel Linux, uno dei progetti open source più importanti e longevi della storia dell'informatica. Il kernel costituisce il nucleo del sistema operativo e si occupa della gestione delle risorse fondamentali del dispositivo, come processore, memoria, periferiche e sicurezza. Basarsi su Linux ha consentito ad Android di ereditare stabilità, affidabilità, efficienza e portabilità, beneficiando dell'esperienza maturata in decenni di sviluppo da una vastissima comunità internazionale di programmatori. Questo legame con il mondo Linux ha favorito inoltre l'adozione di standard aperti e ha reso possibile l'esecuzione di Android su un'enorme varietà di architetture hardware.

L'unione di questi tre elementi — l'apertura del modello open source, la capacità di innovazione di Google e la solidità tecnologica del kernel Linux — costituisce il fondamento dell'identità di Android. Grazie a questa combinazione il sistema operativo è riuscito ad affermarsi come piattaforma di riferimento per miliardi di dispositivi mobili nel mondo, evolvendosi continuamente senza rinunciare ai principi di collaborazione, interoperabilità e innovazione che ne hanno ispirato la nascita.

~ o ~

§6. Un mondo nuovo

Comprenderete certo che avendo sempre sviluppato applicazioni di visione artificiale installati su personal computer, la possibilità di riversare l'esperienza che ho maturato in questa disciplina su una piattaforma mobile rappresenta una invitante opportunità. Si prospetta un nuovo mondo in cui avere sempre a portata di mano un dispositivo che permetta di fruire delle funzionalità che fino ad ora erano confinate ad una postazione fissa. Lo smartphone infatti ha tutto quello che serve per imbastire una funzionalità di visione artificiale, la cui applicazione è limitata soltanto dalla nostra fantasia e dalla nostra capacità di creare innovazione.

Questa possibilità rappresenta una sfida per ciascuno di noi. Quindi se a te che stai leggendo questo blog viene in mente un'idea e ritieni che le mie competenze possano essere un valido contributo per la realizzazione del tuo progetto, contattami pure: sono sempre a disposizione per condividere la mia esperienza e le mie idee.

In realtà la realizzazione di applicazioni di visione artificiale su smartphone non sarebbe una banale trasposizione da una piattaforma ad un'altra. I dispositivi mobili, infatti, grazie alle altre loro caratteristiche (posizione gps, collegamento internet, accelerometro) offrono altre possibilità il cui limite è solo la nostra fantasia.

~ o ~

§7. Riferimenti utili

  • 1 Android
  • 2 Infografica sulla storia di Android, HDblog
  • 3 Da cupcake a marshmallow, la dolce storia di Android, La Stampa
~ o ~

§8. Più in generale

In questo articolo abbiamo analizzato le potenzialità e le soluzioni innovative del sistema operativo che gestisce tutti i dispositivi mobili Android ripercorrendo le tappe principali della sua storia. Ma se vuoi esaminare il mondo dei sistemi operativi mobile da un punto di vista più generale, verificando le caratteristiche ed i punti di forza anche dei prodotti concorrenti ad Android, come per esempio Apple, allora ti invito a proseguire la consultazione della sezione Learning di Tateo-Blog con la lettura del seguente articolo l'articolo che contiene una breve introduzione dei principali sistemi operativi installati sui dispositivi mobili in circolazione.

I sistemi operativi dei dispositivi mobili

~ o ~

§9. Rimani aggiornato

Se sei interessato agli argomenti trattati nell'articolo corrente e vuoi essere aggiornato sulle mie ultime composizioni che trattano di essi, allora ti invito a registrarti

alla pagina Facebook
"Mobile Devices by Tateo~Blog" (>)

alla bacheca Pinterest
"Mobile Devices by Tateo~Blog" (>)

che ho dedicato appositamente per la condivisione delle modifiche più recenti apportate all'area tematica corrispondente di Tateo~Learning}

~ o ~

§10. Teniamoci in contatto

Mi auguro che tu abbia apprezzato questo post che appartiene alla sezione Learning (>) di Tateo~Blog (>), e che le note e le osservazioni che ho raccolto al suo interno abbiano incontrato il tuo interesse. Se il mio elaborato ha stimolato il tuo interesse ti invito a seguire gli ultimi aggiornamenti del blog sulle seguenti pagine dei social media: 

Tateo~Blog 

     on LinkedIn (link)

     on Facebook (link)


~ o ~ 

§11. Qualcosa su di me

Innanzitutto ti ringrazio per aver visitato una delle pagine del mio blog. Mi chiamo Giovanni Battista Tateo (brevemente Bat) e sono il fondatore e l'autore di un progetto Lifelong Learning Interdisciplinare di cui il blog Tateo~Blog (:::) ne è il mezzo di condivisione. Sono stato in principio un esperto di Informatica, e in seguito sono diventato un Ingegnere Elettronico, specializzato in Automazione Industriale. Sono un appassionato di Intelligenza ArtificialeRealtà VirtualeSimulazione, e sono un esperto di Visione Artificiale applicata all'Automazione Industriale. Attualmente, ed a partire dall'anno 2016, sono impiegato come Proposal Engineer presso la società Mer Mec S.p.A. (:::). Precedentemente, a partire dal 2004, sono stato impiegato, sempre presso la stessa società, come Progettista di Sistemi di Visione Artificiale e di Algoritmi di Elaborazione delle Immagini, applicati in particolare alla Diagnostica Ferroviaria. Sono un sostenitore e promotore dell'apprendimento permanente, dei social network e della condivisione delle conoscenze tramite il web. Se vuoi ulteriori dettagli su di me, visita la pagine About Me (:::).


In seguito puoi trovare i miei riferimenti personali che puoi utilizzare se vuoi contattarmi personalmente, ed i collegamenti ai miei account social che puoi utilizzare per seguirmi e rimanere in contatto con me tramite le reti di social media.

Eng. Tateo Giovanni Battista

    - e-mail: tateogb@libero.it (send e-mail)

    - phone / WhatsApp : (+39) 388 8419726

    - Skype (link)

    - LinkedIn account (link)

    - Facebook account (link)

    - Twitter account (link)

    - Instagram account (link)

    - Pinterest account (link)


-----------------------------------------

(c) Tateo's Interdisciplinary Lifelong Learning Lab (TILLL) 

Prima edizione: 6/11-2016

Ultimo aggiornamento 4/8-2026

Translate

🧠👁️ ResNet50: profondità efficace, by Microsoft Research

  TILLL  / 🏠   HOME  / ... ... ✍️ TateoBlog   👈  SEI QUI ...🎓   Learning  /  🧠  AI  /   Deep Learning / CNN /  👁️ visione artificiale /...

Most popular posts in the last week.