Algoritmo genetico nell'intelligenza artificiale: panoramica, vantaggi e terminologie chiave

Pubblicato: 2020-12-22

Sommario

introduzione

Un algoritmo genetico viene utilizzato per risolvere problemi complicati con un numero maggiore di variabili e possibili risultati/soluzioni. Le combinazioni di diverse soluzioni vengono passate attraverso l'algoritmo basato su Darwin per trovare le soluzioni migliori. Le soluzioni più povere vengono quindi sostituite con la progenie di buone soluzioni.

Tutto funziona secondo la teoria darwiniana, dove solo gli individui più adatti vengono scelti per la riproduzione. Le varie soluzioni sono considerate gli elementi della popolazione e solo le soluzioni più adatte possono riprodursi (per creare soluzioni migliori). Gli algoritmi genetici aiutano a ottimizzare le soluzioni a qualsiasi problema particolare.

L'intero processo degli algoritmi genetici è una simulazione di un programma per computer in cui gli attributi del problema e della soluzione sono trattati come gli attributi della teoria darwiniana. I processi di base coinvolti negli algoritmi genetici sono i seguenti:

  • Una popolazione di soluzioni è costruita per qualsiasi problema particolare. Gli elementi della popolazione competono tra loro per trovare quella più adatta.
  • Gli elementi della popolazione che sono in forma possono solo creare prole (soluzioni migliori).
  • I geni dei genitori più adatti (soluzioni) creano una prole migliore. Pertanto, le soluzioni future saranno migliori e sostenibili.

Lavoro di algoritmi genetici in AI

Il funzionamento di un algoritmo genetico nell'IA è il seguente:

  • I componenti della popolazione, cioè gli elementi, sono definiti come geni negli algoritmi genetici dell'IA . Questi geni formano un individuo nella popolazione (definito anche cromosoma).
  • Viene creato uno spazio di ricerca in cui vengono accumulati tutti gli individui. Tutti gli individui sono codificati all'interno di una lunghezza finita nello spazio di ricerca.
  • A ogni individuo nello spazio di ricerca (popolazione) viene assegnato un punteggio di fitness, che indica la sua capacità di competere con altri individui.
  • Tutti gli individui con i rispettivi punteggi di fitness sono ricercati e mantenuti dall'algoritmo genetico e gli individui con punteggi di fitness elevati hanno la possibilità di riprodursi.
  • I nuovi discendenti stanno avendo migliori "soluzioni parziali" rispetto ai loro genitori. Gli algoritmi genetici mantengono anche dinamico lo spazio dello spazio di ricerca per accumulare le nuove soluzioni (prole).
  • Questo processo viene ripetuto fino a quando i figli non hanno nuovi attributi/caratteristiche rispetto ai loro genitori (convergenza). Alla fine la popolazione converge e solo le soluzioni più adatte rimangono insieme alla loro prole (soluzioni migliori). Viene calcolato anche il punteggio di fitness dei nuovi individui nella popolazione (prole).

Terminologie chiave negli algoritmi genetici

  • Operatore di selezione : questo operatore negli algoritmi genetici nell'IA è responsabile della selezione degli individui con punteggi di fitness migliori per la riproduzione.
  • Operatore crossover: l'operatore crossover sceglie un sito crossover da cui avverrà l'unione. I siti di incrocio in entrambi gli individui disponibili per l'accoppiamento vengono scelti casualmente e formano nuovi individui.
  • Operatore di mutazione : questo operatore nell'algoritmo genetico è responsabile dell'inclusione di geni casuali nella prole per mantenere la diversità ed evitare la convergenza prematura.
  • Convergenza prematura – Se un problema viene ottimizzato rapidamente, significa che la prole non è stata prodotta a molti livelli. Anche le soluzioni non saranno di qualità ottimale. Per evitare una convergenza prematura, nuovi geni vengono aggiunti dall'operatore di mutazione.
  • Allele – Il valore di un particolare gene in un cromosoma è definito allele. L'insieme specificato di alleli per ciascun gene definisce i possibili cromosomi di quel particolare gene.

Leggi: Tipi di algoritmi AI che dovresti conoscere

Benefici e usi degli algoritmi genetici

  • Le soluzioni create attraverso algoritmi genetici sono forti e affidabili rispetto ad altre soluzioni.
  • Aumentano le dimensioni delle soluzioni poiché le soluzioni possono essere ottimizzate su un'ampia scala di ricerca. Questo algoritmo può anche gestire una vasta popolazione.
  • Le soluzioni prodotte dagli algoritmi genetici non si discostano molto modificando leggermente l'input. Riescono a gestire un po' di rumore.
  • Gli algoritmi genetici hanno una distribuzione stocastica che segue le regole di transizione probabilistica, rendendoli difficili da prevedere ma facili da analizzare.
  • Gli algoritmi genetici possono funzionare anche in ambienti rumorosi. Può funzionare anche in caso di problemi complessi e discreti.
  • Grazie alla loro efficacia, gli algoritmi genetici hanno molte applicazioni come reti neurali, logica fuzzy, decodifica di codici, filtraggio ed elaborazione del segnale. Puoi saperne di più sugli algoritmi genetici nell'IA tramite i migliori corsi offerti da upGrad.

Leggi anche: Tipi di algoritmo di classificazione in ML

Perché imparare da upGrad?

upGrad offre vari corsi di intelligenza artificiale affiliati alle migliori università e istituzioni. Questi corsi seguono un approccio innovativo e sono tenuti da docenti esperti. I corsi erogati in AI da upGrad sono i seguenti:

  • Master of Science in Machine Learning & AI affiliato alla Liverpool John Moores University (LJMU).
  • Diploma PG in Machine Learning e AI affiliato a IIIT Bangalore.

I vantaggi di optare per questi corsi su upGrad sono i seguenti:

  • upGrad fornirà anche supporto per il posizionamento se si opta per questi corsi. upGrad collabora con i migliori attori del settore.
  • Otterrai un tutoraggio personalizzato se opti per i corsi di cui sopra.
  • Avrai l'opportunità di scegliere tra molti progetti, casi di studio, incarichi, ecc.
  • Guadagnerai anche lo stato di alumni di LJMU o IIIT Bangalore se opti per questi corsi.
  • Ti imbatterai in sessioni di tutoraggio di esperti del settore per saperne di più sul settore dell'IA.
  • Ti verrà inoltre fornito un mentore professionale tramite upGrad per un supporto completo a 360 gradi.
  • Questi corsi in AI di upGrad riguarderanno anche linguaggi di programmazione, strumenti e database (biblioteche) utilizzati nel settore dell'IA. Avrai anche accesso alla vasta comunità di upGrad.

Conclusione

Gli algoritmi genetici sono un concetto importante nell'IA e sono uno degli algoritmi di intelligenza artificiale più performanti quando si tratta di trovare soluzioni ottimali. Puoi saperne di più su questo argomento optando per i corsi di IA forniti da upGrad tenuti da facoltà esperte. Il corso LJMU su upGrad è di 18 mesi, mentre l'altro è di 12 mesi. Inizia subito ad imparare l'IA!

Se sei interessato a saperne di più sull'apprendimento automatico, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi, IIIT- B Status di Alumni, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Cosa intendi per algoritmo genetico e come è correlato alla biologia?

Gli algoritmi, in generale, sono un insieme di regole o istruzioni che devono essere seguite da un computer o un dispositivo per eseguire un compito particolare o per risolvere un problema. L'algoritmo genetico è un algoritmo evolutivo che si basa su una delle teorie biologiche di Charles Darwin. Si chiama sopravvivenza del più adatto e, secondo questa frase, solo gli organismi che si adattano meglio al loro ambiente hanno possibilità di sopravvivenza e riproduzione. Simile alla teoria, l'algoritmo genetico è un algoritmo iterativo che trova una soluzione che è la migliore tra le soluzioni disponibili per il dispositivo. I cromosomi sono rappresentati da matrici di bit o caratteri in un algoritmo genetico, che implementa il paradigma informatico. Ogni stringa corrisponde ad una possibile soluzione. L'algoritmo genetico quindi modifica i cromosomi più promettenti per ottenere risultati migliori.

Quali sono i casi d'uso nella vita reale degli algoritmi genetici?

Replicando il processo evolutivo di sopravvivenza del più adatto per raggiungere un determinato obiettivo, gli algoritmi genetici affrontano potenzialmente problemi complessi con numerose variabili e un numero enorme di soluzioni alternative. In economia, gli algoritmi genetici rappresentano concetti tra cui la teoria dei giochi, il modello della ragnatela, il prezzo delle risorse e l'ottimizzazione della pianificazione. Sono anche utilizzati per capire come rendere più efficiente la consegna delle merci. Sono impiegati nell'analisi del DNA per determinare la struttura del DNA in base ai dati spettrometrici. Nei problemi di ottimizzazione multimodale, vengono utilizzati per fornire numerose soluzioni ottimali. Sono impiegati nella creazione di progetti di velivoli parametrici. I parametri del velivolo vengono aggiornati e migliorati utilizzando algoritmi genetici per produrre progetti superiori.

Quali sono i limiti dell'algoritmo genetico?

Come qualsiasi altro algoritmo, anche gli algoritmi genetici hanno le proprie limitazioni. La prima limitazione è che questi algoritmi sono computazionalmente costosi perché la valutazione di ogni individuo richiede l'addestramento di un modello. Il secondo problema affrontato con questi algoritmi è che sono inefficaci nell'affrontare problemi minori. Un altro problema con questi algoritmi è che la loro natura stocastica può richiedere molto tempo per convergere e un'implementazione impropria può far convergere l'algoritmo verso un risultato insoddisfacente. Inoltre, in un algoritmo genetico, la qualità della risposta finale non è garantita. In questi algoritmi, il calcolo ripetitivo dei valori più adatti può causare problemi specifici con ostacoli di calcolo.