DHEP consente di ospitare un'isola che esegue un algoritmo genetico in un ambiente coevolutivo al fine di sintetizzare l'elettronica futura super-affidabile come quelle utilizzate nei veicoli autonomi, nelle centrali elettriche, nelle apparecchiature mediche, nell'aerospaziale. Questi sono di importanza sempre più importante in quanto sempre più vite umane si affidano a un hardware ben funzionante.
L'osservazione delle dinamiche della popolazione ci aiuterà anche a capire l'evoluzione, non solo a sfruttarla per raggiungere progetti "migliori di quelli umani", ma anche a capire come i tassi di migrazione, la diversità genetica e i meccanismi interni della ricombinazione genetica siano intervenuto di concerto per raggiungere la biodiversità e la meraviglia degli organismi viventi odierni.
Il progetto simula un'isola con una popolazione di circuiti che lottano per la sopravvivenza in un mondo online ostile. Durante il tempo di inattività dei PC, gli individui di questa popolazione si evolveranno attraverso l'evoluzione artificiale in un processo di sopravvivenza del più mite nei circuiti con Concurrent Error Detection (CED) e competeranno con quelli ospitati su altri PC migrando verso e da essi. Questi circuiti non saranno vincolati da regole progettuali convenzionali poiché l'evoluzione trova soluzioni efficienti senza preoccuparsi di quanto siano complessi da comprendere, proprio come ha fatto con il nostro corpo e il nostro cervello. Puoi unirti a questo cluster di calcolo in un minuto, scaricando il client boinc ed unendoti al progetto. Controlla come la tua popolazione sta facendo meglio rispetto a quelle degli altri e dai un nome alle migliori creazioni se entrano nella hall of fame “meglio dell’umano.
L'hardware di autodiagnostica è in grado di rilevare le deviazioni dal suo comportamento normale a causa di guasti: l’autodiagnostica è importante specialmente in sistemi mission-critical come strumentazione medica, controlli del trasporto e in quegli ambienti rischiosi come le missioni spaziali o le centrali nucleari. L'autotest integrato (BIST) è ampiamente utilizzato, ma in genere richiede più del 100% di sovraccarico dell’area oppure dei test off-line. Tuttavia nei sistemi critici di missione i test off-line non sono adatti perché dobbiamo diagnosticare immediatamente (real time) il fallimento. La soluzione on-line standard è un sistema di votazione con due copie del modulo che deve essere diagnosticato, che è in grado di rilevare immediatamente i guasti confrontando le uscite delle copie. Tuttavia, questa soluzione richiede una ridondanza del 100% per il modulo aggiuntivo, più una maggiore logica per l'elettore (che deve stabilire quale modulo è on-line ed è corretto). Negli ultimi 40 anni di ricerca riguardanti il CED, nata dal programma aerospaziale della NASA, la progettazione convenzionale non ha prodotto un miglioramento significativo del sistema di votazione così come non ne ha prodotto per una soluzione CED on-line. Voi potete aiutarci ad arrivare alla prossima generazione di circuiti auto-diagnostici.
Poiché un numero crescente di compiti mission critical sono automatizzati, i circuiti di autocontrollo sono di fondamentale importanza: come abbiamo visto ci sono applicativi medici (monitor cardiaci, pacemaker, ecc), di trasposto (hardware degli aerei, luci del traffico, l’ABS delle auto, ecc), spaziali (satelliti, sonde) e impianti industriali (centrali atomiche) e molti si aggiungeranno nel futuro, come le auto a guida autonoma, operazioni mediche svolte da remoto, ecc. In tutte queste aree sono a rischio vite umane o grandi perdite economiche. Unendoti a questo progetto, daresti un contributo prezioso ad una interessante ricerca e contribuirai a spingere in avanti i limiti della conoscenza umana. Non solo, ma i circuiti prodotti da questo progetto sono davvero migliori di quelli del design convenzionale, quindi porterebbero a controllori più sicuri in applicazioni mission critical attuali ed emergenti salvando, come detto, vite e denaro.
I Metodi evolutivi come gli algoritmi genetici (GA) o le strategie evolutive (ES) tentano di applicare l'evoluzione darwiniana ad altri campi di ricerca:
1. Codificare il problema come un genotipo binario.
2. Creare una popolazione con genotipi casuali.
3. Valutare tutti gli individui in una popolazione.
4. Selezionare il più adatto per la riproduzione.
5. Creare una nuova popolazione applicando il cross-over a quelli selezionati.
6. Appicare la mutazione di fondo a tutti gli individui della populazione.
7. Tornare al punto 3 e ripetere fino a trovare una soluzione ottimale.
Questo semplice algoritmo è stato applicato a una vasta gamma di problemi, dall'adattamento dei parametri nei modelli economici alla progettazione delle ali degli aeromobili. Uno degli esempi più eclatanti del potere di variazione e selezione cieca è il discriminatore di toni di Adrian Thompson: sfruttando la fisica raffinata di un chip riconfigurabile (FPGA), un design evoluto è stato in grado di distinguere due parole pronunciate utilizzando solamente 100 porte logiche: qualcosa di impensabile con un design convenzionale. Maggiori approfondimenti in New Scientist Cover Story. Vi sono altri esempi in cui i metodi evolutivi applicati all'hardware hanno prodotto circuiti paragonabili a quelli progettati da esperti e anche circuiti non convenzionali in cui le risorse sono utilizzate in modo estremamente efficiente.
L'hardware autodiagnostico che si evolve è stato inizialmente tentato dall'autore per alcuni circuiti giocattolo: un moltiplicatore a due bit e un sommatore un bit. Dopo centinaia di migliaia di generazioni, i circuiti si sono evoluti eseguendo una diagnosi completa utilizzando circa la metà del carico che la soluzione convenzionale avrebbe richiesto. Ad esempio, quando si utilizza la tecnologia a gate logico a due ingressi, è possibile implementare un moltiplicatore a due bit utilizzando 7 porte. Aggiungendo una copia ulteriore e altre 7 porte per confrontare 4 uscite, abbiamo un overhead di 14 gate per la soluzione CED del sistema di voto convenzionale
Dopo quattro milioni di generazioni (un tempo di elaborazione di un mese su un singolo PC) la GA ha trovato un circuito (diagram) con lo stesso comportamento utilizzando solo 9 porte extra. È difficile capire esattamente quali siano i principi operativi alla base del suo funzionamento, ma sembra che tenda a utilizzare più porte XOR che propagano sempre un po’ di capovolgimento in uno dei loro input, e sfruttano anche la diversità del design per confrontare più sezioni del circuito simultaneamente. Molti circuiti evoluti sono descritti e i loro diagrammi possono essere trovati in published papers.
Ciò dimostra che l'evoluzione è in grado di raggiungere aree di spazio progettuale oltre lo scopo del design convenzionale, e anche che queste aree contengono soluzioni efficienti finora invisibili, in attesa di essere svelate. Quanti circuiti di questo tipo l'evoluzione potrebbe trovare, migliori di quelli di oggi? Crediamo che siano ovunque e intendiamo iniziare a cercarli utilizzando un cluster di isole basato sui PC dei volontari.
Perché l'autodiagnosi dell'hardware?
È molto difficile progettare un circuito che produca un comportamento affidabile quando vengono a galla dei difetti, motivo per cui i progettisti umani hanno scelto semplicemente di avere una copia extra dell'intero circuito come soluzione. Tuttavia questo è costoso in termini di potenza e area del silicio, il primo cruciale, ad esempio, nelle missioni spaziali e il secondo nella produzione di massa. I circuiti da dare al cluster per evolvere saranno di dimensioni industriali, come un decodificatore di Viterbi, che viene utilizzato all'interno di ogni telefono cellulare.