ArticlePDF Available

Vztah mezi abstraktním a fyzickým výpočtem v kontextu evolučního návrhu

Authors:

Abstract

Fakulta informačních technologií, Vysoké učení technické v Brně Božetěchova 2, 612 66 Brno sekanina@fit.vutbr.cz Abstrakt Evoluční algoritmy je možné využít pro návrh a realizaci číslicových obvodů, a tedy i výpočetních systémů. Výpočetní systémy navržené a fyzicky realizované evolučními technikami však vykazují vlastnosti, jež nenajdeme v existujících výpočetních systémech, které jsou běžně navrhovány inženýry, ani v systémech živé přírody (jako je např. mozek), jejichž chování je také často interpretováno jako výpočet. Článek shrnuje výsledky experimentů, které ukazují, že evoluční algoritmy mohou pro realizaci požadovaného chování využít fyzikální vlastnosti cílové platformy a vlastnosti prostředí (vysoká teplota, radiace), ve kterém je platforma umístěna. Obecně není možné zjistit, jak a proč vyevolvované řešení funguje. Stávající teorie implementace, které řeší vztah mezi abstraktním a fyzickým počítáním, jsou potom zproblematizovány.
305
Vztah mezi abstraktním a fyzickým výpočtem v kontextu evolučního návrhu
Lukáš Sekanina
Fakulta informačních technologií, Vysoké učení technické v Brně
Božetěchova 2, 612 66 Brno
sekanina@fit.vutbr.cz
Abstrakt
Evoluční algoritmy je možné využít pro návrh a realizaci
číslicových obvodů, a tedy i výpočetních systémů.
Výpočetní systémy navržené a fyzicky realizované
evolučními technikami však vykazují vlastnosti, jež
nenajdeme v existujících výpočetních systémech, které
jsou běžně navrhovány inženýry, ani v systémech živé
přírody (jako je např. mozek), jejichž chování je také
často interpretováno jako výpočet. Článek shrnuje
výsledky experimentů, které ukazují, že evoluč
algoritmy mohou pro realizaci požadovaného chování
využít fyzikální vlastnosti cílové platformy a vlastnosti
prostředí (vysoká teplota, radiace), ve kterém je platforma
umístěna. Obecně není možné zjistit, jak a proč
vyevolvované řešení funguje. Stávající teorie
implementace, které řeší vztah mezi abstraktním a
fyzickým počítáním, jsou potom zproblematizovány.
1 Úvod*
Evoluční algoritmy (EA) se tradičně využívají v oblasti
optimalizace. V posledních letech však můžeme
pozorovat velký nárůst publikací popisujících použití EA
v úloze kreativního návrhu. Evolučně jsou navrhovány
programy, elektronické obvody, optické či mechanické
systémy nebo umělecké artefakty [2]; prakticky cokoliv,
co může být reprezentováno pomocí řetězce symbolů a
tedy v počítači. Kandidátní řešení jsou nejčastěji
ohodnocována pomocí simulátoru, který je vytvořen
expertem v daném oboru. V některých případech je do
procesu evaluace začleněn člověk – jeho zkušenost či
estetické cítění.
Zajímavější situace nastává, pokud jsou
kandidátní řešení ohodnocována bez použití simulátoru,
přímo v reálném prostředí. V oblasti vyvíjejících se
obvodů (evolvable hardware) [5] je možné použít tzv.
rekonfigurovatelné obvody. Jedná se o pole
Tato práce byla částečně podporována z projektu Návrh a
obvodová realizace zařízení pro automatické generování
patentovatelných invencí, GAČR 102/07/0850 a z výzkumného
záměru Výzkum informačních technologií z hlediska bezpečnosti
MSM 21630528.
programovatelných elementů jejichž funkce, propojení a
připojení vstupů/výstupů je definováno obsahem
konfigurační paměti. Tato paměť je nejčastěji typu RAM
a její obsah může být relativně rychle měněn. Obsah této
paměti ovládá programovatelné propojky, které určují
funkci zařízení. Kandidátní jedinec, se kterým pracuje
EA, potom představuje buď přímo konfiguraci
rekonfigurovatelného obvodu nebo předpis, jak vytvořit
kandidátní konfiguraci. Ve fitness funkci je následně
testováno, do jaké míry plní kandidátní obvod
požadavky zadané uživatelem. Např. se spočítá, pro kolik
vstupních kombinací správně pracuje kandidátní
kombinaččíslicový obvod.
Uvedený postup má několik výhod: (1) Evoluč
proces je obvykle výrazně rychlejší než při použití
simulátoru, který běží v PC. (2) Pokud je EA
implementován přímo v cílové aplikaci, může zajišťovat
dynamickou adaptaci na měnící se okolní podmínky,
popř. znovuobnovit činnost zařízení, pokud dojde
k poškození části čipu. (3) EA může objevit nové
implementace zadaného problému, které mohou být
principielně mimo prostor řešení, které je expert v daném
oboru vůbec schopen vymyslet [15]. Jako příklad
můžeme uvést patentovatelné analogové a číslicové
obvody nebo antény vyevolvované pomocí genetického
programování [8].
Protože evoluční design probíhá v reálném
fyzickém prostředí (v konkrétním čipu, za určité teploty,
při existenci určitého šumu, elektromagnetického záření,
při jistém kolísání napájecího napětí apod.), může dojít
k nalezení řešení, které je perfektně adaptováno pro daný
čip, prostor a čas. Adrian Thompson jako první ukázal, že
je EA schopen najít velmi inovativní (a nepochopitelná)
řešení, která jsou mimo dosah konvenčních návrhových
technik a která nefungují pokud jsou přemístěna
z prostředí, kde vznikla [15].
Protože můžeme evolučně konstruovat
elektronické obvody, můžeme rovněž konstruovat
výpočetní systémy, přesněji řečeno, fyzická výpočetní
zařízení. V tomto článku ukážeme, že výpočetní systémy
navržené a fyzicky realizované evolučními technikami
vykazují vlastnosti, jež nenajdeme v existujících
výpočetních systémech, které jsou běžně navrhovány
inženýry. Evolucí navržené systémy provádě
306
požadované výpočty, ale často není možné rozpoznat, jak
a na jakém principu pracuje fyzická implementace.
Důvodem je fakt, že evoluce využívá pro konstrukci
těchto zařízení fyzikální a chemické vlastnosti materiálů,
ze kterých jsou zařízení realizována, a různé okamžité
charakteristiky prostředí, jako jsou např. teplota,
elektromagnetické pole atd. Podobně je tomu např. u
mozku, který je adaptován na určité prostředí a pouze
v tomto prostředí funguje. Chování mozku lze také
interpretovat jako výpočetní proces, ale doposud přesně
nevíme, jak je tento „výpočet“ prováděn. Problémem tedy
je, že neexistuje abstraktní model výpočtu a zobrazení
mezi abstraktním výpočetním procesem a jeho fyzickou
implementací. Můžeme se ptát, zda lze vůbec považovat
evolucí vytvořená výpočetní zařízení za výpočetní
mechanismy (computing mechanisms [10]) ve smyslu
např. Turingova stroje.
V příspěvku budou představena různá
rekonfigurovatelná výpočetní zařízení, pomocí kterých
můžeme uvedené jevy demonstrovat. Budeme
charakterizovat třídu evolučně navržených výpočetních
zařízení z pohledu existujících výpočetních zařízení
navržených konvenční cestou a z pohledu živých
systémů, které existují v přírodě a jimž často rovněž
přisuzujeme výpočetní schopnosti.
2 Evoluční návrh
Evoluční algoritmy jsou stochastické prohledávací
algoritmy inspirované Darwinovou teorií evoluce a
neodarwinismem [9]. Kandidátřešení je
reprezentováno řetězcem symbolů, který v EA nazýváme
chromozom nebo genotyp. Kvalitu kandidátního jedince
určuje fitness funkce, která ohodnotí kandidátní
fenonotyp vytvořený z příslušného genotypu. Ve fitness
funkci je reprezentována specifikace problému, který se
má pomocí EA řešit. Oproti jiným algoritmům evoluč
algoritmy pracují s populací kandidátních řešení a nová
kandidátní řešení vytváří pomocí geneticky inspirovaných
operací (mutace, křížení apod.), které pracují nad
chromozomy. Selekční tlak vede evoluci k výhodnějším
částem prostoru možných řešení.
EA pracuje následovně: nejdříve je vygenerována
počáteční populace, která je ohodnocena pomocí fitness
funkce. Dále, dokud není splněna ukončující podmínka,
se provádí následující kroky:
Ze staré populace se vytvoří pomocí genetických
operátorů nová populace.
Nová populace se ohodnotí.
Je tedy zřejmé, že oproti konvenčnímu návrhu je evoluč
návrh založen na procesu „vygeneruj řešení a otestuj ho“.
Důležité je, že změna probíhající v kandidátním řešení je
náhodná. Naopak, konvenční přístup modifikuje
existující řešení s určitou představou o výsledku, obvykle
podle dobře definovaného a zavedeného postupu a tedy
s určitým cílem.
Obrázek 1 ukazuje princip evolučního návrhu
elektronického obvodu s využitím rekonfigurovatelného
zařízení. Pokud je každý kandidátní obvod ohodnocen ve
fyzickém rekonfigurovatelném zařízení, označujeme
tento přístup za vlastní evoluci (intrinsic evolution).
Pokud je k evaluaci použit simulátor obvodů, jedná se o
nevlastní evoluci (extrinsic evolution) [6]. Pokud EA
pracuje přímo na úrovni konfiguračního řetězce
rekonfigurovatelného obvodu, potom odpadá fáze
„transformace“, tj. vytvoření konfigurace obvodu podle
chromozomu.
Evaluace kandidátního řešení představuje
proces, který nejvíce ovlivňuje dobu evoluce a vůbec
efektivitu celého návrhu. Je tedy snaha ji redukovat.
Evaluace kandidátního analogového obvodu provedená
v rekonfigurovatelném obvodu může být o několik řádů
rychlejší než simulátor. Obvykle se používají simulátory
z rodiny Spice, které simulují přesně, ale pomalu. Pokud
navrhujeme číslicové obvody na úrovni hradel, můžeme
v některých případech simulaci obvodu výrazně urychlit
„předpočítáním“ určitých hodnot, popř. paralelní
simulací. Zde však platí, že s každým přidaným vstupem
se nám doba evaluace zdvojnásobí, pokud ohodnocujeme
všechny možné kombinace na vstupech. Proto je tento
přístup použitelný pouze pro případy, kdy je počet vstupů
malý. Pro složitější obvody musíme definovat trénovací
množinu vstupních vektorů, která se použije pro evaluaci,
a na konci evoluce ověřit výsledné řešení pomocí
testovací množiny. Vzhledem k tomu, že není
garantováno, že navržený obvod bude pracovat správně
pro všechny možné kombinace na vstupech, je třída
aplikací této techniky omezena. Typickou aplikací je
zpracování signálů a obrazů [12].
evoluč
algoritmus
vyhodnocení
fitness
Rekonfiguro-
vatelný
obvod
chromozom konfigurač
řetězec
transformace
rekonfigurace
fitness
hodnota
stimuly
odezva
evoluč
algoritmus
vyhodnocení
fitness
Rekonfiguro-
vatelný
obvod
chromozom konfigurač
řetězec
transformace
rekonfigurace
fitness
hodnota
stimuly
odezva
Obr. 1. Evoluční návrh obvodů
Dalšími faktory, které ovlivňují dobu evaluace
kandidátního obvodu, jsou doba rekonfigurace obvodu a
307
doba nutná pro výpočet fitness hodnoty z naměřených
dat. Doba nutná pro vytvoření nové populace pomocí
genetických operátorů je většinou zanedbatelná.
3 Evoluce ve fyzickém prostředí
Tato kapitola shrnuje některé příklady evolučního návrhu,
kdy jsou kandidátní řešení ohodnocována ve fyzickém
zařízení, které je umístěno v reálném prostředí. První
pokus tohoto typu provedl Higuchi, který vyevolvoval 6-
vstupový multiplexor v programovatelném logickém poli
[5]. My se zaměříme zejména na ty případy, kdy evoluce
k nalezení řešení využívá konkrétní vlastnosti platformy
(a popř. okamžitého stavu prostředí), což je nemožné u
běžného návrhu.
3.1 Evoluce tónového detektoru v FPGA
Cílem experimentu A. Thompsona bylo nalezení obvodu,
který pracuje jako tónový diskriminátor
v programovatelném hradlovém poli (FPGA) [15]. Jedná
se o obvod typu XC6216, který obsahuje pole
programovatelných elementů. Každý z nich může být
naprogramován tak, aby prováděl jednu logickou funkci
tří vstupů. Dále je možné naprogramovat propojení těchto
elementů a připojení vstupů a výstupů. Výrobce
předpokládá, že obvod bude používán výhradně pro
konstrukci číslicových systémů konvenčním způsobem a
neočekává, že by elementy obvodu pracovaly jako
analogové komponenty.
Cílový obvod má generovat log. 1, pokud je
vstupní signál nastaven na frekvenci 10 kHz a log. 0,
pokud je vstupní signál nastaven na frekvenci 1 kHz.
Evoluce byla prováděna přímo na úrovni konfiguračního
řetězce. Mohly tak vzniknout netradiční asynchronní
obvody a dokonce obvody, které je vhodnější označit
raději za analogové než digitální. Zajímavé je, že
programovatelné elementy XC6216 mají zpoždění v
jednotkách ns, kdežto požadované chování je na úrovni
ms. Fitness funkce maximalizuje rozdíl mezi průměrným
napětím na výstupu pro sérii vstupů s frekvencí 1 kHz a
sérii vstupů s frekvencí 10 kHz.
Nalezené řešení je asynchronní, používá jen
několik málo programovatelných elementů (konvenč
řešení by bylo výrazně složitější), vykazuje netypické
zpětné vazby a využívá vlastnosti konkrétního materiálu,
což je naprosto nevídané na této platformě určené pro
číslicové obvody. Do dnešní doby se nepodařilo přesně
zjistit, jak a proč tento obvod funguje! Bylo zjištěno, že
když se nalezená konfigurace nahraje do jiného FPGA
(ovšem stejného typu), pak obvod nefunguje. Pokud se
podle architektury FPGA a této konfigurace vytvoří
model nalezeného obvodu pro simulátor, simulace
nedávají správné výsledky.
Výsledek byl interpretován tak, že je EA
schopen využít pro řešení problému i ty vlastnosti
platformy (např. chemické a fyzikální vlastnosti
konkrétního polovodiče) a prostředí (teplotu,
elekromagnetismus, …), které běžný návrhář neuvažuje.
Vzniká problém portability (přenositelnosti): řešení
pracuje jen na platformě, kde bylo vyevolvováno a jen při
okolních podmínkách, které existovaly během evoluce.
Thompson dále ukázal, že je možné evolučně v několika
málo generacích „doladit“ řešení, které bylo nalezeno pro
čip A, i pro čip B (stejného typu). Robustní řešení je také
možné získat tak, že kandidátní obvody budeme během
evoluce trénovat v různých prostředích a na různých
platformách.
Popsaný experiment demonstruje, že evoluč
design umí něco, co člověk jako designér dobře nedokáže
– precizně konfigurovat určité fyzikální systémy. Tento
experiment byl motivací pro další výzkumníky.
Thompsonova disertace popisující uvedené výsledky byla
po zásluze publikována jako monografie v prestižní edici
„Springer's distinguished dissertations series” [15].
3.2 Evoluce v extrémním prostředí
FPTA-2 je programovatelné pole tranzistorů, které
obsahuje 64 programovatelných buněk. Buňky je možné
programovat a propojovat pomocí vhodné konfigurace.
Každá z buněk obsahuje 14 tranzistorů a 77 propojek.
Tento obvod byl použit výzkumným týmem z NASA JPL
pro evoluční návrh analogových i digitálních obvodů
[13]. Zejména byl zkoumán vliv extrémního prostředí
(teplota, radiace) na obvody vytvořené v FPTA-2 a
schopnost evoluce opravit obvody poškozené tímto
prostředím.
Chromozom opět přímo reprezentuje
konfigurač řetězec FPTA-2. Jedna buňka je
konfigurována pomocí 77 bitů, které jsou zaslány do
FPTA v pěti 16b slovech (16b/5MHz). Ohodnocení
kandidátního obvodu probíhá tak, že počítač generuje
stimuly pro FPTA (např. při evoluci logického členu
NAND generuje každou ze 4 vstupních kombinací po
dobu 1 µs), potom čte výstup FPTA, převede ho do
digitální podoby a vypočítá fitness hodnotu. EA se snaží
minimalizovat rozdíl mezi hodnotou změřenou na
výstupu FPTA a požadovanou hodnotou pro K vzorků
získaných během evaluace (v našem příkladu je to např.
200 vzorků získaných během 4 µs).
Při evoluci na úrovni tranzistorů je mnohem
jednodušší pozorovat vliv různých externích faktorů na
výsledek evoluce než na úrovni logických členů. Častým
jevem je např. situace, kdy evolučně navržený logický
člen NAND pracuje korektně pouze při té frekvenci, která
byla použita při výpočtu fitness hodnoty.
308
Za extrémní pro elektroniku považujeme teploty
mimo rozsah -65ºC až 125ºC [3]. Při nízkých teplotách je
nedostatek nosičů v polovodičích (protože dopanty
nejsou dostatečně ionizovány). Při vysokých teplotách
přestává pracovat PN přechod, nekontrolovaně přes něho
protéká proud. Radioaktivní záření způsobuje u CMOS
tranzistoru změnu závislost proudu Id na napětí hradla,
což může mít neodstranitelný vliv, pokud je obvod
vystaven určité dávce. SEU (Single Event Upset) je
naopak jev dočasný, kdy dochází k náhodnému
překlopení bitu paměti. Nahráním původní informace do
paměti dojde k opravě poruchy. Tradičně se funkce
elektroniky v extrémním prostředí, které je typické pro
vesmírné aplikace, zajišťuje zaváděním různých
kompenzačních obvodů nebo použitím speciálních
materiálů.
Experimentálně bylo prokázáno, že EA může
obnovit funkci obvodu (např. logického hradla, DA
převodníku apod.) vytvořeného a funkčního při pokojové
teplotě, který je následně vystaven vlivu extrémního
prostředí a přestává v něm pracovat. Toto extrém
prostředí způsobuje, že komponenty použité v obvodu se
stávají komponentami s jinými elektrickými vlastnostmi.
A EA z těchto pozměněných komponent sestaví nové
řešení. Jednalo se o znovuobnovení funkce pro nízké
teploty (do -189ºC [17]), vysoké teploty (do 300ºC [13])
a radioaktivní záření (do kumulativního ozáření 250 krad
[14]). Kromě standardních technik je tedy opravu obvodu
možné zajistit i vhodnou rekonfigurací.
3.3 Evoluce in materio
Při studiu experimentu A. Thompsona si J. Miller
uvědomil, že EA může být velmi dobrým nástrojem pro
automatickou „konfiguraci“ vhodného materiálu tak, aby
prováděl požadovanou funkci – vznikl tak koncept
evoluce in materio [4].
Jeden z navržených scénářů vypadá takto: Na
vhodný materiál jsou na určitá místa připojeny elektrody,
jejichž prostřednictvím je aplikováno elektrické
konfigurační napětí. Při vhodně nastavených hodnotách
konfiguračního napětí dochází ke změnám materiálu na
molekulární úrovni. Byly testovány různé materiály. Pro
experiment byl vybrán LCD displej. Je známo, že
orientaci molekul kapalných krystalů je možné řídit
elektrickým polem. Změna orientace těchto molekul
potom mění optické a elektrické vlastnosti kapalných
krystalů. Cílem evoluce je tedy najít taková konfigurač
napětí, která způsobí takovou konfiguraci kapalných
krystalů, že budou provádět požadovanou funkci.
Podařilo se vyevolvovat různá chování, např. již zmíně
tónový diskriminátor, logické obvody nebo kontrolér pro
robota [4].
Zde je nutné poznamenat, že není znám
konvenční způsob, kterým by bylo možné takto materiál
„nakonfigurovat“. Tento výsledek je významný z pohledu
stále intenzivnějšího výzkumu v oblasti nanotechnologií,
kdy se výzkumníci snaží různými technikami řídit
vlastnosti a chování materiálů na úrovni atomů a molekul.
V oblasti molekulární elektroniky vznikla
platforma nazvaná NanoCell, což je pole sebesetavujících
se kovových částic propojených molekulárními přepínači
[16]. Na určitá místa jsou připojeny elektrody,
prostřednictvím kterých je možné aplikovat proudové
pulsy a tím měnit konfiguraci NanoCell. Dochází ke
změnám voltampérové charakteristiky molekuly
nitroanilinu a tím i ke změně chování NanoCell. Pomocí
EA byly na této platformě vytvořeny různé obvody, např.
logická hradla.
3.4 Evoluce kvantových chování
Bartels se zabýval tvarováním laserových pulsů s cílem
optimalizovat kvantové interference v dutém vlnovodu o
průměru 175 µm, který byl naplněn argonem [1].
Tvarování bylo umožněno použitím deformovatelného
zrcadla, jehož parametry byly hledány EA. Při tomto
procesu vzniká řada harmonických. Některé měly být
zvýrazněny, jiné potlačeny. Při experimentu bylo
vygenerováno mnoho dat, která byla následně
analyzována a porovnána s teoretickými predikcemi. Byla
zjištěna chování, o kterých se doposud vědci domnívali,
že nejsou fyzikálně vůbec možná (např. antikorelované
harmonické v doméně attosekund). Podařilo se tak
automatickým způsobem řídit kvantový systém, což před
tím nebylo možné. Očekává se využití těchto principů
v oblasti nanotechnologií.
4 Abstraktní vs fyzické počítání
V předchozí kapitole jsme ukázali, že EA je schopen
vytvářet elementární výpočetní systémy na konvenčních
platformách (jako jsou rekonfigurovatelné číslicové a
analogové obvody) i na speciálních, avšak jistým
způsobem rekonfigurovatelných, platformách. Dále jsme
ukázali, že EA může využít pro realizaci požadovaného
chování specifické vlastnosti platformy i prostředí.
Konvenční návrhové techniky prakticky nemají možnost
využít tyto netradiční zdroje, které EA použít umí.
Hlavním důvodem je, že tyto konvenční techniky
vyžadují existenci abstraktního modelu platformy.
Evoluční návrh používající metodu „vygeneruj řešení a
otestuj ho“ model platformy nepotřebuje.
Evolučně navržené výpočetní systémy
představují velmi zvláštní a doposud prakticky
nezkoumanou třídu výpočetních systémů. Pro další úvahy
vyjděme z předpokladu, že EA je schopen v zadané
309
fyzické platformě v rozumné době vyevolvovat takové
chování, které vyžaduje specifikace zadaná uživatelem.
V dnešní době nebude složitost takových systémů velká,
ale můžeme očekávat pokrok v tomto směru [6, 12]. Je
tak vytvořena implementace, které plní požadovanou
funkci. Obecně ale nerozumíme, jak a proč řešení
funguje. Intuitivně předpokládáme, že takový systém je
výpočetním systémem (mechanismem). Z pohledu teorie
implementace to však vůbec jasné není.
4.1 Problém implementace
V literatuře orientující se na přesah informatiky
do filozofie je zkoumána otázka: Kdy je fyzikální systém
výpočetním mechanismem? Jako stěžejní pro odpověď na
tuto otázku považujeme řešení problému implementace:
jaký je vztah mezi abstraktním výpočtem a jeho fyzickou
realizací? Existuje celá řada přístupů.
Putnam říká, že musí existovat zobrazení mezi
abstraktními výpočetními stavy a fyzikálními stavy,
kterými systém během výpočtu prochází. Je kritizován,
protože podle této definice potom jakýkoliv fyzikální
systém může být chápán jako implementace libovolného
výpočtu [11].
Scheutz preferuje začít ve fyzickém světě.
Popisuje způsob, jakým je možné vstupy, výstupy a
chování fyzikálního systému (který je popsán ve zvolené
fyzikální teorii) vytvořit zobrazení na abstraktní
výpočetní model. Tento přístup nevyžaduje koncept
fyzického stavu [11].
Piccinini definuje výpočetní mechanismus jako
mechanismus, jehož účelem je získat výstupní řetězec
symbolů ze vstupního řetězce symbolů na základě obecně
platného pravidla, které platí pro všechny vstupy a
výstupy [10]. Definuje šest požadavků, které musí
fyzikální systém splňovat, aby mohl být výpočetním
mechanismem - zejména nezávislý pozorovatel musí být
schopen „počítání“ identifikovat na základě studia
systému. Potom je možné otázku, zda je fyzikální systém
výpočetním mechanismem, formulovat jako hypotézu a
ověřit její platnost na základě prozkoumání fyzikálního
systému.
Copeland, Johnson aj. vyžadují, aby existovala
konzistentní interpretace symbolů uvnitř systému během
výpočtu. Tato interpretace musí být deklarována před
započetím výpočtu [7].
4.2 Třída evolučně navržených výpočetních
zařízení
Jaké řešení má „problém implementace“ pro evolučně
navržená výpočetní zařízení? Uvažme následující situaci:
Cílem je najít konfiguraci rekonfigurovatelného zařízení
(RZ), které bude realizovat funkci F požadovanou
uživatelem. Abychom mohli definovat fitness funkci,
musíme před započetím experimentu zvolit interpretaci
fyzického chování RZ z pohledu vstupů a výstupů RZ.
Můžeme např. přiřadit vhodným napěťovým úrovním na
vstupech a výstupech logické hodnoty.
EA může objevit takové řešení problému
(konfiguraci) C, které bude fungovat (tj. fyzicky
realizovat požadované chování – funkci F) jen v daném
rekonfigurovatelném zařízení (RZ). Konfigurace C
nefunguje v simulátoru ani v jiném RZ stejného typu a
funguje jen za podmínek (teplota, tlak, …), které
existovaly na konci evoluce. V některých případech
nejsme schopni vysvětlit, jak RZ realizuje funkci F.
Inženýr prakticky není schopen konvenčním způsobem
najít konfiguraci C. Jaké jsou tedy odpovědi na otázku:
Je RZ konfigurované dle C a počítající F výpočetním
mechanismem?
ANO: Pokud stačí, že pro zadané vstupy
získáváme požadované výstupy dle interpretace, kterou
jsme zavedli před tím, než byla spuštěna evoluce, potom
je RZ výpočetním mechanismem. Pokud je RZ
výpočetním mechanismem, potom funkce, které jsou
vyčíslitelné pomocí RZ, jsou vyčíslitelné i na Turingově
stroji [10].
NENÍ: P
řísnější požadavek předpokládá, že
symboly uvnitř RZ musí mít konzistentní interpretaci,
která je zavedena před spuštěním evoluce. Tuto
interpretaci však nelze zavést před započetím evoluce.
EA může využít „cokoliv“ pro realizaci požadované
funkce a my to dopředu principielně nemůžeme odhalit.
Dokonce nelze zavést tuto interpretaci ani na konci
evoluce po prozkoumání RZ! Tímto zkoumáním může
být realizace poškozena a vyevolvované chování
ztraceno. Závažnějším argumentem však je, že EA může
teoreticky pro zajištění a konstrukci řešení využít
fyzikální jevy, které ještě nikdy nebyly popsány (viz
kapitola 3.4). Tudíž zkoumáním RZ je nemožné pochopit
činnost RZ, aniž bychom tyto jevy nejdříve poznali.
Rozhodnutí o tom, zda můžeme považovat
evolučně navržené zařízení za výpočetní mechanismus,
závisí na volbě definice výpočetního mechanismu. Pokud
souhlasíme s tím, že nezávisí na tom, jak zařízení
realizuje funkci, jsme schopni interpretovat jeho vstupně-
výstupní chování jako výpočet a pokud jsem schopni tuto
interpretaci zavést před započetím evoluce, potom
můžeme zařízení považovat za výpočetní mechanismus.
Pokud však je podstatné pro výpočetní mechanismy, že
existuje korespondence mezi abstraktním a fyzickým,
která je identifikovatelná pro nezávislého pozorovatele,
potom naše zařízení není výpočetním mechanismem.
Tabulka 1 porovnává tři typy fyzicky existujících
systémů, jejichž chování bývá často interpretováno jako
výpočet.
310
Tabulka 1: Vlastnosti výpočetních zařízení
Vlastnost Běžné
počítače
Mozek Zařízení
navržená EA
Reakce výstupů na zadané
vstupy lze interpretovat
jako výpočet
ANO ANO ANO
Abstraktní model výpočtu
existuje před implementací
ANO NE NE
Uživatel může definovat
požadované chování
ANO NE ANO
Inženýři mohou vyrobit ANO NE ANO
Zařízení je výpočetním
mechanismem
ANO ? ?
5 Závěr
Evoluční návrh obvodů a výpočetních systémů patří do
oblasti elektroniky a počítačového inženýrství. V tomto
článku jsme se pokusili interpretovat evoluční návrh
obvodů a výpočetních zařízení z pohledu teoretické
informatiky. Ukázali jsme, že evolučně vytvořená
výpočetní zařízení představují specifickou podtřídu
výpočetních zařízení, která vykazuje zvláštní kombinaci
vlastností, kterou nemají standardní počítače ani živé
systémy, jejichž chování obvykle interpretujeme jako
výpočet. Obecně není možné zjistit, jak a proč
vyevolvované řešení funguje. Stávající teorie
implementace, které řeší vztah mezi abstraktním a
fyzickým počítáním, jsou potom nepoužitelné.
Klasická teoretická informatika definuje výpočet
abstraktně, nejčastěji jako posloupnost přechodů mezi
definovanými abstraktními stavy. Takto definovaný
výpočet může být implementován pomocí různých
fyzikálních principů. Vyevolvované výpočetní systémy
jsou však závislé na své fyzikální podstatě a nemohou bez
ní existovat. Pokud bychom odhalili abstraktní model,
podle kterého provádí výpočet, potom bychom mohli
tento výpočet přenést i na jiné platformy. Zdá se však, že
toto odhalení je podnik s nejistým výsledkem.
Literatura
[1] Bartels, R. et al.: Learning from Learning
Algorithms: Applications to attosecond dynamics of
high-harmonic generation. Physical Review A.
70(1):1-5 (2004)
[2] Bentley, P. (ed): Evolutionary Design by
Computers. Morgan Kaufmann Publishers, San
Francisco CA 1999
[3] Extreme Temperature Electronics - Tutorial (2005)
http://www.extremetemperatureelectronics.com
[4] Harding, S., Miller, J.: Evolution in materio: Initial
experiments with liquid crystal. In: Proc. of 2004
NASA/DoD Conference on Evolvable Hardware,
IEEE Computer Society, Los Alamitos 2004, s.
298-305
[5] Higuchi, T. et al.: Evolving Hardware with Genetic
Learning: A First Step Towards Building a Darwin
Machine. In: Proc. of the 2nd International
Conference on Simulated Adaptive Behaviour. MIT
Press, Cambridge MA 1993, s. 417-424
[6] Higuchi, T., Liu, Y., Yao, X.: Evolvable Hardware.
Springer Verlag, 2006
[7] Johnson, C. G.: What Kinds of Natural Processes
Can be Regarded as Computations? In:
Computation in Cells and Tissues: Perspectives and
Tools of Thought. Springer, Berlin 2004
[8] Koza et al.: Genetic Programming IV: Routine
Human-Competitive Machine Intelligence,
Springer, 2005
[9] Kvasnička, V., Pospíchal J., Tiňo P.: Evoluč
algoritmy. Vydavatelství STU Bratislava, 2000
[10] Piccinini, G.: Computations and Computers in the
Sciences of Mind and Brain. PhD thesis, University
of Pittsburgh, 2003, 323 s.
[11] Scheutz, M.: When Physical Systems Realize
Functions … Minds and Machines. 9(2): 161-196
(1999)
[12] Sekanina, L.: Evolvable Components: From Theory
to Hardware Implementations. Springer Verlag,
Berlin 2004
[13] Stoica, A., Zebulum, R., Keymeulen, D., Ferguson,
I., Duong, V., Guo, X.: Evolvable hardware
techniques for on-chip automated reconfiguration of
programmable devices. Soft Computing - Spec.
Issue on Evolvable Hardware. 8(5): 354-65 (2004)
[14] Stoica, A., Keymeulen, D., Arslan, T., Duong, V.,
Zebulum, R., Ferguson I., Guo, X.: Circuit Self-
Recovery Experiments in Extreme Environments.
In: Proc. of the 2004 NASA/DoD Workshop on
Evolvable Hardware, IEEE Computer Society, Los
Alamitos 2004, s. 142-145
[15] Thompson, A.: Hardware Evolution: Automatic
Design of Electronic Circuits in Reconfigurable
Hardware by Articial Evolution. Distinguished
Dissertation Series, Springer, London 1998
[16] Tour, J. M.: Molecular Electronics. World Scientic
2003
[17] Zebulum, R., Stoica, A., Keymeulen, D., Sekanina,
L.: Evolvable Hardware System at Extreme Low
Temperatures. LNCS 3637, Springer, 2005, s. 37-45
ResearchGate has not been able to resolve any citations for this publication.
Book
Full-text available
Computationalism says that brains are computing mechanisms, that is, mechanisms that perform computations. At present, there is no consensus on how to formulate computationalism precisely or adjudicate the dispute between computationalism and its foes, or between different versions of computationalism. An important reason for the current impasse is the lack of a satisfactory philosophical account of computing mechanisms. The main goal of this dissertation is to offer such an account. I also believe that the history of computationalism sheds light on the current debate. By tracing different versions of computationalism to their common historical origin, we can see how the current divisions originated and understand their motivation. Reconstructing debates over computationalism in the context of their own intellectual history can contribute to philosophical progress on the relation between brains and computing mechanisms and help determine how brains and computing mechanisms are alike, and how they differ. Accordingly, my dissertation is divided into a historical part, which traces the early history of computationalism up to 1946, and a philosophical part, which offers an account of computing mechanisms. The two main ideas developed in this dissertation are that (1) computational states are to be identified functionally not semantically, and (2) computing mechanisms are to be studied by functional analysis. The resulting account of computing mechanism, which I call the functional account of computing mechanisms, can be used to identify computing mechanisms and the functions they compute. I use the functional account of computing mechanisms to taxonomize computing mechanisms based on their different computing power, and I use this taxonomy of computing mechanisms to taxonomize different versions of computationalism based on the functional properties that they ascribe to brains. By doing so, I begin to tease out empirically testable statements about the functional organization of the brain that different versions of computationalism are committed to. I submit that when computationalism is reformulated in the more explicit and precise way I propose, the disputes about computationalism can be adjudicated on the grounds of empirical evidence from neuroscience.
Book
Full-text available
Evolutionary Design by Computers is a collection of essays that describe recent research into "evolutionary" computing where computers mimic the strategies of biological evolution to solve problems in architecture, engineering, art and artificial life. Peter Bentley's excellent introduction to the current state of evolutionary design quickly directs readers to the field. Bentley shows that no matter how various practitioners identify themselves they are united in applying the principles of Darwinism to computer algorithms. The collection includes several theoretical essays that discuss the relationship of computer-driven design to human innovation. A section on evolutionary designs features several case studies on real applications of these techniques--specifically engineering problems for designing satellite booms, flywheels and a reliability measurement for networks. Among the contributions are essays on computer-art packages that make use of evolutionary algorithms. Programs such as Mutator and Forms show how anyone can use these evolutionary techniques. This discussion includes a survey of today's evolutionary art (evoart) packages-- including several that are available on the Web. The last part of the book covers artificial life It showcases a programme that evolves simple block-like creatures that walk, swim, jump and even compete with each other--a programme that has obvious applications for robotics. The final sections examine additional real-world applications of evolutionary design techniques for architecture (for designing tables and hospital floor plans) and electrical engineering (analogue circuits in particular). All in all Evolutionary Design by Computers provides an excellent introduction to one of today's most promising areas of computer-science research for both specialists and general readers alike.
Article
According to some philosophers, there is no fact of the matter whether something is either a computer, or some other computing mechanism, or something that performs no computations at all. On the contrary, I argue that there is a fact of the matter whether something is a calculator or a computer: a computer is a calculator of large capacity, and a calculator is a mechanism whose function is to perform one out of several possible computations on inputs of nontrivial size at once. This paper is devoted to a detailed defense of these theses, including a specification of the relevant notion of “large capacity” and an explication of the notion of computer.
Article
Using experiment and modeling, we show that the data set generated when a learning algorithm is used to optimize a quantum system can help to uncover the physics behind the process being optimized. In particular, by optimizing the process of high-harmonic generation using shaped light pulses, we generate a large data set and analyze its statistical behavior. This behavior is then compared with theoretical predictions, verifying our understanding of the attosecond dynamics of high-harmonic generation and uncovering an anomalous region of parameter space.
Article
While complete automated design is a harder problem than computer-assisted design, automated hardware reconfiguration is an even more challenging problem, because it needs to adjust to limited resources and various factors, such as noise and parasitic capacitance, a resistance and inductance. This paper presents some experimental results of on-chip automated design and reconfiguration using evolvable hardware techniques. It describes a stand-alone board level evolvable system, and its use to demonstrate on-chip synthesis of new circuits in only a few seconds. The experiments presented here indicate a recovery capability in the case of extreme environmental conditions, such as extreme temperatures, that adversely affect electronics. Some of the difficulties of dealing with the real hardware are exposed, as well as challenges more generally related to automated evolution of complex electronic systems.