På att inte skapa kretsar med evolutionära algoritmer

[Henrik] har arbetat med ett program för att stilla elektroniska kretsar som utnyttjar evolutionära algoritmer. Det är fortfarande extremt mycket ett pågående arbete, men han har blivit till den punkten att generera en respektabel BJT-omformare efter 78 generationer (9 minuters beräkning), som visas i .GIF ovan.

För att utveckla dessa kretsar, berättade [Henrik] en smaksimulering för att producera en inverterare med en 5V strömförsörjning, 2N3904 samt 2N3906 transistorer, liksom vilka motstånd som behövdes. De allra första partierna eller så genererade gjorde inte faktiskt någonting, men efter 2000 generationer skapade algoritmen en krets som nästan liknar beskrivningen av en CMOS-inverter som du skulle upptäcka i en kretshandbok.

Att använda utveckling för att styra elektronisk stil är inget nytt; En evolutionär algoritm såväl som ett fåtal bitar av verilog kan göra en FPGA till ett chip som kan berätta skillnaden mellan en 1kHz samt 10kHz-ton med mycket mycket små hårdvarukrav. Det finns också några mycket, extremt udda saker som inträffade i detta experiment; Den evolutionära algoritmen använde saker som är omöjliga för en människa att programmera såväl som räknas på magnetflöde såväl som kvantmuske i FPGA.

[Henrik] säger att hans algoritm inte testade för exakt hur mycket närvarande går med transistorerna, så implementering av denna krets utanför en simulering kommer att förstöra transistorerna såväl som avge en blått rök. Om du vill ha dina egna kretsar som utnyttjar evolutionen, ställde [Henrik] all kod i en git för din perusal. Det är jätte Awesome som det står nu, liksom när [Henrik] innehåller inspektion av närvarande såväl som spänning i varje element kan hans jobb verkligen vara användbart.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post