Iskanje procesne platforme prihodnosti

Miha Mraz sep. 2008

ii

Contents

Uvod ix

1 Osnovna izhodišča nanotehnologij in nanoračunalništva 1 1.1 Nanotehnologije in nanoračunalništvo . . . . . . . . . . . . . . . 1 1.2 Mooreov zakon . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Analitični in sintezni pristop . . . . . . . . . . . . . . . . . . . . . 3 1.4 Željene lastnosti procesne platforme bodočnosti . . . . . . . . . . 4 1.5 Zgodovinske iztočnice nanoračunalništva . . . . . . . . . . . . . . 5 1.6 Aktualni nekonvencionalni pristopi k računalniškim platformam . 5 1.7 Osnovni pojmi in vizije nanoračunalništva . . . . . . . . . . . . . 6 1.8 Povzetek poglavja . . . . . . . . . . . . . . . . . . . . . . . . . . 7

I Platformno odvisni pristopi k procesiranju 9

2 Kvantni celularni avtomati 11 2.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 QCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 Opis posamezne celice QCA in njene dinamike . . . . . . 11 2.3 EQCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3.1 Ternarno procesiranje . . . . . . . . . . . . . . . . . . . . 13 2.3.2 tQCA celica kot primer EQCA . . . . . . . . . . . . . . . 14 2.3.3 Vpeljava adiabatnega preklopa v tQCA . . . . . . . . . . 18

3 Kvantno procesiranje 21 3.1 Osnovna ideja kvantnega procesiranja . . . . . . . . . . . . . . . 21 3.2 Qubit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 Kvantni register . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.4 Kvantna logična operacija ali kvantna logična vrata . . . . . . . . 25 3.5 Invazivnost branja . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.6 Ostale značilnosti kvantnega procesiranja . . . . . . . . . . . . . 26 3.7 Delovanje kvantnega računalnika . . . . . . . . . . . . . . . . . . 27 3.8 Aplikativne prednosti qubitnega pristopa . . . . . . . . . . . . . . 27 3.9 Realizacija kvantnega računalnika . . . . . . . . . . . . . . . . . . 27 3.10 Simulacijska orodja . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.11 Povzetek poglavja . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4 DNK Procesiranje 29 4.1 Osnove DNK medija . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2 DNK procesiranje z vidika sistemske biologije . . . . . . . . . . . 30

4.2.1 Osnovni gradniki biološkega sistema . . . . . . . . . . . . 31 4.2.2 Koraki za efektivno postavitev željenega biološkega sistema 33 4.2.3 Model realizacije RS pomnilne celice v biološkem sistemu 33

4.3 Adlemanov zgled procesiranja v okolju DNK . . . . . . . . . . . 39 4.3.1 Predstavitev problema Hamiltonovih poti . . . . . . . . . 39 4.3.2 Prostorska potratnost kot rešitev procesne potratnosti . . 39 4.3.3 Realizacija rešitve problema . . . . . . . . . . . . . . . . . 40 4.3.4 Slabosti realizacije Adlemanovega eksperimenta . . . . . . 41

4.4 Javni BioBricks repozitorij . . . . . . . . . . . . . . . . . . . . . . 42 4.4.1 Osnovni elementi . . . . . . . . . . . . . . . . . . . . . . . 42 4.4.2 Naprave . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.4.3 Sistemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4.4 Postavljanje modelov in implementacija BioBrick raču-

nalni ških struktur . . . . . . . . . . . . . . . . . . . . . . 44 4.4.5 Značilnosti gostitelja . . . . . . . . . . . . . . . . . . . . . 44

4.5 Ostali zgledi DNK računalnikov . . . . . . . . . . . . . . . . . . . 45 4.6 Povzetek poglavja . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5 MEMS in NEMS naprave 47 5.1 Osnove x/EMS sistemov . . . . . . . . . . . . . . . . . . . . . . . 48 5.2 Tipični funkcionalni gradniki x/EMS sistemov . . . . . . . . . . . 50

5.2.1 Pretvorniki . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.2.2 Aktuatorji . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.2.3 Senzorji . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.2.4 Mehanski elementi . . . . . . . . . . . . . . . . . . . . . . 52

5.3 Zgledi x/EMS naprav in njihovo tržišče . . . . . . . . . . . . . . 52 5.4 Razpoložljiva razvojna orodja . . . . . . . . . . . . . . . . . . . . 52 5.5 Povzetek poglavja . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6 Nanocevi 55 6.1 Uvod v tehnologijo nanocevi . . . . . . . . . . . . . . . . . . . . . 55 6.2 Enostenske cevi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.3 Lastnosti enostenskih nanocevi . . . . . . . . . . . . . . . . . . . 56 6.4 Razpoložljiva snovalska orodja . . . . . . . . . . . . . . . . . . . . 58

7 Optično procesiranje 61 7.1 Osnove optičnega procesiranja . . . . . . . . . . . . . . . . . . . . 61 7.2 Optični tranzistor . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 7.3 Pomnjenje v optičnem računalniku . . . . . . . . . . . . . . . . . 62 7.4 Optične komunikacije . . . . . . . . . . . . . . . . . . . . . . . . . 62

7.5 Optični računalnik . . . . . . . . . . . . . . . . . . . . . . . . . . 62

II Platformno neodvisni pristopi k procesiranju 65

8 Reverzibilno procesiranje 67 8.1 Zgodovina reverzibilnega procesiranja . . . . . . . . . . . . . . . 67 8.2 Vrste reverzibilnosti . . . . . . . . . . . . . . . . . . . . . . . . . 69 8.3 Primeri reverzibilnih funkcij . . . . . . . . . . . . . . . . . . . . . 69

8.3.1 Toffolijeva vrata . . . . . . . . . . . . . . . . . . . . . . . 70 8.3.2 Fredkinova vrata . . . . . . . . . . . . . . . . . . . . . . . 70 8.3.3 Metode realizacije . . . . . . . . . . . . . . . . . . . . . . 70

8.4 Povzetek poglavja . . . . . . . . . . . . . . . . . . . . . . . . . . 71

9 Amorfno procesiranje 73 9.1 Osnovne lastnosti amorfnega procesiranja . . . . . . . . . . . . . 73 9.2 Izvajanje programa v amorfni strukturi . . . . . . . . . . . . . . 74 9.3 Sorodnost amorfnega področja s področjem celularnih avtomatov 75 9.4 Zgodovinski pregled aplikacij in problemov pri uporabi amorfnih

struktur procesiranja . . . . . . . . . . . . . . . . . . . . . . . . . 75 9.5 Specializirani programski jeziki . . . . . . . . . . . . . . . . . . . 75

9.5.1 Growing Point Language (GPL) . . . . . . . . . . . . . . 76 9.5.2 Origami Shape Language (OSL) . . . . . . . . . . . . . . 78 9.5.3 Jezik Ecoli . . . . . . . . . . . . . . . . . . . . . . . . . . 78

9.6 Nezanesljivost entitet . . . . . . . . . . . . . . . . . . . . . . . . . 78 9.7 Vztrajnostna jedra . . . . . . . . . . . . . . . . . . . . . . . . . . 78 9.8 Primerjava amorfnega procesiranja z biološkimi procesi . . . . . . 79 9.9 Povzetek poglavja . . . . . . . . . . . . . . . . . . . . . . . . . . 79

10 Naravno procesiranje 81

10.1 Fraktalsko procesiranje . . . . . . . . . . . . . . . . . . . . . . . . 81 10.1.1 Kochova snežinka in trikotniki Sierpinskega . . . . . . . . 83 10.1.2 Generator fraktalske strukture praproti . . . . . . . . . . 83

10.2 Celularno procesiranje . . . . . . . . . . . . . . . . . . . . . . . . 85 10.3 Boidi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

11 Analogno procesiranje 87 11.1 Mehanski analogni računalniki . . . . . . . . . . . . . . . . . . . 87 11.2 Elektronski analogni računalnik . . . . . . . . . . . . . . . . . . . 87

11.2.1 Ojačevalniki . . . . . . . . . . . . . . . . . . . . . . . . . . 88 11.3 Primoževa diploma . . . . . . . . . . . . . . . . . . . . . . . . . . 88 11.4 Povzetek poglavja . . . . . . . . . . . . . . . . . . . . . . . . . . 88

12 Reference 89

13 Preostala zanimive vsebine - materialne platforme 93 vi CONTENTS 14 Ubiqutous processing 95

Predgovor

Življenje v prihodnosti bo nedvomno pogojeno z našo obkroženostjo z avtomatiziranimi sistemi, ki bodo zadovoljevali naše potrebe. Cena, dimenzija in hitrost teh sistemov bo neposredno pogojena s platformo na kateri bo procesiranje teklo v službi uporabnika. V pričujočem delu skušamo nakazati revolucionarne iztočnice prihodnosti, ki jim bomo na nivju procesiranja priča tako kot uporabniki, kot tudi snovalci sistemov. viii PREFACE

Uvod

The introduction is entered using the usual chapter tag. Since the introduction chapter appears before the mainmatter TeX field, it is an unnumbered chapter. The primary difference between the preface and the introduction in this shell document is that the introduction will appear in the table of contents and the page headings for the introduction are automatically handled without the need for the markboth TeX field. You may use either or both methods to create chapters at the beginning of your document. You may also delete these preliminary chapters. x UVOD

Chapter 1

Osnovna izhodišča nanotehnologij in nanoračunalništva

Temeljni pojem pričujočega dela je pojem procesne platforme. Pod slednje smatramo kakršenkoli medij, s katerim je mogoče upravljati nadzorovano in je sposoben pomnjenja, odločanja (procesiranja) in prenosa podatkov. Do sedaj smo bili v računalništvu vajeni procesnih platform, ki so temeljile na elektronski osnovi, kar pa ne pomeni, da se v prihodnosti ne bodo uveljavile tudi drugačne platforme.

Z vidika načina uporabe računalniških sistemov smo na prehodu med dvema erama. Do sedaj (pravzaprav v zadnjih dvajsetih letih) smo bili vajeni tako imenovane namizne ere rabe računalnikov (angl. desktop computing). Tako smo imeli procesno moč skoncentrirano na enem mestu, pa tudi njena cena (npr. osebnega računalnika) se skozi čas ni drastično spreminjala. Za isto ceno smo tako kupovali sisteme, katerim so se performanse višale, česar smo vajeni pri vseh širokopotrošnih produktih (npr. osebnih vozilih). Nova era, v katero vstopamo, je era vseprisotnega procesiranja (angl. pervasive, ubiquitous, human centered computing). Zanjo je značilna razpršenost procesnih platform tako v našem delovnem, kot tudi privatnem življenskem okolju. S tem se porajajo dileme o bodočnosti procesne platforme. Slednjo tematiko želimo predstaviti v pričujočem delu predvsem z vidika možnosti realizacije pomnjenja, odločanja in prenosa podatkov v alternativnih medijih.

1.1 Nanotehnologije in nanoračunalništvo

Področje nanotehnologij lahko jedrnato opišemo kot manipuliranje z delci velikostnega reda nanometra (10^{−9}m). V omenjenem velikostnem redu se nahajajo elektroni, atomi, molekule, DNK itd. Glede na osnovne entitete je področje v

2CHAPTER 1. OSNOVNA IZHODIŠČA NANOTEHNOLOGIJ IN NANORAČUNALNIŠTVA

Figure 1.1: Primerjava različnih velikostnih rangov nam znanih objektov.

teoretičnem smislu zanimivo fizikom, kemikom, elektrotehnikom in biologom, v aplikativnem smislu pa medicincem, računalničarjem, genetikom, itd. V današnjem času je področje nanotehnologij v vidnem porastu predvsem zaradi dveh aktivnih segmentov raziskav:

• tehnološki segment se ubada predvsem z analizo možnosti izdelave materialov bodočnosti; slednji naj bi tako imeli idealne lastnosti v smislu trdnosti, teže, viskoznosti, vodoodpornosti, itd.,

• procesni segment se ubada z analizo možnosti implementacije nadzorljivih dinamičnih procesov v nanomaterialih; slednje sodi predvsem v domeno medicine in računalništva.

V pričujočem delu se bomo usmerili predvsem na slednjo kategorijo. Namesto pojma nanotehnologij bomo tako uporabljali pojem nanoračunalništvo (angl. nanocomputing), cilj tega področja pa je poiskati procesno platformo bodočnosti. Na sliki 1.1 imamo primerjavo velikostnih redov nekaj nam znanih objektov iz realnega sveta.

Kot izredno zanimivo si lahko ogledamo tudi sliko 1.2, na kateri je predstavljena razdalja ”vidnosti”, aktivnega obvladovanja ali oprijemljive percepcije pripadnikov človeške civilizacije. V centru je objekt - človek, čigar višina je pogojena z velikostnim razredom 10^{0}. Zorni kot njegovega obvladovanja je pogojen v

Figure 1.2: Razdalja obladovanja pripadnikov na še civilizacije.

obe smeri z odmikom devetih velikostnih razredov. Na levi se človek tako sooča in skuša obvladovati nanotehnologije, po drugi plati pa skuša posegati tudi po bolj oddaljenih dimenzijah. Tako je npr. naš satelit Mesec od planeta Zemlje oddaljen 384.000 km, mednarodna vesoljska postaja 360 km, planet Mars pa 220 milijonov kilometrov.

V naslednjih razdelkih pričujočega poglavja bomo našteli nekaj osnovnih konceptov in izhodišč, za katere smatramo, da pospešeno vodijo k prehodu na nano principe v računalništvu.

1.2 Mooreov zakon

Vsi dobro poznamo računalniški zakon Gordona Moore-a, ki glede na hitrost razvoja od sedemdesetih letih prejšnjega stoletja napoveduje podvojevanje kompleksnosti integriranih vezij vsaki 2 leti [Kod1]. Omenjena hipoteza se je v praksi potrdila do danes, kar pomeni, da bo potom omenjene miniaturizacije ”nano” nivo osnovnih gradnikov dosežen v približno v 10 letih. Glede na kompleksnost metode litografije, ki bo temu težko sledila, se danes vršijo raziskave na različnih področjih, ki bi lahko zadovoljevala nivo željene granulacije in obvladljivost materialnih entitet. Kot smo našteli že v uvodu, so v centru opazovanja elektroni, atomi in molekule, s katerimi pa se ukvarjajo različne vede (npr. fizika, kemija, farmacija, elektrotehnika, itd.).

1.3 Analitični in sintezni pristop

Eno od osnovnih načel nanotehnologije je prehod iz analitičnega (angl. top down) na sintezni (angl. bottom up) koncept zasnove izgradnje poljubnega sistema [SciAm1]. Analitični koncept naša civilizacija uporablja že od svojega začetka, za katerega smatramo pojav pojma orodja [Odi1]. Za to obdobje je tipično, da temelji na obdelavi naravnih virov do željenih oblik in lastnosti. Tipični primeri so obdelava lesa in rudnin, proizvodnja zlitin in kemikalij, vse do metod litografije (jedkanja), ki je temelj današnje izdelave elektronskih integriranih vezij. Osnovni princip proizvodnje je torej obdelava materialov, ki v svoji zasnovi vodi tudi do odpadkov - izmeta.

Sintezni koncept temelji na obstoju množice osnovnih entitet (npr. molekul, atomov, elektronov, itd.) Na osnovi slednjih vršimo sintezo v poljubne zaključene enote (sisteme, produkte, itd.). Za ta koncept je pomembna narava izhodiščne entitete, pred iskanje katere je postavljena današnja civilizacija.

V smiselnost prehoda iz analitičnega na sintezni princip nas opozarja tudi zgled načina uporabe LEGO kock, s katerimi se radi igrajo otroci. Večini slednjih ne pade na pamet, da bi kocke razbijali s kladivom in preoblikovali, temveč stremijo le k temu, kako iz razpoložljivih kock sestaviti željene objekte.

1.4 Željene lastnosti procesne platforme bodočnosti

Glede na to, da smo pristali na termin nanoračunalništva, ki raziskuje alternativne platforme procesiranja v bodočnosti, naštejmo tudi osnovna izhodišča - lastnosti, ki se od takšne platforme zahtevajo:

• energetska varčnost: glede na vse večjo potrošnjo energetskih virov je eden od temeljev minimizacija porabe energije; slednje sledi tudi iz tega, ker se civilizacija vse bolj obkroža s procesnimi platformami in bomo pravemu ”bumu” digitalizacije šele priča;

• zanesljivost delovanja: počasna vpeljava 4-bitnega mikroprocesorja v začetku sedemdesetih let nakazuje na to, da bo morala procesna platforma bodočnosti delovati vsaj tako zanesljivo, kot obstoječa digitalna vezja; le v tem primeru bo potrošnja potrdila ekonomsko upravičenost produkta;

• možnost nadzora nad delovanjem: glede na možnosti implementacije procesne platforme bodočnosti, se nakazujejo tudi energetsko samozadostne rešitve (npr. procesiranje v fludih [Ada1]), ki prinašajo nevarnost nezmožnosti obvladovanja procesiranja ob preveliki koncetraciji umetne inteligence;

• možnosti pospeševanja delovanja: kakršenkoli prehod na novo platformo mora izpolnjevati tudi možnosti naknadnega večanja procesne hitrosti, tako kot smo bili temu priče pri elektronskih integriranih vezjih;

• možnosti neposrednega prehoda na binarno procesiranje z opcijo naknadnega večstanjskega procesiranja: za obstoječo strojno in programsko računalniško industirjo je pomembno, da so vse današnje logične rešitve neposredno prenosljive na novo platformo procesiranja; seveda pa je pomembna tudi možnost nakandne reorganizacije pojmovanja logike, ki bi pripeljala do razširjave preko večstanjske do zvezne logike; le slednje bo omogočalo, da pomaranča ne bo skupek 1Mb podatkov, ampak s strani procesne platforme razpoznana in razumljena ter eventuelno procesirana - proizvajana kot pomaranča; dokaz o smislu vpeljave večstanjske logike se nam ponuja v delu [Hay1], pa tudi konkretne realizacije (npr. serija ruskih računalnikov SETUN) sistemov so pokazale obilico prednosti pred sistemi temelječimi na binarni logiki;

• cena: platforma mora biti cenovno ugodna, po možnosti pa z vidika ekologije razgradljiva ali ponovno uporabljiva.

Kot vidimo, so si nekatere željene lastnosti v kontradikciji, čas pa bo pokazal, katere od njih so pomembnejše.

1.5 Zgodovinske iztočnice nanoračunalništva

Arhitekturno gledano računalniški sistemi od svojih začetkov do danes slonijo na Von Neumannovem modelu vključno z njegovim ozkim grlom. Omenjeni arhitekturni model sloni na ločenosti pomnilnika in procesne enote, kar vodi do velike količine prenešenih podatkov in programskih ukazov med njima. Ker se performanse prenosa ne dvigujejo linearno z rastjo velikosti pomnilnika in hitrosti procesne enote, nastaja v tej točki ozko grlo. V nadaljevanju bomo našteli nekaj zgodovinskih osebnosti, ki so tako ali drugače pomembne za razvoj nanoračunalništva.

John Von Neumann (matematik, 1903 - 1957) je temelje omenjene arhitekture postavil v štiridesetih letih prejšnjega stoletja. Že sam je do smrti iskal druge možnosti arhitekture izvedbe, predvsem v smeri paralelnega procesiranja [Asp1].

Richard Feynman (fizik, 1918 - 1988) je prehod proti nanonivoju napovedal v svojem znanem govoru l.1959, ko je izjavil, da se za prihodnost smisla znanosti ni bati, ker ”...je tam spodaj še veliko prostora...”. V mislih je imel možnosti za dolgotrajno miniaturizacijo, ki je z vidika časovne dimenzije omogočala nesluten razvoj mikrotehnologij, sedaj pa trka na nanonivo, kjer pa klasični fizikalni zakoni in zakonitosti odpovejo.

Alan Turing (matematik, računalničar, 1912 - 1954) je temelje osnov računalništva postavil predvsem s teoretičnim modelom Turingovega stroja, bil pa je tudi Von Neumanov tesni sodelavec.

Eric Drexler (nanoteoretik, 1955 -) je zaslužen predvsem za obujanje idej, na katere so naleteli predhodno našteti znanstveniki že pred več kot polovico stoletja. Znan je njegov vabljeni govor v ameriškem parlamentu l.1992 [Re g1], s katerim je takratno ameriško politiko želel seznaniti s prednostmi, slabostmi in nevarnostmi obvladovanja nano nivoja. Od omenjenega leta ameriška vlada vlaga velike vsote denarja v razvoj nanotehnologij na vseh mogočih področjih.

1.6 Aktualni nekonvencionalni pristopi k računalniškim platformam

Predhodni termin nanoračunalništva močno sovpada s terminom nekonvecionalnega procesiranja (angl. unconventional computing). Ker so nanoračunalniški koncepti v fazi razvoja, se smatrajo kot nekonvecionalni in odtod prepletanje pomena obeh izrazov. V našem delu med pomenoma pojmov ne bomo razlikovali. Glede na trenutno aktualne raziskave lahko razdelimo področje nekonvencionalnega procesiranja na dve osnovni skupini in sicer na platformno odvisne in neodvisne pristope. Trenutno aktualne platformno odvisne nekonvencionalne metode procesiranja so • kvantni celularni avtomati (angl. quantum dot - cellular automata - QCA),

• kvantno procesiranje (angl. quantum computing),

• mikro/nano elektro mehanski sistemi (angl.micro/nano electronic mechanical systems - MEMS/NEMS),

• DNK procesiranje (angl. DNA computing),

• optično procesiranje (angl. Optical computing),

• reakcijsko difuzijsko procesiranje (angl. reaction-defussion computing),

trenutno aktualne platformno neodvisne nekonvencionalne metode pa

• amorfno procesiranje (angl. amorphous computing),

• reversibilno procesiranje (angl. reversible computing),

• analogno procesiranje (angl. analogous computing),

• naravno procesiranje (angl. natural computing).

Navkljub temu, da v angleških terminih nastopa beseda ”computing”, smo se za prevode v termin ”procesiranje” odločili, ker je našemu delu, ki se ukvarja z osnovnimi logičnimi principi računalniškega delovanja bližji.

1.7 Osnovni pojmi in vizije nanoračunalništva

Nanotehnologije so na aplikacijskem nivoju z različnimi področji raziskav v ospredje potisnile kar nekaj novih futurističnih pojmov, pa tudi nekatere že znane, a do sedaj v računalništvu po krivici zapostavljene. Naj jih naštejemo le nekaj [SciAm1]:

• samoreplikacija (angl self replication) predvideva zmožnost samodejne replikacije osnovnih entitet; takšnemu postopku smo v naravi priča pri delitvi enostavnih organizmov;

• samoreprodukcija (angl. self reproduction) predvideva zmožnost reprodukcije osnovnih entitet; takšnemu postopku smo v naravi priča pri razmnoževanju živih organizmov;

• samoorganizacija (angl. self organisation) prevideva zmožnost entitet, da se organizirajo pa nekem vnaprej določenem algoritmu;

• sinteza entitet (angl. bottom up concept) predvideva izgradnjo sistemov, produktov, itd. na osnovi algoritmičnega nadzora;

• molekularno sestavljanje (angl molecular manufacturing) predvideva izgradnjo surovin in produktov na osnovi molekul in algoritmičnega nadzora;

• molekularni popravki (angl. molecular repairing) predvideva popravke dednih in okvarjenih bioloških materialov.

1.8 Povzetek poglavja

Temeljni namen pričujočega dela je usmerjanje pozornosti na potencialne alternativne platforme procesiranja bodočnosti. Slednje naj bi vodile v danes komaj razumljivo novo industrijsko revolucijo, ki bo po vsej verjetnosti močno preoblikovala ne samo gospodarsko srenje, temveč tudi sociološke in politične temelje naše civilizacije. V naslednjih poglavjih predstavimo osnove večine aktualnih platform, v nekatere od njih pa dodamo tudi svoje najnovejše znastvene izsledke.

8CHAPTER 1. OSNOVNA IZHODIŠČA NANOTEHNOLOGIJ IN NANORAČUNALNIŠTVA

Part I

Platformno odvisni pristopi k procesiranju Kvantni celularni avtomati

2.1 Uvod

V pričujočem poglavju najprej predstavimo osnove delovanja struktur kvantnih celularnih avtomatov (angl. Quantum-dot Cellular Automata - QCA) [Nie1], v njegovem nadaljevanju pa še lastne znanstvene izsledke vezane na njihove možne razširjave (angl. Extended Quantum-dot Cellular automata - EQCA). Obe strukturi temeljita na procesiranju na površini, ki jo tvorijo celice - avtomati. Delovanje QCA struktur temelji na fizikalnih zakonih , ki jih bomo povzeli le v okviru nujnega osnovnega poznavanja. Omenjeno dejstvo je pomembno predvsem z vidika razvoja, ki ločuje med tehnologi (fiziki, kemiki, elektrotehniki), ki postavijo ”željeno” strukturo in snovalci ”obnašanja” struktur, kamor sodimo računalničarji.

2.2 QCA

Struktura QCA je sestavljena iz dvodimenzionalnega polja končnega števila osnovnih celic. Vsaka od celic predstavlja samostojen avtomat, ime pa je njihov avtor C.L.Lent povzel po strukturah celularnih avtomatov [W ol1], čeprav se formalni definiciji obeh struktur močno razlikujeta. Dve takšni strukturi sta predstavljeni na sliki 2.1. Prva ima celice enakomerno razporejene, druga pa poljubno. Iz obeh zgledov je razvidno, da je lega končnega nabora celic poljubna, pomembno pa je le to, da se celice med seboj ne prekrivajo.

2.2.1 Opis posamezne celice QCA in njene dinamike

Osnovna QCA celica je hipotetične četverokotne oblike. V njej so štiri polprevodniške ali kovinske kvantne pike, dva elektrona in pa štirje tuneli, ki povezujejo kvantne pike (glej sliko2.2). Elektrona lahko prosto prehajata (tunelirata) po tunelih med pikami in se ustalita v takšnih pikah, kjer je energijski odboj med elektronoma minimalen. Glede na četverokotno obliko celice se to venomer Figure 2.1: Na levi strani slike je predstavljena enakomerna porazdelitev celic QCA (v mreži), na desni strani slike pa je predstavljena neenakomerna porazdelitev celic na površini.

Figure 2.2: Sestavni deli osnove QCA - celice.

zgodi v diagonalnih pozicijah.(pikah), kjer elektrona dosežeta maksimalno razdaljo. Zadnje dejstvo temelji na Coulombovih fizikalnih zakonih, bralcem pa za razjasnitev pojmov priporočam delo [P eč1], v katerem so predstavljena vsa fizikalna ozadja dinamike prehajanja. Gibanje elektronov izven tunelov ali pik je onemogočeno.

Diagonalno lego eletronov v pikah imenujemo za polarizacijo (polarizirano stanje elektronov). Glede na povedano na ta način lahko dosežemo dve diagonalni ”stabilni” polarizirani stanji in dve vertikalni/horizontalni ”nestabilni” nepolarizirani stanji. Na gornjem delu slike 2.3 sta predstavljeni polarizirani, na spodnjem delu pa nepolarizirani stanji. Omenjena situacija velja, ko iz zunanjega okolja v celico ni takšnega energetskega vpliva, ki bi elektrona ”prisil” v horizontalno/vertikalno pozicijo, kot pozicijo minimalnega energetskega odboja elektronov glede na vplive notranjosti in zunanjosti.

Procesiranje v QCA

Prenos podatkov v QCA

Osnovne logične operacije v QCA

Problemi v QCA Figure 2.3: Zgoraj: polarizirani stanji celice, spodaj: nepolarizirani stanji celice.

Orodja za simuliranje struktur QCA

2.3 EQCA

Glavni cilj pričujočega razdelka je vpeljava razširjenih QCA struktur, ki bi bile sposobne ne samo dvovrednostne, temveč tudi večvrednostne logike. V laboratoriju za računalniške strukture in sisteme naše fakultete smo se pred leti usmerili na analizo možnosti realizacije trovrednostne logike na osnovi razširjenih QCA struktur. Procesiranje na osnovi trojiške logike imenujemo ternarno procesiranje (angl. ternary computing).

2.3.1 Ternarno procesiranje

Enega najboljših opisov ternarnega ali trojiškega procesiranja najdemo v delu [Hay1]. Osnovna hipoteza omenjenega članka temelji na predpostavki, da je baza 2 (dvojiški zapis) premajhna, baza 10 pa prevelika za zapis poljubnega numeričnega podatka. Hipoteza članka je, da je trojiški zapis tisti, ki je najbolj ”kompakten” ali ekonomičen za zapisovanje podatkov. V primeru trojiškega zapisa tako pristanemo na množici kodov {0, 1, 2} in z njimi štejemo po vrsti 0,1,2,10,11,12,20,21,22,100,101,... Število 19 v desetiškem zapisu bi tako lahko zapisali v različnih zapisih kot

19_{10} = 10011_{2} = 201_{3}.  (2.1)

V splošnem poljubno število m lahko zapišemo v polinomski obliki kot

m = ... + d_{3}r^{3} + d_{2}r^{2} + d_{1}r^{1} + d_{0}r^{0},  (2.2)

kjer r predstavlja bazo zapisa (ternarno procesiranje: r=3), d_{i} pa digite nvrednostnega zapisa (i = 0, ..., n − 1 = r − 1). V primeru trojiškega zapisa so digiti določeni z izrazom

∀i : d_{i} ∈ {0, 1, 2} .  (2.3)

Za idealen zapis smatramo tisti zapis, kjer je razmerje med dolžino zapisa (w) in velikostjo potencialne zaloge digitov (r) ustrezno. Slednje je doseženo, če je dosežen minimum funkcije iz izraza

r ∗ w,  (2.4)

pri zadrževanju konstantne vrednosti izraza

r^{w}.  (2.5)

Problem je analitično najlažje rešljiv, če r, w ∈ R, kar nam za rezultat ponudi doseganje minimuma pri r = e. Glede na to, da je najbližje celo število 3, predpostavimo, da baza r = 3 predstavlja najučinkovitejši zapis podatkov.

V prejšnjem stoletju je bilo v petdesetih letih v nekdanji Sovjetski zvezi zgrajenih kar nekaj računalnikov, ki so izvajali operacije v trojiškem zapisu in na osnovi trojiške logike. Ena od takšnih družin je bila serija računalnikov Setun, razvitih l.1958 na Moskovski državni univerzi. Temeljili so na uteženi množici entitet zapisovanja {−1, 0, 1}. Osnovna enota sorodna današnjemu byte-u je bil tryte, sestavljen iz šestih tritov (angl. trit). Kompaktnost zapisa v tryte-u matematično enačimo z isto podatkovno vsebino zapisano v 9,5 bitih.

Področje trojiškega zapisa in ustrezne logike še danes buri duhove znastvene srenje s področja računalništva. Mnogo zanimivih informacij s tega področja najdemo na spletni strani www.trinary.cc. Ob evidentnem skrajšanju zapisa podatkov, dobimo krajše enote obdelave, kar omogoča hitrejšo obdelavo podatkov, manj dostopov do pomnilnika, manjšo kompleksnost priključkov, itd.

2.3.2 tQCA celica kot primer EQCA

Osnovni zgled EQCA uporabe je novo vpeljana tQCA celica (angl. ternary quantum dot cellular automata). Gre za posplošitev Lentove dvostanjske celice, ki jo poznamo že iz predhodnega razdelka. Predvideno obnašanje tQCA celice je enako, kot v Lentovi, na vseh arhitekturnih točkah ujemanja, v novododanih arhitekturnih entitetah pa pridobi na dodatnih funkcionalnostih.

tQCA celica je sestavljena iz osmih kvantnih pik, ki so nanizane v cikel, kot je predstavljeno na vrhu slike 2.4.Na spodnjem delu slike so z oznakami A, B, C in D označena štiri stabilna diagonalna stanja, ostala stanja na desnem delu slike pa so nestabilna. Stanji A in B sovpadata z stabilnimi stanji v klasični Lentovi celici z logičnima vrednostima 0 in 1, novo pridobljeni stabilni stanji v arhitekturi celice pa sta vertikalno C stanje in horizontalno D stanje. Na prvi pogled smo na ta način pridobili štiristanjski sistem, a v kasnejših zgledih se bo izkazalo, da temu ni tako.

Figure 2.4: Zasnova tQCA celice.

Figure 2.5: Pravilni (A,B) in alternirajoči (C,D) prenos po tQCA ”liniji”.

Modeliranje dinamike v tQCA celici

Modeliranje in simulacije dinamike v celici temeljijo na fizikalnih zakonitostih Lenotve celice, ki so predstavljene v prejšnjem razdelku. Na samem začetku je bila glavna pozornost namenjena delovanju primitivov, kot so linija in majoritetna vrata. Omenjena dinamika je v primerih A in B potekala kot pri Lentu, v primerih C in D pa sta se liniji v smislu dinamike pokazali kot vrednostno alternirajoči. Slednje nas postavlja pred dejstvo, da smo pri prenosih C in D stanj omejeni na liho dolžino linije. Omenjene dinamike so prikazane na sliki 2.5, podatki pa se širijo od leve proti desni.V nadaljevanju smo se zaradi kompleksnosti izračunavanja odpovedali horizontalni D stabilni legi kot stanju, ki lahko nastopa kot gonilnik (angl. driver) ali vhodna celica. Hipotetično smo tudi predpostavili, da omenjena celica ne more nastopiti kot izhodna celica. Torej so možne vhodne in izhodne vrednosti celic pogojene z naborom leg {A, B, C}. Omenjeno množico sprejemljivih leg proglasimo za logične vrednosti,

Figure 2.6: Dinamika v negatorju in Lentovih majoritetnih vratih.

ki jih zapišemo z množico {0, 1, 1/2}. Tako pridemo do hipotetičnega trovrednostnega sistema, ki nastopa na vhodih in izhodih. Lego D tretiramo kot stanje celice, do katerega lahko prihaja le v notranjosti strukture tQCA celic.

Negacija deluje normalno tako pri legah A in B, kot tudi v legi C. Lega D predvidoma ne nastopa kot vhodni podatek, tako da je njena negacija nepomembna Zaplete pa se pri preverjanju pravilnosti delovanja majoritetnih vrat. Najprej omenimo, da z razliko od binarne logike na področju trojiških sistemov obstaja več logik. Za potrebe našega testiranja smo povzeli najbolj razširjeno Lukasiewicz-evo logiko. Po simulaciji delovanja majoritetnih vrat, smo prišli do ugotovitve, da se omenjena vrata v dveh primerih ne ”ravnajo” po zakonitostih izbrane logike. Omenjena negativna primera sta dosežena na primerih AND(1,0) in OR(0,1). V obeh primerih se nam na vhodu edinkrat v obeh logičnih tabelah pojavi prepovedana lega D, kot pravilni rezultat pa bi morali nastopati po vrsti vrednosti stanj 0 (lega A) in 1 (lega B). Za popravilo omenjenih vrat bi potrebovali ustrezno konverzijo majoritetnih vrat, ki bi znala glede na S vhod (angl. switch) ustrezno transformirati D, ali pa poiskati popolnoma novo strukturo. Dinamiki negacije in majoritetnih vrat sta prikazani na sliki 2.6.Odločili smo se za nadgradnjo majoritetnih vrat. Rešitev je prikazana na sliki 2.7, temelji pa na detekciji lege D in njeni eliminaciji glede na vrednost vhoda S, ki je dosežena posredno preko dodatnih dveh majoritetnih vrat. Rešitev je prostorsko sicer potratna, a zadovoljuje logične postulate Lukasiewicz-eve logike.Trenutno sta v fazi ”popravkov” tudi kotna in razvejitvena linija. Seveda je tak način popravljanja zamuden, predvsem pa prinaša dodatne podstrukture, kar je z vidika optimalnosti velikosti struktur moteče. V naslednjem razdelku opišemo rešitev delovanja z vpeljavo adiabatnega preklopa.

2.3. EQCA 17 Figure 2.7: Nadgradnja majoritetnih vrat realiziranih na osnovi raz širjene tQCA.

Figure 2.8: Spremenjena funkcija adiabatnega preklopa.

Figure 2.9: Rešitev delovanja struktur razvejitvene in kotne linije.

2.3.3 Vpeljava adiabatnega preklopa v tQCA

Zaradi problemov smeri pretoka širjenja signalov smo tudi v tQCA prisiljeni vpeljati adiabatni preklop ali nam že znan pomen štiri fazne ure, s čimer dosežemo sinhronizacijo prenosa in obdelave podatkov. Kombinacijo odsekoma linearne in konstantne funkcije v tem primeru zamenjamo zaradi prehitrega preklopa celic z funkcijo prikazano na sliki 2.8.Z vpeljavo tovrsntega urinega preklopa rešimo tako problem pravilnega delovanja kotne in razvejitvene linije, kot tudi problem pravilnega delovanja prvotnih ”Lentovih” majoritetnih vrat. Rešitve so prikazane na slikah 2.9 in 2.10.

2.3. EQCA 19 Figure 2.10: Rešitev delovanja strukture majoritetnih vrat.

20 CHAPTER 2. KVANTNI CELULARNI AVTOMATI

Kvantno procesiranje

Kvantno procesiranje je definirano kot kakršnokoli procesiranje, ki ga vrši kvantni računalnik (angl. quantum computer). Če delovanje klasičnega računalnika temelji na zakonih klasične fizike, delovanje kvantnega računalnika temelji na zakonih kvantne fizike.

3.1 Osnovna ideja kvantnega procesiranja

Osnovna ideja za kvantni računalnik izhaja iz enostavnega fizikalnega poizkusa. Predpostavimo, da vir svetlobe, ki je sestavljen iz nedeljivih delcev fotonov, naleti na zrcalo, ki del svetlobe odbija proti točki A, del pa proti točki B. Intuitivno bi lahko sklepali, da se del fotonov, ki so načeloma nedeljivi, odbije v eni, del fotonov pa v drugi smeri. Vsak posamezni foton, bi bil usmerjen tako na lokacijo A ali na lokacijo B. Pri tem je uporaba besedice ”ali” v predhodnjem stavku mišljena kot ekskluzivna (XOR) disjunkcija. Kvantna fizika pojasnjuje, da se vsak foton odbije v obeh smereh, čeprav gre za nedeljiv delec [Cal1]. Odtod interpretacija, da se isti delec kot nosilec informacije lahko nahaja na več pozicijah (v več stanjih) hkrati, kar imenujemo za superpozicijo ( angl. superposition). Omenjeni eksperiment je predstavljen na sliki 3.1.

Definition 1 Kvantni računalnik je kakršnakoli procesna naprava, ki izkorišča različne fenomene kvantne mehanike (npr. lastnost superpozicije in zapleta) za izvajanje operacij nad podatki [W ik1].

Značilnost superpozicije nam je že poznana, v naslednjih razdelkih pa bomo razložili še značilnost zapleta (angl. entaglement) in ostale značilnosti kvantnega procesiranja.

3.2 Qubit

V današnjih (elektronskih) računalnikih je osnovna entiteta pomnjenja ali procesiranja bit, njegovo vrednost pa si interpretiramo z napetostnimi nivoji. Os-Figure 3.1: Odboj fotona na dve različni lokaciji (A in B).

Figure 3.2: Intepretacija stanja ”0”.

nova kvantnih računalnikov je kakršenkoli dvostanjski (ali večstanjski) kvantni sistem. V nadaljevanju pričujočega dela se bomo ukvarjali le z dvostanjskimi kvantnimi sistemi. Osnovni nosilec informacije v dvovrednostnem kvantnem sistemu imenujemo za kvantni bit ali qubit (angl. quantum binary digit). Če je bit nosilec potencialne izključujoče dvovrednostne informacije, je nosilna narava qubita lahko istočasno dvovrednostna. Z razliko od ”klasičnega” bita, ki lahko hrani logični vrednosti 0 ali 1, qubit tako lahko hrani logično 0, 1, ali pa se nahaja istočasno v obeh stanjih. Poleg tega se vrednosti stanja kot dodatni parameter dodaja tudi verjetnost nahajanja v tem stanju. Notacija označevanja posameznih stanj je povzeta po takoimenovani bra/ket notaciji [Nag1]. Pri tem pod oznako ket smatramo notacijo |x⟩, ki jo tretiramo kot stolpični vektor in ponazarja kvantno stanje, pod oznako bra pa notacijo ⟨x|, ki jo tretiramo kot vrstični vektor. Za dvostanjski kvantni sistem bi bila tako notacija sledeča:

• |0⟩: qubit je v stanju, ki ponazarja bitno vrednost 0 (omenjeno stanje si lahko interpretiramo s spinom elektrona na sliki 3.2),

• |1⟩: qubit je v stanju, ki ponazarja bitno vrednost 1 (omenjeno stanje si lahko intepretiramo s spinom elektrona na sliki 3.3).

Stanja v qubitu niso stabilna (0 ali 1), temveč definirana z vektorjema a |0⟩ in b |1⟩. Splošen zapis kvantnega stanja |q⟩ qubita na osnovi ket notacije najdemo v izrazu (3.1), kjer je ponazorjen kot enotski vektor v dvodimenzionalnem

Figure 3.3: Intepretacija stanja ”1”.

prostoru. Pri tem sta a in b kompleksni števili.

|q⟩ = a |0⟩ + b |1⟩ = ( \begin{matrix}a \\ b \end{matrix} )  (3.1)

Omenjeni zapis stanja imenujemo tudi za valovno funkcijo [Use1]. Glede na definicijo stanja v vektorski obliki se tako kvantni sistem lahko nahaja v enem od posameznih osnovnih stanj, lahko pa tudi v več stanjih hkrati (lastnost superpozicije). Če govorimo o qubitu, kar pomeni, da sistem sloni na dveh osnovnih stanjih, imamo tako osnovni stanji a |0⟩ , b |1⟩ in njuno možno superpozicijo. Formalno za kvantno stanje qubita veljajo naslednji izrazi [Use1] , [V ir1]:

|a|^{2} + |b|^{2} = 1,  (3.2)
a = x_{o} + iy_{0}, b = x_{1} + iy_{1,}  (3.3)
|a| = \sqrt{x_{o}^{2} + y_{o}^{2}}, |b| = \sqrt{x_{1}^{2} + y_{1}^{2},}  (3.4)

pri čemer |a|^{2} predstavlja verjetnost stanja |0⟩ in |b|^{2} verjetnost stanja |1⟩ v qubitu. Za qubit torej velja, da se nahaja v enem od dveh možnih stanj, ali v obeh stanjih hkrati z ustreznimi verjetnostmi (je v superpoziciji). Z vektorjem |q⟩ je mogoče popisati vse lokacije na sferi predstavljeni na sliki 3.4.

Definition 2 Qubit je dvostanjski kvantni dinamični sistem, ki si ga v logičnem smislu interpretiramo kot dvodimenzionalni Hilbertov prostor. V njem imamo fiksno bazo B={|0⟩ , |1⟩} , stanji pa poimenujemo za osnovni stanji. Opazovanje (branje) qubita nam bo vrnilo vrednosti |a|^{2} in |b|^{2}, ki bosta ponazarjali verjetnosti nahajanja v posameznem stanju [Hir1].

3.3 Kvantni register

Kvantni register je sestavni segment kvantnega računalnika, ki naj bi vršil funkcijo osnovne delovne lokacije, nad katero se izvajajo operacije. Sekvenca qubitov v kvantnem registru ima zmožnost hranjenja kvantne besede (v klasičnih Figure 3.4: Sferična predstavitev posameznih sestavnih delov qubitnega stanja.

računalnikih byte, več byte-ov itd.), pri čemer se lahko posamezni qubiti nahajajo v superpozicioniranih kvantnih stanjih. Z vidika strukture smatramo kvantni register dolžine n qubitov kot 2^{n} dimenzionalni kompleksni vektor. Z razliko od sekvence n bitov, ki hranijo eno od 2^{n} možnih različnih stanj, sekvenca n qubitov v splošnem hrani 2^{n} možnih različnih stanj istočasno. Odtod smatramo kvantni register sestavljen iz n qubitov kot dosti ”efektivnejši” zapis podatkov. Register iz enega qubita tako hrani istočasno 2 različni stanji, register iz dveh qubitov 4 različna stanja, register treh qubitov 8 različnih stanj, itd.

S to možnostjo dobimo močan paralelni računalnik. Tako bi 300 qubitni kvantni register predstavljal ekvivalent 10^{90} klasičnih bitnih registrov. Slednje število je večje, kot je predvidevano število atomov v vesolju. Po veljavnih ocenah bi bil kvantni računalnik s 30 qubitnim registrom ekvivalenten računalniku z nekaj 10 TFlops procesne zmogljivosti.

Predpostavimo, da imamo opravka s kvantnim registrom dolžine treh qubitov. Če bi bil to klasičen bitni register, bi vanj lahko shranili 8 različnih vrednosti in sicer bitne zapise 000, 001,...,111. Če iz navedenega nabora potencialnih vrednosti izberemo zapisa 110, 111, bi ju lahko v kvantnem registru hranili istočasno. Slednje ponazorimo s superpozicioniranim zapisom LSQ (angl. least significant qubit)

\frac{1}{\sqrt{2}}(|0⟩ + |1⟩),  (3.5)

ali s tenzorskim produktom celotnega registra

|1⟩ ⊗ |1⟩ ⊗ \frac{1}{\sqrt{2}}(|0⟩ + |1⟩).  (3.6)

3.4. KVANTNA LOGIČNA OPERACIJA ALI KVANTNA LOGIČNA VRATA25

V primeru, da bi v registru hoteli istočasno pomniti vseh osem različnih vrednosti, bi to zapisali s tenzorskim produktom

\frac{1}{\sqrt{2}}(|0⟩ + |1⟩) ⊗ \frac{1}{\sqrt{2}}(|0⟩ + |1⟩) ⊗ \frac{1}{\sqrt{2}}(|0⟩ + |1⟩) =  (3.7)

(\frac{1}{\sqrt{2}} |0⟩ + \frac{1}{\sqrt{2}} |1⟩) ⊗ (\frac{1}{\sqrt{2}} |0⟩ + \frac{1}{\sqrt{2}} |1⟩) ⊗ (\frac{1}{\sqrt{2}} |0⟩ + \frac{1}{\sqrt{2}} |1⟩).  (3.8)

3.4 Kvantna logična operacija ali kvantna logična vrata

Definition 3 Kvantna logična operacija (kvantna logična vrata) je unitarna preslikava U:H2→ H2.

Kvantna logična operacija sovpada z nam znanim terminom kvantih logičnih vrat. Slednja vršijo preslikavo

|0⟩ → a |0⟩ + b |1⟩ ,  (3.9)
|1⟩ → c |0⟩ + d |1⟩ ,  (3.10)

pri čemer je matrika U = [ \begin{matrix}a & c \\ b & d \end{matrix} ] unitarna. Unitarnost matrike je izpolnjena,

ko je matrika U reda nxn in velja izraz

U ∗ U^{T} = U^{T} ∗ U = I.  (3.11)

Pri tem I predstavlja enotsko matriko. Lastnost unitarnosti matrike omogoča reverzibilnost logičnih kvantnih logičnih operacij. Tipična primera tovrstnih vrat sta Hadamardova in Toffolijeva vrata, ki v paru tvorita univerzalni nabor kvantnih vrat (to je vse kar potrebujemo za kvantni računalnik). S tem naborom lahko modeliramo poljubna druga kvantna vrata.

Začnimo z enostavnejšimi gradniki. Prvi takšen primer je kvantni negator na qubitu s stanjem |q⟩ = a |0⟩ + b |1⟩. Ponazorimo ga lahko z matriko

U_{neg} = [ \begin{matrix}0 & 1 \\ 1 & 0 \end{matrix} ] .  (3.12)

Slednja daje kvantni negaciji pomen NEG(|q⟩) = b |0⟩ + a |1⟩ preko matematičnega izraza

[ \begin{matrix}0 & 1 \\ 1 & 0 \end{matrix} ] [ \begin{matrix}a \\ b \end{matrix} ] = [ \begin{matrix}b \\ a \end{matrix} ] .  (3.13)

Kompleksnejši funkciji sta Z funkcija in predhodno omenjena Hadamardova vrata podani z unitarnima matrikama

U_{z} = [ \begin{matrix}1 & 0 \\ 0 & −1 \end{matrix} ] , U_{Hadamard} = \frac{1}{\sqrt{2}} [ \begin{matrix}1 & 1 \\ 1 & −1 \end{matrix} ] .  (3.14)

Prva od funkcij pusti |0⟩ nespremenjen, na |1⟩ pa izvede fazni premik (angl. phase shift) s spremembo predznaka.Druga funkcija je ena od najpomembnejših kvatnih funkcij, saj izvede superpozicijo nad |0⟩ in |1⟩. Čeprav imamo navidezno možnih neskončno logičnih vrat nad qubitom, poljubna dvodimenzionalna unitarna matrika ne predstavlja logičnih vrat. Pogoj, ki omejuje možni prostor, je relacija |a|^{2} + |b|^{2} = 1, ki mora veljati za izhodiščno stanje, nad katerim deluje preslikava [Nag1].

Definition 4 Kvantni algoritem je algoritem, ki s svojimi napotki kakorkoli izkorišča zmožnosti superpozicije v kvantnih računalniških strutkurah. Z operacijskega vidika takšen algoritem vrši modifikacijo (množenje) registra z unitarno matriko (slednja je pogojena s fizikalnimi lastnostmi realizacije).

3.5 Invazivnost branja

Praviloma so vsa branja ali meritve superpozicioniranih qubitov (stanj) invazivne [P it1]. Slednje pomeni, da bralne metode ”podrejo” obstoječe stanje, qubit pa preide le v eno od razpoložljivih osnovnih stanj |0⟩ ali |1⟩. Ker je takšen proces ireverzibilen, bi moralo kvantno procesiranje potekati brez prisotnosti branja, ali pa bi branje morali zasnovati kot proces, pri katerem pričakujemo kot izhod samo eno od dveh možnih osnovnih stanj, pri čemer nam mora proces procesiranja takšno stanje zagotoviti. Ker nimamo na razpolago operacije branja, qubitov ne moremo ”kopirati”. Slednje sicer ponuja možnosti ”varnega” prenosa podatkov, seveda pa postavlja velik problem pri procesnem rokovanju s qubitom. Glede na povedano merjenje, branje ali opazovanje qubita venomer vrnejo le stanji |0⟩ ali |1⟩, ne glede na možno superpozicijo.

3.6 Ostale značilnosti kvantnega procesiranja

Poleg značilnosti superpozicije in invazivnosti branja (angl. uncertainty principle) imajo kvantni računalniki še nekaj drugih posebnih lastnosti. Naj jih naštejemo:

• Interferenca: Za interferenco imenujemo možnost vplivanja enih vhodov na druge, ki bodisi ojačajo drug v drugega, ali se razveljavijo.

• Zaplet (angl. entaglement): Za zaplet imenujemo kvantni fenomen, pri katerem je opis kvantnih stanj dveh ali več objektov zapisan v obliki vezane reference. Na ta način lahko vrednost stanja enega objekta predpostavimo na osnovi stanja njegovega soseda, kar nakazuje potencialno možnost za realizacijo neinvazivnega branja.

• Kvantna nedeterminističnost:

• Neklonirnost (angl. no-clonability): Zaradi invazivnosti branja qubitov v superpoziciji ali v neortogonalni legi ne moremo kopirati (klonirati), kar smo na nivoju klasičnega bita lahko počeli.

• Nelokalnost:

3.7 Delovanje kvantnega računalnika

Kvantni računalniki naj bi delovali po principu Pripravi-Razvij-Izmeri. Slednje termine si razlagamo po vrsti kot

• Pripravi: postavitev kvantnega registra v začetno stanje (npr. vsi qubiti se postavijo v stanje |i⟩),

• Razvij : izvaja se zaporedje operacij, ki spremeni začetno stanje registra v nova potencialna superpozicionirana stanja, kar predstavlja sprejemljive rešitve in

• Izmeri: vrne eno od stanj superpozicije.

3.8 Aplikativne prednosti qubitnega pristopa

Glede na večstanjskost qubita, se izredno poveča njegova ”informacijska moč”. Na ta način z njim lahko rešujemo dosti kompleksnejše algoritme, kot smo jih vajeni reševati z današnjimi računalniki. Tipični zgledi področij, kjer pričakujemo izrazito pospešitev delovanja so

• hitro iskanje podatkov,

• hitri enkripcijski postopki,

• hitra faktorizacija velikih števil (Shorov algoritem [Sho1]),

• generiranje naključnih števil,

• kvantna teleportacija itd.

3.9 Realizacija kvantnega računalnika

Realizacije kvantih računalnikov so zaradi težavnosti tehnološke izvedbe danes še v povojih. Ena od prvih komercialnih izvedenk je družina naprav D-Wave, ki v letu 2008 temelji na 64.000 paralelnih operacijah in 28 qubitnem registru, samo procesiranje pa poteka v tekočem heliju pri izredno nizkih temperaturah. V letu 2009 naj bi prišlo do postavitve kvantnega računalnika z 1024 qubitnim registrom.

3.10 Simulacijska orodja

Za postavitve kvantnih računalnikov je na razpolago kar nekaj orodij. Najbolj razširjeni so ”QCAD”, ”C++ Quantum Library” in ”jQuantum”. Oglejmo si podrobneje slednjega.

3.11 Povzetek poglavja

Praktične realizacije kvantnega računalnika danes v uporabi še ni. Temu primerno je seveda tudi težko določljivo, v kolikšni meri bo realizacija zanesljivega kvantnega računalnika resnično vplivala na kvalitativni preskok pomena pojma ”procesiranja”. Vsekakor pa vsi modeli kažejo, da je pričakovati eksponentno zvečanje hitrosti tovrstnih naprav v primerjavi z današnjimi računalniki predvsem iz vidika večje ”kompaktnosti” podatkov, ki bodo podvrženi obdelavi.

DNK Procesiranje

DNK procesiranje temelji na osnovnem kodirnem mediju, ki ga predstavlja molekula deoksiribonukleinske kisline (angl. deoxyribonucleic acid - DNA). Procesiranje se v tem smislu prenese iz klasičnih elektronskih polprevodniških medijev na nov molekularni ali biološki medij. Dinamika v tovrstnih sistemih temelji na biotehnoloških metodah in vidikih sistemske biologije [P DF 1]. Struktura DNK je zanimiva za procesiranje že iz tega vidika, ker istočasno predstavlja medij ”hranjenja” genske zasnove živih organizmov (angl. blue print) in je s tem izpostavljena velikemu obsegu raziskav in tehnoloških izboljšav pri njihovi manipulaciji. Ni potrebno posebej omenjati, da je z gensko zasnovo živega bitja determinirana dinamika v posameznih celicah in s tem posredno dinamičen proces življenja biološkega bitja kot celote.

V nadaljevanju razdelka si bomo ogledali nekaj različnih pristopov k DNK procesiranju, ki nas bodo z različnih zornih kotov prepričali, da je DNK medij eden od možnih medijev procesiranja bodočnosti.

4.1 Osnove DNK medija

Če kodiranje podatkov v klasičnih digitalnih elektronskih strukturah temelji na logični ”0” in ”1”, njuni vrednosti pa si interpretiramo z napetostnimi nivoji na ključnih točkah digitalnega vezja, kodiranje podatkov v DNK temelji na poljubno dolgih nizih (molekuli), ki jih sestavljajo v poljubnem zaporedju vezane baze ali nukleotidi A (adenin), C (citozin), G (gvanin) in T (timin). Poljubna DNK je sestavljena iz dveh nizov (dveh molekul), ki se prepletata v vijačnico. Gostota zapisa je približno ena baza na vsakih 0,35 nm, kar vodi do gostote zapisa podatkov približno 18Mbitov/inch. Če bi vijačnico zvili na površino, bi s tem prišli do gostote zapisa 10^{6} Gbitov/inch^{2}, današnje tehnologije trdih diskov pa dosegajo velikostni razred 10Gbitov/inch^{2}. Tako je DNK medij zanimiv že zaradi izredne gostote zapisa, ki nam jo ponuja.

Povrnimo se k samemu zapisu podatkov. Povedali smo, da DNK predstavlja vijačnica, sestavljena iz dveh nizov (dveh molekul). Posamezni niz v vijačnici je lahko poljubno zaporedje izbranih baz iz množice B = {A, T, C, G}, zaradi komplementarnosti baz (A je komplementarna T in obratno, C pa je komplementarna G in obratno), pa so dovoljeni na drugem nizu zgolj komplementi prvotnega niza. Če bi torej imeli niz S=ATTACGTCG, bi bil v vijačnico z njim lahko povezan le niz S’=TAATGCAGC. Če predpostavimo, da imamo na enem nizu shranjen podatek, na drugem nizu pa njegov komplement, imamo tako na razpolago s primerjanjem nizov enostaven sistem za detekcijo napak, saj nam v nizih identificira lokacijo razlikovanja. Do okvar v nizih lahko pride že pri njihovi sestavi, ki jo vršijo encimi (verjetnost takšne napake je manjša od 10^{−9}), lahko pa do okvar pride po sestavljanju zaradi zunanjih vplivov (npr. prisotnost UV sevanja ali termične energije, itd.).

Kot smo že omenili so osnovni manipulatorji nad DNK encimi. Kot manipulacije nad DNK smatramo postopke sestavljanja, rezanja, kopiranja in popravljanja DNK. Omenjene manipulacije smatramo kot osnovne operacije DNK procesiranja in predstavljajo vsebinski ekvivalent dvojiškim logičnim operacijam. Pomembna značilnost manipulacij nad DNK vijačnico je tudi v možnosti paralelizma. Slednje pomeni, da prisotnost različnih encimov na različnih delih vijačnice omogoča paralelne posege nad posameznimi deli niza in s tem možnost paralelne obdelave podatkov.

Gledano z vidika organizma, je gen del DNK vijačnice, ki predstavlja enoto dedovanja. Pojem genoma je skupek vseh genov organizma, ki ga opazujemo. Tako ima človeški genom po trenutnih ocenah (podatek datira na leto 2009) nekje od 20.000 do 25.000 genov (dedovalnih podsegmentov), celotna DNK vijačnica pa sestoji iz 3 ∗ 10^{9} baznih parov. Grafična predstavitev molekule DNK je predstavljena na sliki 4.1 [W ik1].

4.2 DNK procesiranje z vidika sistemske biologije

Termin sistemske biologije se je vpeljal v uporabo v zadnjem desetletju, njegove osnove pa so z vidika procesiranja izredno dobro predstavljene v delu [Alo1]. Za nas računalničarje, pa tudi za biologe, farmacevte, zdravnike itd. je najpomembnejši tisti del DNK zaporedja, kjer je definiran zapis pogojev za proženje generiranja proteinov in navodila za njihovo izdelavo (t.j. seznam aminokislin, ki sestavljajo posamezen protein). Na ta način si lahko DNK zaporedje interpretiramo kot računalniški program, posamezne proteine pa po eni plati kot vhodne podatke, s pomočjo katerih se samo procesiranje sproži, po drugi plati pa kot izhodne rezultate procesiranja, kot ga je definiral ustrezni podniz v DNK verigi [Ram1]. Različni proteini so torej tako vhodni, kot tudi izhodni medij DNK procesiranja.

Skušajmo v grobem predstaviti osnovne zakonitosti videnja uporabe DNK v namene procesiranja, kot ga razumemo računalnikarji in sicer bomo osnove predstavili skozi praktično postavitev modela biološkega vezja enostavne RS pomnilne celice [Mos1].

Figure 4.1: Slika dvojne vijačnice, ki tvori molekulo DNK.

4.2.1 Osnovni gradniki biološkega sistema

Procesiranje v bioloških sistemih lahko poteka v eni ali več gostiteljskih celicah. Brez izgube na splošnosti se bomo v naši predstavitvi omejili na hipotetično realizacijo v enoceličnem gostitelju prokariontske narave. V takšni zaključeni enoti (celici) se nahajajo naslednji pomembni gradniki, ki vplivajo na programiranje njene dinamike [Gli1]:

• zapis (molekula) DNK je kodiran s štirimi nukleotidnimi bazami (A, G, C in T) in je poljubne dolžine; poleg kontrolnih informacij hrani osnovna navodila za generiranje proteinov;

• kodon je osnovni sestavni del zaporedja DNK; sestavljen je iz zaporedja poljubnih treh nukleotidnih baz (treh kodov), tako da lahko predstavlja enega od 4^{3} = 64 možnih različnih zapisov; posamezni kodon bodisi definira tvorbo ene od dvajsetih možnih ciljnih aminokislin, ali pa ima drug pomen (npr. začetek ali konec prepisovanja);

• promotor je začetni del zapisa gena, na katerega se mora vezati encim RNK polimeraze; s tem je izpolnjen prvi od dveh potrebnih pogojev za proženje proizvajanja proteina v celici po programu zapisanem na ostalem delu genskega zaporedja;

• operator je del promotorja, na katerega se mora vezati transkripcijski faktor; s tem je izpolnjen drugi pogoj za proženje generiranja proteina v celici;

Figure 4.2: Grafična predstavitev vpliva represorja in aktivatorja

• transkripcijski faktor je specifični protein, ki s svojo vezavo na operator promotorja pospešuje oziroma zavira vezavo RNK polimeraze na promotorski del DNK zapisa in s tem neposredno odloča o intenzivnosti tvorbe izhodnega proteina;

Samo dinamiko v celici, ki se manifestira v obliki tvorbe novih proteinov, delimo na fazi transkripcije in translacije. Sproži se ob vezavi RNK polimeraze na promotor DNK zapisa ob prisotnosti vseh zahtevanih transkripcijskih faktorjev. Po vezavi na promotor RNK polimeraza potuje vzdolž dvojne vijačnice DNK in shranjen genetski zapis prepisuje v mRNK (sporočilno RNK). Proces prepisovanja DNK zapisa v mRNK zapis imenujemo za transkripcijo. Proces transkripcije se ustavi ob specifičnem kodonu, t.i. stop kodonu. Po procesu transkripcije se na novo nastalo molekulo mRNK vežejo ribosomi (natančneje na t.i. mesto vezave ribosoma - RBS), s čimer so izpolnjeni pogoji za začetek prevajanja mRNK zapisa v zaporedje aminokislin (ciljni protein). Ta proces imenujemo za translacijo. Intenzivnost generiranja določenega proteina lahko spremljamo tako, da vzporedno z njim proizvajamo še proteine (npr. zeleni fluorescirajoči protein - GFP) zaznavne z danes dosegljivimi tehnologijami.

Transkripcijske faktorje glede na njihov učinek delimo na aktivatorje, ki vezavo pospešujejo (aktivirajo, inducirajo) in represorje, ki vezavo zavirajo (represirajo, inhibirajo). Prvi torej z vezavo na operator večajo frekvenco transkripcij mRNK, oziroma sploh omogočajo sam proces transkripcije, drugi pa proces transkripcije zavirajo. V obeh primerih se frekvenca transkripcij manifestira v količini generiranega ciljnega proteina. Grafično njuna vpliva ponazarjamo s povezavama, ki sta predstavljeni na sliki 4.2 [Alo1].Z vidika snovalca klasičnih logičnih digitalnih struktur bi lahko predhodno navedene gradnike razdelili na vhodne, procesne in izhodne entitete po naslednjem principu:

• vhodni segment: prisotnost/odsotnost proteina s funkcijo transkripcijskega faktorja,

• decizijski segment: zapis DNK (program), ki vsebuje navodila za tvorbo ciljnega izhodnega proteina,

• izhodni segment: novogenerirani protein, ki ima lahko tudi funkcijo transkripcijskega faktorja, ni pa to nujno.

Ostale faktorje, ki vplivajo na frekvenco transkripcij (npr. prisotnost RNK polimeraze) zagotovimo že z umestitvijo molekule DNK v ustrezno okolje.

Figure 4.3: Logična shema RS pomnilne celice.

4.2.2 Koraki za efektivno postavitev željenega biološkega sistema

Postavitev željenega biološkega sistema naj bi potekala v korakih, ki zagotavljajo optimalno izvedbo. Ti so sledeči [Cve1] :

• postavitev modela željene logične prevajalne funkcije, kot smo je vajeni pri klasičnem načrtovanju logičnih struktur,

• prenos modela logične prevajalne funkcije na model biološkega sistema,

• modeliranje odzivnosti biološkega sistema na osnovi numeričnih atributov hipotetične realizacije,

• fizična realizacija biološkega sistema in njegovo testiranje.

V našem delu se bomo omejili le na predstavitev prvih treh korakov postavitve.

4.2.3 Model realizacije RS pomnilne celice v biološkem sistemu

Model željene logične prevajalne funkcije

Na sliki 4.3 je prikazana logična shema RS pomnilne celice. Ima dva vhoda in dva izhoda. RESET vhod (R) v aktivnem stanju (logična vrednost 1) postavi izhod (q) na logično vrednost 0, SET vhod (S) v aktivnem stanju pa postavi izhod (q) na logično vrednost 1. Če ni aktiven nobeden od vhodov, se stanje izhodov ohranja, kar je zagotovljeno s povratno vezavo. Prehajanje med stanji na osnovi obeh aktivnih vhodov ni definirano. Delovanje RS pomnilne celice ponazarja prevajalna funkcija v tabeli (4.1).

Figure 4.4: Logična shema NOR logičnih vrat.

Figure 4.5: Model biološkega sistema NOR vrat.

\begin{matrix}R & S & D^{1}q & D^{1}\overline{q} \\ 0 & 0 & q & \overline{q} \\ 0 & 1 & 1 & 0 \\ 1 & 0 & 0 & 1 \\ 1 & 1 & X & X \end{matrix}  (4.1)

Kot je razvidno iz slike 4.3, lahko RS celico realiziramo na osnovi para logičnih dvovhodnih NOR vrat. Logično shemo NOR vrat prikazuje slika ??, njihovo prevajalno funkcijo pa tabela (4.2).

\begin{matrix}A & B & X \\ 0 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 0 & 0 \\ 1 & 1 & 0 \end{matrix}  (4.2)

Prenos modela prevajalne funkcije na model biološkega sistema

Model sistema bo temeljil na biološki realizaciji logičnih NOR vrat. Slednjo začnemo snovati pri vhodih (A, B), za kar uporabimo par transkripcijskih faktorjev. če se po vzoru [Gar1] omejimo na uporabo transkripcijskih faktorjev represorske narave, bi glede na prevajalno funkcijo iz tabele (??) lahko posamezna NOR vrata realizirali z operatorjem, ki bi prožil postopek transkripcije le ob odsotnosti obeh transkripcijskih faktorjev. Ob prisotnosti vsaj enega od dveh represorjev (A in/ali B) bi se tako postopek transkripcije ustavil. Model biološkega sistema za realizacijo NOR logičnih vrat je predstavljen na sliki 4.5.

Pri tem → predstavlja promotorski del DNK, \underline{X} navodilo za izdelavo proteina X (zaporedje kodirajočega proteina), par (A, B) predstavlja represorska proteinska vhoda (signala), X pa izhodni protein (signal), ki se generira le ob odsotnosti obeh vhodnih proteinov.

Figure 4.6: Model biološkega sistema celotne RS celice.

Figure 4.7: Razširjeni model biološkega sistema celotne RS celice.

Ob tako pridobljenih hipotetično delujočih bioloških NOR vratih sestavimo tudi model celotne RS celice predstavljen na sliki 4.6.

Kot pri običajni RS celici aktivacija RESET vhoda (prisotnost represorskega proteina z oznako R) povzroči deaktivacijo izhodnega signala (ustavi proces transkripcije izhodnega proteina q). Prisotnost SET vhoda (prisotnost represorskega proteina z oznako S) povzroči deaktivacijo komplementa izhodnega signala (\overline{q}) in posledično aktivacijo izhodnega signala. Proteina q in \overline{q} se medsebojno represirata, kar nam omogoča ohranjanje stanja RS celice ob odsotnosti obeh vhodnih signalov. Protein q torej nastopa kot represor proteina \overline{q}, \overline{q} pa kot represor proteina q. Natančnejši prikaz modela sistema biološke RS celice prikazuje slika 4.7. Pri tem so oznake skladne z notacijo uporabljeno v prejšnjih razdelkih.

Modeliranje odzivnosti biolškega sistema

Delovanje biološke RS celice smo modelirali z uporabo determinističnega modela, ki določa koncentracije posameznih proteinov v posameznem trenutku z uporabo diferencialnih enačb (angl. ordinary differential equations - ODE), natančneje s t.i. Hillovimi funkcijami [Alo1]. Koncentracijo proteina q v danem trenutku lahko izrazimo z izrazom (4.3), kjer β_{0} določa puščanje vrat (leakiness), β maksimalno stopnjo transkripcije proteina, R koncentracijo proteina, ki določa RESET vhod, \overline{q} koncentracijo proteina \overline{q}, K koeficient represiranja (pri K enotah represorskega proteina, je transkripcija pol manjša od maksimalne), n koeficient kooperativnosti, ki nam pove koliko enot vhodnega proteina se mora naenkrat vezati na operator, ter δ intenzivnost degradacije proteina. Pri tem je puščanje vrat določeno s koncentracijo proteina, ki se generira ne glede na prisotnost oziroma odsotnost transkripcijskih faktorjev.

\frac{dq}{dt} = β_{0} + \frac{β}{1 + (\frac{R+\overline{q}}{K})^{n}} − δq  (4.3)

Koncentracijo proteina \overline{q} lahko zapišemo z izrazom (4.4), kjer posamezni koeficienti igrajo enake vloge kot pri prvi enačbi, S pa predstavlja koncentracijo proteina, ki določa SET vhod.

\frac{d\overline{q}}{dt} = β_{0} + \frac{β}{1 + (\frac{S+q}{K})^{n}} − δ\overline{q}.  (4.4)

Po pregledu relevantne literature [Kob1] , [T ia1] smo za predhodno navedene parametre izbrali vrednosti

β_{0} = 0.2 ∗ \frac{μM}{min},  (4.5)
β_{1} = 4 ∗ \frac{μM}{min},  (4.6)
K = 1μM,  (4.7)
n = 3,  (4.8)
δ = 1min^{−1},  (4.9)

kjer M predstavlja enoto \frac{mol}{l}. Glede na enostavnost diferencialnih enačb smo računski model postavili v okolju Matlab/Simulink (slika \ref{fig:matlab}), pri čemer gradnika \emph{RST} in \emph{SET} predstavljata generatorja vhodnih signalov. Vsakemu je dodan $10\%$ šum z gradnikom tipa \emph{Band Limited White Noise}. Modeliranje zakasnitev pri vezavi specifičnih proteinov na promotorske regije in zakasnitev pri transkripciji specifičnih proteinov je bilo implementirano s pomočjo gradnika \emph{Transport Delay}. Podsistem, ki služi modeliranju samega procesa transkripcije proteina $q$ je predstavljen na sliki \ref{fig:matlab_pod}. Pri tem gradnik Hill vsebuje Hillovo funkcijo tranksripcije proteina q (glej enačbo (4.3)), ki jo je potrebno še integrirati (gradnik Integrator). Rezultatu transkripcije prav tako kot vhodom dodajamo šum. Modeliranje transkripcije proteina q je analogno modeliranju transkripcije proteina $q$.

\begin{figure}[htb]

\centerline{\psfig{figure=matlab.eps, width=200pt}}

\caption{Model sistema postavljen v okolju Matlab/Simulink.\\ Figure \ref{fig:matlab}. Prevod.} \label{fig:matlab} \end{figure} \begin{figure}[htb] \centerline{\psfig{figure=matlab_pod.eps, width=150pt}} \caption{Podsistem za modeliranje transkripcije proteina $q$ postavljen v

okolju Matlab/Simulink.\\ Figure 4.8: Simulacijski rezultati dinamike generiranja izhodnega proteina q oziroma \overline{q} v odvisnosti od koncentracije vhodnih represorjev.

Figure \ref{fig:matlab_pod}. Prevod.} \label{fig:matlab_pod} \end{figure}

Simulacijski rezultati v idealnem okolju

Za idealno simulacijsko okolje smatramo razmere, pri katerih je hipotetično možen hipen vnos ustreznih koncentracij transkripcijskih faktorjev. Simulacija dinamike je prikazana na sliki 4.8. Pri tem x os predstavlja simulacijski čas ene ure, y osi pa po vrsti koncentracije izhodnega proteina q, izhodnega proteina \overline{q}, ter koncentracije vhodnih proteinov R in S.Na začetku simulacije smo aktivirali R (RESET) vhod in deaktivirali S (SET) vhod. Kombinacija je represirala generiranje proteina q. Zaradi odsotnosti represorskih proteinov q in S, je bilo izražanje proteina \overline{q} maksimalno. Čez nekaj časa smo v simulaciji vhodni protein R odstranili, kar je povzročilo ohranjanje stanja. Represorski protein \overline{q} je preprečeval izražanje (tvorbo) proteina q. Represorska proteina, ki vplivata na izražanje proteina \overline{q} nista bila prisotna, zato je bilo izražanje le-tega še vedno maksimalno. Aktivacija vhodnega proteina S je vodila v represiranje izražanja proteina \overline{q}. Njegova transkripcija se je ustavila. Po določenem času Figure 4.9: Simulacijski rezultati dinamike generiranja izhodnega proteina q oziroma \overline{q} v odvisnosti od koncentracije vhodnih represorjev v realnem neidealnem okolju.

se je protein \overline{q} razgradil do koncentracije, ki je bila premajhna za represiranje transkripcije proteina q, kar je vodilo v njegovo maksimalno izražanje. Stanje se je po odstranitvi vhodnega proteina S ohranjalo, saj je bila v danem trenutku koncentracija proteina q tako visoka, da je represirala izražanje proteina \overline{q}.

Simulacijski rezultati v realnem neidealnem okolju

Za realno neidealno simulacijsko okolje smatramo razmere, pri katerih je vnos ustreznih koncentracij transkripcijskih faktorjev časovno pogojen v obliki rastoče ali padajoče funkcije koncentracije, poleg tega pa transkripcija proteina in njegova vezava na promotorska področja ni hipna, kot je bilo predpostavljeno pri idealizirani simulaciji. Koncentracijo vhodnih proteinov smo zato predstavili s funkcijama, ki postopno prehajata iz aktivnega v neaktivno stanje in obratno, poleg tega pa smo v simulacijo vpeljali časovne zakasnitve in šum. Rezultati simulacije v realnem neidealnem okolju so predstavljeni na sliki 4.9, iz katerih je razvidno pravilno delovanje obravnavanega vezja. Pri tem x os predstavlja simulacijski čas ene ure, y osi pa po vrsti koncentracije izhodnega proteina q, njegovega komplementa \overline{q} ter koncentracije vhodnih proteinov R in S.

Povzetek DNK procesiranja z vidika sistemske biologije

V pričujočem prispevku smo prikazali osnovne korake za alternativni pristop snovanja procesno pomnilnih struktur v bioloških sistemih. Sami rezultati zasnove in modela so obetajoči in so hipotetično dobra osnova za prehod na zadnjo fazo same fizične izvedbe v gojenih celičnih strukturah. Počasnost obravnavanega vezja na prvi pogled predstavlja oviro pri postavljanju procesno zahtevnejših platform, po drugi strani pa to smatramo zgolj kot kompromis ob veliki stopnji paralelnosti, ki nam zagotavlja visoko zmogljivost tovrstnih sistemov. Avtorji dela [Mos1] smo v fazi priprave same realizacije, ki bo izvedena na Kemijskem inštitutu v Ljubljani, Slovenija. Predpostavljamo, da bo fizična realizacija uspešna, s čimer bomo tudi v praksi potrdili našo hipotezo o možnosti realizacije procesnih primitivov v bioloških sistemih.

4.3 Adlemanov zgled procesiranja v okolju DNK

L.M.Adleman svoj znani zgled procesiranja s pomočjo sodelavcev predstavi l.1994 in še danes služi kot temeljni zgled reševanja NP-polnega problema, ki ga lahko z visokim paralelizmom rešujemo dosti bolj efektivno [Cal2]. Omenjena postavitev predstavlja potrditev smiselnosti konceptualnega pristopa (angl. proof of the concept) k procesiranju nad DNK medijem.

4.3.1 Predstavitev problema Hamiltonovih poti

Adleman si za temeljni zgled reševanja NP-polnega problema zastavi problem Hamiltonovih poti. Ta predvideva, da smo soočeni s problemom obiska n mest (vozlišč v grafu), med katerimi vodi poljubno število eno ali dvosmernih povezav. Startno in ciljno mesto sta določeni, vsa ostala mesta pa naj bi ob obhodu obiskali le enkrat. Ni nujno, da rešitev takšnega problema sploh obstaja, je pa njeno iskanje pogojeno z veliko kompleksnostjo. Slednja strmo raste s povečevanjem števila mest (vozlišč). Algoritem za reševanje problema naj bi zgolj potrdil ali zavrnil obstoj enkratnega obhoda, kar predstavlja rešitev.

Na sliki 4.10 najdemo shemo konkretnega problema, ki si ga je za reševanje zadal Adleman. Ciljno potovanje je pogojeno s štirinajstimi povezavami in sedmimi mesti, vprašanje ki se zastavlja pa je, če vodi pot iz mesta 0 v mesto 6 preko vseh vozlišč le enkrat. Zaradi majhnega števila mest lahko rešitev zaznamo iz samega grafa, vodi pa zaporedoma po mestih 0, 1, 2, 3, 4, 5 in 6.

4.3.2 Prostorska potratnost kot rešitev procesne potratnosti

Osnovna ideja Adlemana ob reševanju problema je bila, da potencialno procesno potratnost za reševanje problema nadomesti s prostorsko potratnostjo algoritma. Slednjega lahko opišemo z naslednjimi psevdo koraki:

Figure 4.10:

1. Vhod v algoritem je usmerjeni graf G z n vozlišči, od katerih sta dve posebni v_{in}, v_{out} (izvor in ponor poti),

2. Korak 1: generiraj potencialne poti v grafu G naključno in v velikih količinah,

3. Korak 2: zavrži vse poti, ki nimajo ustreznega ponora in izvora,

4. Korak 3: zavrži vse poti, ki ne obiščejo natanko n mest (vozlišč),

5. Korak 4: ponavljaj za vsako od n mest (vozlišč): preglej vse generirane sekvence mest in posamezno pot zavrži, če ne vsebuje trenutno opazovanega vozlišča,

6. Izhod se sprocesira kot odgovor ”DA”, če vse poti niso bile zavržene, drugače pa je odgovor ”NE”.

Ob hipotetični predpostavki, da obstaja procesna platforma, ki bo dovoljevala za izvedbo vsake operacije algoritma le en korak, lahko izračunamo, da je algoritem linearno odvisen od števila n. Predpostavimo, da so koraki 1, 2 in 3 konstantne dolžine (neodvisni od števila n), korak 4 pa linearno odvisen od števila n. Ključni izvedbeni korak, ki opravi večino dela, je korak št.1. Zadolžen je za generiranje ”dovolj” velike množice možnih sekvenc mest (poti), da ”pokrije” vse potencialne rešitve. Za omenjeno dejavnost sta potrebna masivni paralelizem in nedeterminizem kemičnih reakcij, za katere smo že ugotovili, da jih procesiranje nad DNK omogoča, neodvisno od velikosti števila n.

4.3.3 Realizacija rešitve problema

Realizacijo rešitve Adleman predlaga v možnosti kodiranja vsakega vozlišča (mesta) v grafu s sekvenco 20 osnovnih baznih parov DNK vijačnice iz množice B = (A, T, C, G). Kode sedmih vozlišč naj bi se generirale naključno, dolžina 20 baznih parov pa naj bi omogočala ”dovoljšnjo” različnost med posameznimi kodi. Predpostavimo, da je nedeterministični paralelni postopek dodelil mestom 2, 3 in 4 naslednje kode:

s_{2} = T AT CGGAT CG GT AT AT CCGA,
s_{3} = GCT AT T CGAG CT T AAAGCT A,
s_{4} = GGCT AGGT AC CAGCAT GCT T.

S tem smo zakodirali posamezna vozlišča, ne pa še posameznih poti, ki so cilj iskanja. Iz 20 znakovnih kodov posameznih mest Adleman predlaga postopek kodiranja prehodov (povezav) med posameznimi vozlišči. Za vsako povezavo, ki vodi iz vozlišča i v vozlišče j bomo vzeli drugo polovico kode izvornega vozlišča in prvo polovico kode ponornega. Omenjena niza staknemo in ju negiramo z Watson-Crick-ovim komplementom, ki predvideva negacije po izrazu

\overline{T} = A, \overline{A} = T, \overline{C} = G, \overline{G} = C.

Tako bi dobili kodo poti iz vozlišča 2 v vozlišče 3 z izrazom

e_{2→3} = CAT AT AGGCT CGAT AAGCT C,

kodo poti iz vozlišča 3 v vozlišče 2 pa z izrazom

e_{3→2} = GAAT T T CGAT AT AGCCT AGC.

S pomočjo encimov (ligaz) lahko kode mest sestavljamo v poljubne sekvence, s čimer skušamo pridobiti prostor vseh možnih poti (ustreznih in neustreznih). Osnova kodiranja povezav izhaja iz dejstva, da je vsaka vijačnica sestavljena iz dveh verig. Če uspemo na prvo verigo zakodirati sekvenco kod vozlišč, se nam negirani kodi prehodov (poti) generirajo avtomatsko na drugi vijačnici.

V praksi sta filtirni metodi, ki poskrbita za koraka 2 in 3 PCR (angl. polymerase chain reaction) in GE metoda (angl. gel electrophoresis). Prva je zmožna zavreči vse verige, ki nimajo ustreznega izvora in ponora, druga pa vse tiste verige, ki nimajo ustrezne dolžine 140 bazičnih parov. Po navedenih korakih imamo torej ustrezno dolge verige DNK (dolžine sovpadajo z vsoto nizov kodov pomnoženih s številom mest), istočasno pa sta začetek in konec verige ”ustrezna”.

4.3.4 Slabosti realizacije Adlemanovega eksperimenta

Prva slabost omenjenega pristopa je v relativni veliki ”požrešnost” prostora ”velikih” problemov. Za reševanje problema z 200 mesti, bi tako potrebovali DNK teže, ki sovpada s težo večjo od našega planeta - 3*10^{25} kg DNK materije [Cal2] . Druga slaba lastnost koncepta je ta, da sinteza DNK ni determinističnega, temveč stohastičnega značaja in z velikostjo števila iteracij verjetnost napake narašča.

4.4 Javni BioBricks repozitorij

”Biobrick” gradniki so plod dela T.Knighta in sodelavcev z MIT. Biobrick gradniki ali biokocke [Cve1] predstavljajo javni repozitorij ali ”odprtokodno skladišče” bioloških gradnikov za formacijo različnih bioloških sistemov. Vsem je ciljna željena prevajalna funkcija. Omenjene funkcije lahko delimo na področja virologije, pozitivnih genetskih sprememb plodov, nenazadnje pa tudi vršenja logičnih funkcij, kot smo jih vajeni v računalništvu. Razpoložljive gradnike najdemo na spletnih straneh www.bbf.openwetware.org in http://partsregistry.org/Main_Page. Nanizamo jih lahko v naslednje tri skupine:

• osnovni elementi,

• naprave,

• sistemi.

Hierarhično gledano osnovni elementi gradijo naprave, slednji segmenti pa sisteme. Osnovni namen repozitorija je javna dostopnost do bioloških materialov s potrjenimi funkcionalnostmi. V ta namen ima vsak od gradnikov tudi svoj ”datasheet”, iz katerega je razvidno kakšne funkcionalnosti ima gradnik, v kakšnih pojavnih oblikah nastopa in kakšni so robni pogoji za delovanje gradnika. Poleg treh naštetih tipov gradnikov igra pomembno vlogo tudi okolje, ki determinira pogoje za izvajanje dinamike. Predoločen je z organizmom, v katerega naselimo gradnike in okoljskim medijem.

4.4.1 Osnovni elementi

Osnovni elementi so po vrsti

• regulatorji,

• mesto vezave ribosoma,

• zaporedje kodirajočega proteina,

• terminator in

• konjugator.

Grafično so po vrsti predstavljeni na sliki 4.11.

4.4.2 Naprave

Naprave so po vrsti

• reporterji,

• inverterji, Figure 4.11: Grafične predstavitve osnovnih gradnikov.

Figure 4.12: Grafične predstavitve Biobrick naprav.

• signalizatorji,

• generatorji proteina,

• sestavljene naprave in

• meritvene naprave. Grafično so po vrsti predstavljeni na sliki 4.12.

4.4.3 Sistemi

Sistemi so kompleksnejše vezave naprav, imenujemo pa jih tudi za projekte.

Figure 4.13:

4.4.4 Postavljanje modelov in implementacija BioBrick računalni ških struktur

Postavitev modela lahko razdelimo na naslednje faze:

• določitev cilja ”biološkega vezja”,

• izbira gostiteljskega organizma,

• izbira ustreznih biokock.

Samo implementacijo vezja delimo v naslednje korake:

• določitev ustrezne DNK implementacije vezja,

• sestava več verzij implementacije in

• testiranje vezja.

Biobrick gradniki zanimive za sestavo primitivov

Vsako računalniško sstrukturo in nenazadnje lahko razdelimo na tri dele in sicer na vhodni del, strukturo logičnih vrat in izhodni del. Kot vhodne in izhodne naprave nastopajo kot razpoložljivi gradniki PoPS konverterji, kot logična vrata pa generatorji proteinov in PoPS regulatorji. Na slikah 4.13 in 4.14 najdemo po vrsti prikazani biokocki, ki vršita logično negacijo in logično konjunkcijo.

Kot arhitekturni zgled imamo na sliki 4.15 prikazano sestavo negatorske naprave (šifra v repozitoriju: BBa_Q04121).

4.4.5 Značilnosti gostitelja

Kakršenkoli gradnik moramo v končni fazi integrirati v gostitelja (živeči biološki organizem), ki bo nosilec izvajanja dinamike, kot smo jo predvideli s Figure 4.14:

Figure 4.15:

prevajalno funkcijo. Gostitelj je ob nezahtevni strukturi enocelični organizem (bakterije eColi), ob kompleksnejši pa večcelični organizem. Slednje prinaša množico sinhronizacijskih problemov pri večcelični interakciji.

4.5 Ostali zgledi DNK računalnikov

V zadnjem desetletju je prišlo kar do nekaj realizacij enostavnih procesniranj v DNK materialu. Tipičen primer sta takšna stroja MAYA-1 in MAYA-2, ki ”znata” igrati igro križcev in krožcev (angl. tic tac toe). Enega močnejših sistemov so sestavili v Izraelu (Weizmanon institut), kjer so sestavili univerzalni DNk procesni računalnik z zmogljivostjo 330*10^{12} operacij na sekundo (10^{5} krat hitreje od današnjih komercialnih izvedenk osebnih računalnikov).

4.6 Povzetek poglavja

Glavne dobre plati DNK lahko strnemo v naslednje alineje:

• visoka stopnja paralelizma in s tem velika hitrost procesiranja

• izredno visoka miniaturizacija pomnjenja

• možnost procesiranja v fluidnih okoljih (krvi, vodi, itd.)

46 CHAPTER 4. DNK PROCESIRANJE • energetska nepotratnost. Ne glede na slabosti DNK procesiranja je mamljiv cil procesiranja v fluidih,

ki prinašajo določene prednosti (cenen medij, itd.).

MEMS in NEMS naprave

Za MEMS (angl. micro electro mechanical systems ali micromachines) sisteme imenujemo kakšrnekoli sisteme, ki so elektro mehanske narave, izdelane na mikro nivoju. Podobno so NEMS (angl. nano electro mechanical systems ali nanomachines) sistemi elektro mehanske narave, izdelani na nano nivoju. Za njihov izdelavo se uporabljajo podobne tehnološke metode (npr. površinska obdelava silicija, fotolitografija, elektrodepozicija, itd.), kot se uporabljajo pri izdelavi današnjih integriranih vezij [Hak1]. Z razliko od funkcionalnosti danes aktualnih integriranih vezij, x/EMS naprave vključujejo poleg elektronskih segmentov tudi mehanske mikro/nano podsisteme. Slednji vršijo funkcijo I/O enot in perifernih enot, ki znajo vzpostavljati kontakt z okoljem, se premikati, zaznavati vplive okolja itd. Na sliki 5.1 najdemo primer MEMS naprave fotografirane v prisotnosti pršice [W ik1].

Figure 5.1: Pršica (desno) velikostnega reda mm poleg MEMS naprave (levo).

Figure 5.2: Osnovna arhitektura x/EMS naprave.

5.1 Osnove x/EMS sistemov

Osnovna shema x/EMS naprave je predstavljena na sliki 5.2. Sestavljena je iz dveh tipov sestavnih delov:

• procesni segment vrši funkcijo odločanja in temelji na klasičnih elektronskih integriranih vezjih, kakršne poznamo danes in

• mehanski podsistemi vršijo funkcijo interakcije z okoljem; slednje predvideva zajemanje podatkov iz okolja, vplive na okolje, mehansko odzivanje na okolje (npr. gibanje x/EMS naprave), itd..

Ključna posebnost x/EMS sistemov izvira iz dodanih mehanskih podsistemov. Slednji že na mikro velikostnem nivoju zaradi svoje majhnosti ne zapadajo več v celoti zakonitostim dinamike klasične fizike. Podobno kot pri kvantnem procesiranju bomo govorili o fizikalnih fenomenih, ki jih mehanski podsistemi izkoriščajo za svoje delovanje. Naštejmo v nadaljevanju nekaj od njih:

• veliko razmerje med površino in volumnom x/EMS sistema: slednje vodi do drugačnih mehanskih značilnosti sistema kot celote, izrabljajo pa se predvsem pri gibanju sistemov ob minimizirani porabi energije,

• površinski efekt elektrostatičnosti: izkorišča se pri interakciji z okoljem in omogoča gibanje sistemov; ko se x/EMS fizično dotakne z drugim objektom, pride do dviga njegovega površinskega naboja; slednje rezultira v izmenjave naboja, če ima eden od obeh objektov visoko upornost za pretok električnega toka;

• površinski efekt stičnosti (angl. wetting): izkorišča fizikalne zakonitosti kontakta med trdno površino in tekočino; tekočine se med seboj razlikujejo po njihovi površinski tenziji; tiste z velikimi tenzijami (gre za močne interne vezi) so sposobne formirati kaplje, tiste z manjšimi, pa se razlivajo Figure 5.3:

Figure 5.4:

po večjih površinah; če ima x/EMS naprava nizko površinsko tenzijo, se ob kontaktu na njeni površini tvoijo kaplje in obratno, če ima naprava visoko površinsko tenzijo, se ob kontaktu slednje s tekočino tekočina enakomerno porazdeli po površini naprave; slednje pomeni, da bo x/EMS z visoko površinsko tenzijo dosegla minimalno interakcijsko energijo s fluidom tako, da se fluid porazdeli preko cele površine naprave; zglede slednjih naprav si lahko ogledamo na slikah avtorja [Bac1] 5.3, 5.4.

Kombinacija vseh treh efektov omogoča prevlado sil fenomenov nad masnimi (gravitacijskimi) in inercijskimi fizikalnimi značilnostmi sistema (angl. small scale phenomena).

Figure 5.5: Interakcija posameznih enot v x/EMS.

5.2 Tipični funkcionalni gradniki x/EMS sistemov

Glede na funkcionalnosti lahko x/EMS gradnike razdelimo na skupine mehanskih podsistemov in procesnega segmenta, poleg njih pa kot vmesnik nastopa še pretvornik (angl. transducer). Naloga slednjega je zagotavljanje ustrezne pretvorbe podatkov, ki morajo biti razumljivi tako procesnemu segmentu (električni signali), kot tudi mehanskemu segmentu (električni signali in ostale vrste nosilcev podatkov). Na sliki 5.5 najdemo shemo x/EMS naprave z njenimi interakcijami z okoljem.

Definition 5 x/EMS naprave so plod integracije pretvornikov, aktuatorjev, senzorjev, mehanskih elementov in elektronike (procesnega segmenta) na običjni silicijski substrat [Mem1].

5.2.1 Pretvorniki

Kot smo že povedali je osnovna naloga pretvornikov (angl. transcdusers), da pretvarjajo zapis signalov iz enega energetskega zapisa v drugega. Klasični primeri tovrstnih pretvornikov so mikrofoni, zvočniki, termometri, itd. Ključna značilnost pretvornika je njegova efektivnost E. Izraža se po izrazu

E = Q/P,  (5.1)

pri čemer Q predstavlja izhodno, P pa vhodno moč. Praviloma velja, da zaradi izgube pri konverziji velja relacija E < 1.

5.2.2 Aktuatorji

Aktuatorje imenujemo mehanizme za pretvorbo (običajno električnih) decizijskih signalov v mehansko dejavnost [Bac1]. Razvili so se že v klasičnih rač.sistemih

Figure 5.6: Elektrostatični motor kot aktuator v MEMS napravi [Bac1].

(npr. pri digitalizaciji potniških letal (angl. fly by wire)) in so nekakšni mehanski gonilniki, ki inicirajo ali nadzirajo gibanje. Vhodne signale v aktuatorje dostavi pretvornik (glej sl. 5.5). Nadzorovanje okolja x/EMS se s pomočjo aktuatorjev manifestira v premike, pozicioniranje, reguliranje, filtriranje, črpanje, itd. Naštejmo nekaj najpogostejših vrst aktuatorjev (nevezano za področje x/EMS):

• elektromagnetni (npr. električni motorji, akustični zvočniki, ventili, itd.),

• pnevmatični (npr. motorji),

• hidravlični (npr. zavore),

• piezoelektrični (izkoriščajo elektrostatične fenomene),

• termični (za mehansko dejavnost izkoriščajo toploto), itd.

Zgled MEMS aktuatorja najdemo na sliki 5.6. Gre za elektrostatični motor delujoč na osnovi alternirajočih napetosti na sosednjih površinah (vir [Bac1]).

5.2.3 Senzorji

Osnovna funkcija senzorjev je zbiranje podatkov iz okolja. Osnovne vrste senzorjev so

• mehanski,

• termični,

• akustični, • biološki,

• kemični,

• optični in

• magnetni.

5.2.4 Mehanski elementi

Ostali tipični mehanski podsistemi so lahko

• valves,

• gears,

• cantilevers,

• diaphragms,

• tweezers.

Naštete komponente se uporabljajo kot senzorji (npr. za pritisk, temperaturo, pretok mase, hitrost, zvok in kemijske kompozicije), kot aktuatorji za gibanje in kot enostavni sestavni deli robotov, mikro/nano grelnikov in črpalk.

5.3 Zgledi x/EMS naprav in njihovo tržišče

V razvoju x/EMS naprav je prišla najdlje organizacija Sandia (www.sandia.gov), ki je projektno usmerjeno financirana, a organizacija v lasti ZDA (GO-CO, angl. government owned, contractor operated). Na slikah 5.7 in 5.8 najdemo projekcije vlaganih sredstev in aplikacijsko naravo x/EMS produktov.

5.4 Razpoložljiva razvojna orodja

Kot na drugih področjih obstajajo za razvoj modelov x/EMS sistema mnoga orodja. Eno od najbolj znanih je MEMS Pro [Sof1]. Zgled vmesnika najdemo na sliki 5.9. Ostala orodja so še MEMCAD, IntelliCAD, MEPMS ProCAET in MEMScap. Osnovni koncept delovanja orodij je skupen in sicer ponujajo osnovne sestavne dele (gradnike), ki jih sestavljamo v večje sisteme. Nekatera od orodij omogočajo izdelavo 2-D plasti, ki jih nato spajamo v 3-D sisteme z željenimi funkcionalnostmi.

5.5 Povzetek poglavja

Praktičnih realizacij x/EMS naprav je na tržišču že kar veliko. Njihova proizvodnja je v tem trenutku omejena na večje družbe, ki obvladujejo tako tehnologijo mikor in nano elektronike, kot tudi tehnologijo mikro in nano materialov. Tovrstnih ustanov pa danes ni veliko; v večji meri so to nacionalni raziskovalni inštituti.

5.5. POVZETEK POGLAVJA 53 Figure 5.7: Figure 5.8:

54 CHAPTER 5. MEMS IN NEMS NAPRAVE Figure 5.9: Zgled aplikacijskega vmesnika MEMS razvojnega okolja.

Nanocevi

6.1 Uvod v tehnologijo nanocevi

Nanocevi (angl. nanotubes) sodijo primarno v kategorijo nanomaterialov. V večini primerov so rezultat ”umetne” sinteze ogljikovih atomov, zato jih imenujemo tudi za karbonske nanocevi (angl. carbon nanotubes - CNT). Premer tovrstne cevi (v prostorskem smislu gre za obliko cilindra) je običajno velikostnega reda nm, razmerje med dolžino in premerom pa običajno velikostnega reda 10^{6}. V osnovi ločujemo med dvema tipoma cevi in sicer

• med enostenskimi cevmi (angl. single walled nano tubes - SWNT)

• in večstenskimi cevmi (angl. multi walled nano tubes -MWNT).

Trenutno aktualne raziskave zanimive računalništvu se odvijajo predvsem na področju enostenskih cevi. Zanje je tipično, da je vsak atom cevi povezan s tremi sosednjimi atomi. Vezave atomov (angl. bonding) so v večini primerov simetrične (homogenost strukture), razlikujejo pa se v načinu (arhitekturi) povezovanja. Slednje vodi do različnih električnih, kinetičnih, termoprevodniških in ostalih lastnosti cevi.

6.2 Enostenske cevi

Enostenske (SWNT) cevi so v smislu procesne platforme bodočnosti trenutno najbolj aktualno področje raziskovanja, saj se na ta način iščejo možnosti nadomeščanja klasičnih polprevodnikov z omenjenimi strukturami. Sinteza SWNT cevi in s tem njene značilnosti temeljijo na parametrih n in m. Glede na njune vrednosti ločujemo med tremi vrstami enostenskih cevi:

• n = m: ”armchair” tip z visoko simetrijo,

• m = 0: ”zig-zag” tip z visoko simetrijo in Figure 6.1: Tri vrste enostenskih cevi glede na vrednosti spremenljivk n im m [W ik1].

• vsi ostali tipi: ”chiral” tip.

Grafično predstavitev vseh treh tipov najdemo na sliki 6.1 [Har1].

Kvalifikacijo tipov lažje razumemo preko izraza

c = a_{1} ∗ n + a_{2} ∗ m,

in slike 6.2, kjer sta a_{1} in a_{2} enotska vektorja, n in m pa bodisi 0 ali pa naravni števili. Števili n im m po vrsti predstavljata horizontalni in vertikalni odmik v številu enot ponora vektorja c od izhodišča (0,0), T pa pravokotnico na os cevi. Na sliki 6.3 [Har1] je predstavljen način ”štetja” celic v povezanem homogenem omrežju atomov.

6.3 Lastnosti enostenskih nanocevi

Primarni razlog za raziskave enostenskih nanocevi zgodovinsko izvira iz motiva iskanja izboljšanih značilnosti materialov. Tako so nanocevi pokazale izredno trdnost, toplotno odpornost (do 700^{∘}C ob prisotnosti kisika), topolotno prevodnost in ostale izboljšane materialne lastnosti, ki vse izvirajo predvsem iz velike 6.3. LASTNOSTI ENOSTENSKIH NANOCEVI 57

Figure 6.2: Analitična predstavitev lege atomov na površini cevi [W ik1] . Figure 6.3: Način ”štetja” celic v povezanem omrežju atomov. trdnosti medmolekularnih vezi strukture. Med drugim so raziskave pokazale tudi drastično izboljšanje električnih značilnosti cevi, s čimer so se odprle tudi možnosti izkoriščanja tovrstnih struktur v namene gradnje osnovnih logičnih primitivov za procesiranje. Osnovni omenjeni lastnosti sta sledeči:

• glede na način vezave dosegajo izredno dobre prevodnosti električnega toka (upornost velikostnega reda 10^{−6} ohm/m),

• tok elektronov deloma pogojen s kvantnimi efekti je možen samo vzdolž osi cevi, zaradi česar jih imenujemo tudi za enosmerni medij (angl. onedimensional),

glede na način vezave pa so lastnosti naslednje:

• če za strukturo vezave velja n = m (armchair vezava), cev imenujemo za ”kovinsko” (angl. metallic) in pri njej dosežemo gostoto električnega toka velikostnega razreda 10^{9} A/cm^{2}, kar je 10^{3} krat večja gostota, kot pri prenosnih medijih kot sta srebro in baker,

• če je n − m večkratnik števila 3, dobimo lastnosti polprevodnikov z zelo majhno pasovno vrzeljo,

• pri vseh ostalih relacijah med n in m dobimo značilnosti običajnih polprevonikov.

Z vidika električnih primitivov, kot tvorcev računalniških strutkur, bi bile slednje sestavljene tako iz polprevodniških cevi (angl. active components), kot tudi iz prevodniških (angl. nanowires) [Ibm1]. Na osnovi SWNT cevi so bili že izdelani FET tranzistorji, ki delujejo v temperaturnih IN-VIVO razmerah, na osnovi slednjih pa tudi že prvi logični primitivi. Ena od opcij uporabe na področju računalništva je tudi pomnenje v okviru NEMS področja, kjer se SWNT uporabljajo kot mehanski pomnilni elementi (NRAM, Nantero Inc.).

Slabi značilnosti SWNT cevi sta trenutno v majhnih proizvodnih zmožnostih in v relativno veliki ceni izdelave. Ta je bila v letu 2007 na velikostnem rangu cene 50-100 USD na gram. V zadnjih letih se poleg prej naštetih slabih lastnosti poraja tudi problem toksičnosti tovrstnih sintetiziranih materialov. Še hujši problem pa izhaja iz dejstva, da nam posamezna cev ne pomaga veliko - do logičnih struktur pridemo šele z kombinacijo različnih cevi in jedro problema izhaja iz metodologij, ki naj bi takšno kombiniranje omogočalo.

6.4 Razpoložljiva snovalska orodja

Kot na področjih xEMS in DNK procesiranja imamo na področju nanocevi že veliko programskih razvojnih okolij. TIpični primeri so:

• NanotubeModeller (zgolj strukturno orodje za načrtovanje arhitektur posamezne nanocevi), 6.4. RAZPOLOŽLJIVA SNOVALSKA ORODJA 59

• CoNTub v1.0 (poleg načrtovanja posameznih nanocevi omogoča tudi njihovo povezovanje),

• Nanorex,

• Wrapping,

• Ascalaph Designer,

• TubeASP,

• Tubegen,

• Materials Studio 4.2.,

• Atomistix Virtual NanoLab and Atomistix ToolKit.

60 CHAPTER 6. NANOCEVI

Optično procesiranje

7.1 Osnove optičnega procesiranja

Primarni cilj področja optičnega procesiranja je prehod na popolni optični računalnik ali na popolno optično procesiranje (angl. all optical processing). Tovrstni optični računalnik bi kot osnovni nosilec podatkov namesto električnega toka uporabljal tok svetlobe. Funkcija elektronov se tako zamenja s funkcijo fotonov. V osnovi to predstavlja približno desetkratno pospešitev v hitrosti prenosa (300.000 km/sec), kar pomeni pomemben argument za razvoj ”optičnih računalnikov”. Nosilni medij sestavljen iz toka fotonov bi moral omogočati tri temeljne dejavnosti današnjih računalniških sistemov in sicer

• manipulacijo ali procesiranje podatkov,

• hranjenje podatkov in

• prenos podatkov.

V preteklosti se je optični medij že močno integriral v računalniške sisteme, saj ga npr. kot prenosni medij uporabljamo tako pri komunikacijah, kot tudi že kot osnovni koncept pri pomnjenju na optičnih medijih (CD ROM, DVD, itd.). Glavnino poblemov za prehod na popolni optični računalnik predstavlja predvsem tehnologija, ki bi omogočala samo procesiranje ali decizijo nad podatki. Eden od prvih korakov proti razrešitvi problema je tendenca razvoja optičnega tranzistorja. Odtod je možen naslednji korak razvoja proti optičnim integriranim vezjem.

Tok fotonov ima kot prenosni medij naslednje zanimive lastnosti:

• ni pojavov interference, prisluha, itd.,

• po istem mediju lahko potuje več svetlobnih valovanj z različnimi valovnimi dolžinami, kar omogoča več podatkovnih kanalov (širokopasovna prepustnost), • prenos podatkov na mediju prinaša nižje energetske izgube, kot pri prenosu

po elektronskem mediju,

• na razpolago je možnost brezigubnega križanja povezav, ki omogoča prehod iz 3-D snovanja na 2-D, istočasno pa tudi minimizacijo dolžine povezav in s tem posredno velikosti optičnih vezij.

V večini primerov se uporabljata IR svetloba in vidne svetlobe različnih valovnih dolžin.

7.2 Optični tranzistor

Optični tranzistor (angl. all-optical transistor) je ključni korak k prehodu na ”čisti” optični decizijski proces. Danes imamo na tem področju kar nekaj patentov realizacije, a same izvedbe v robustni in tržni obliki še ni. Eden od takih primerov je optični tranzistor, ki temelji na Fabry-Perot-ovem interferometru.

7.3 Pomnjenje v optičnem računalniku

Pomnjenje že v današnjih sistemih temelji na uporabi svetlobe (CD in DVD mediji), pri čemer omenjene pristope smatramo kot hibridne (elektronsko - optične).

Osnovna ideja ”čistega” optičnega pomnjenja temelji na ”ujetju” svetlobnega toka na cikličnem nosilnem mediju. Glede na povedano se pomnjeni podatek na cikličnem mediju ves čas giblje, nanj pa kaže hipotetični dinamični števec. Slednji nam pove, čez koliko časa bo podatek na voljo na sondirnem mestu. Zaustavitev gibanja podatka ni možna.

7.4 Optične komunikacije

Zgodovinsko gledano so optične komunikacije (angl. fiber optic data transmission) že doseglo uporabno raven. Ne glede na uveljavljenost gre za hibridne tvorbe, ker vsebujejo optična omrežja tudi vrsto naprav, za katere je potrebno električno napajanje. Na tovrstnih spojih (npr. usmerjevalnikih) je potrebna na vhodu pretvorba svetlobnega nosilca in obratno na izhodu. Za čisto optično omrežje smatramo tisto, kjer vsi aktivni deli omrežja znajo rokovati s svetlobnim nosilcem brez potrebe po transformaciji na nosilec, ki bi temeljil na uporabi električnega toka. Zgled naprave nove generacije je erbijev ojačevalnik (EDFA), uporabljan na velikostnem rangu dosega 100 km.

7.5 Optični računalnik

Osnovna ideja optičnega računalnika (angl. all-optical computer) je eliminacija vseh aktivnih komponent, ki delujejo na osnovi električnega toka kot nosilca informacij. Pri tem je mišljen tudi osrednji procesni del sistema. Čistih optičnih komponent še ni v uporabi, obstaja pa mnogo hibridnih naprav. Prvi prototip optičnega računalnika je bil realiziran l.1990 v Bellovih laboratorijih (avtor A.Huang), a tovrstnih komercialnih sistemov še ni na tržišču. Po eni strani trenutne napovedi ocenjujejo, da bodo prvi optični računalniki na tržišču čez 10 let, bolj pesimistične pa, da tovrstni sistemi nikdar ne bodo obstajali.

Z vidika realizacije potekajo danes intenzivne raziskave na področju kolidnih in tekočih kristalov, optičnih vlaken in laserskih tehnologij. Kot glavni problem se izpostavlja zanesljivost in natančnost delovanja naprav realiziranih v predhodno navedenih medijih - nosilcih.

64 CHAPTER 7. OPTIČNO PROCESIRANJE

Part II

Platformno neodvisni pristopi k procesiranju Reverzibilno procesiranje

Za reverzibilen proces (angl. time invertible or reversible process) smatramo vsak proces, ki omogoča obrnljivost dinamike. Če dinamiko opisujemo z eksaktno definiranimi stanji, bi slednje pomenilo, da reverzibilen proces omogoča prehajanje na osnovi vhodov v novo stanje, istočasno pa tudi prehajanje iz novega stanja v predhodno stanje.

Če je proces v časovnem smislu diskreten, bi relacijo prehajanja v nov stanje zapisali kot izraz

q(t + 1) = f(I(t), q(t)),

če pa je proces v časovnem smislu zvezen, pa bi relacijo prehajanja zapisali kot

q(t_{i+1}) = f(I(t_{i}), q(t_{i})),

kjer sta q(t) in q(t_{i}) stanji procesa, I(t) in I(t_{i}) vhodna dogodka, f pa preslikovalna funkcija, ki vhodne dogodke in stanja preslikuje v nova stanja. Oba izraza veljata tako za ireverzibilne (klasične), kot tudi za reverzibilne dinamične procese. Pri tem za reverzibilne procese veljata tudi izraza

q(t) = f^{−1}(q(t + 1)),
q(t_{i}) = f^{−1}(q(t_{i+1})).

Slednje pomeni, da informacija o predhodnem stanju ni več uničena, temveč ”konzervirana” v času. Vsaka prevajalna funkcija f bi tako morala biti tako injektivna (f(a) = f(b) ⇒ a = b, a ≠ b ⇒ f(a) ≠ f(b)), kot tudi bijektivna (x ⇒ y : exist!x : y ⇒ x).

8.1 Zgodovina reverzibilnega procesiranja

Osnovna motivacija poglavja je iskanje hipotetičnih platform, ki bi bile sposobne reverzibilnega procesiranja stanj. Slednje bi doprineslo predvsem k energetski efektivnejši izrabi platforme. Rolf Landauer in John von Neuman [Hay2] izgubo

Figure 8.1: Poraba energije na logično operacijo.

energije ob ireverziblini logični operaciji na bit definirata z limito, ki bila v reverzibilnem primeru zmanjšana. V numeričnem smislu je ta spodnja meja ali spodnja limita izgube (energije E, ki je izločena v okolje) definirana kot

E ≥ k ∗ T ∗ ln 2,

pri čemer je T temperatura procesnega medija, k pa Boltzmanova konstanta (k = 1, 38 ∗ 10^{−23}J/K). Pri sobni temperaturi (300 kelvinov) se vrednost E giblje v velikostnem razredu 3*10^{−21} J ali 3 zepto joulov. Na sliki 8.1 najdemo prikaz porabe energije na logično operacijo [Hay2] (podatki glasijo na leto 1988).

Tako Von Neuman kot Landauer predlagata za zmanjšanje limite dve metodi:

• procesiranje pri manjših temperaturah, kar je z vidika cene dandanes nepojmljivo ali

• prehod na reverzibilno procesiranje, ki bi zmanšalo limito E.

C.H.Bennet [Ben1] dokaže teoretičen obstoj reverzibilnega računalnika z modelom Turingovega stroja, v katerega vpelje ”zgodovinski trak” dogajanja, s čimer je podana osnova za reverzibilno procesiranje.

Enostaven zgled najdemo v delu [Hay2] .Avto na svoji poti porabi gorivo. Če bi vozilo pognali vzvratno bi z natančnim beleženjem porabljenih molekul lahko generirali gorivo, pri čemer bi se vrnili na izhodiščno lokacijo vožnje.

8.2 Vrste reverzibilnosti

Ločujemo med fizično in logično reverzibilnostjo. Proces je fizično reverzibilen, če rezultira v nezvečanje fizične entropije. V praksi takih procesov ni, lahko pa zvečanje fizične entropije poljubno minimiziramo. Po Landauerju je osnovni pogoj za fizični reverzibilen proces njegova logična reverzibilnost. Deterministični decizijski proces je logično reverzibilen, če je njegova prevajalna funkcija ”one-to-one” funkcija.

Reverzibilni sistemi prinašajo tudi časovno nesimetričnost. Slednja predvideva, da je trajanje preslikave v drugi (vzvratni) smeri časovno lahko različna od primarne preslikave.

8.3 Primeri reverzibilnih funkcij

Če vzamemo pod drobnogled klasični funkcijski nabor (AND,OR,NEG), lahko ugotovimo, da tako AND kot OR ne predstavljata revezibilnih logičnih vrat. Omenjeno značilnost nosi le funkcija negacije (NEG). Za oba prvonavedena zgleda je tipično, da imamo na vhodni strani večjo količino informacije (večvhodni funkciji), kot jo dobimo na izhodu. Razlika omenjenih količin predstavlja izgubo, kar se v današnjih elektronskih vezjih manifestira v disipaciji toplote. Pri reverzibilnih vratih naj do izgube informacij ne bi prihajalo, s čemer tudi ne bi prihajalo do izgube energije. Osnovno izhodišče za poljubna reverzibilna logična vrata bi bilo torej isto število vhodov in izhodov logične funkcije. Poleg negatorja bi bila tipična reverzibilna funkcija enobitnega vhodnega in izhodnega značaja funkcija identitete. Tipična dvovhodna in dvoizhodna funkcija bi bila y_{1} = x_{1}, y_{2} = xor(x_{1}, x_{2})

\begin{matrix}x_{1} & x_{2} & y_{1} & y_{2} \\ 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 1 \\ 1 & 0 & 1 & 1 \\ 1 & 1 & 1 & 0 \end{matrix}

Na tem mestu se izbira dvovhodnih reverzibilnih funkcij konča. Ker z identiteto, negacijo in XOR ne moremo izraziti poljubne logične funkcije, moramo rešitve polnih funkcijskih naborov iskati v večvhodnih funkcijah. Tipična zgleda kompleksnejših reverzibilnih logičnih prevajalnih funkcij so Toffolijeva in Fredkinova vrata iz osemdesetih let prejšnjega stoletja. Za oboja velja, da kot samostojni operaciji predstavljata poln funkcijski nabor (univerzalna reverzibilna logična vrata).

70 CHAPTER 8. REVERZIBILNO PROCESIRANJE

8.3.1 Toffolijeva vrata

Iz tovrstnih vrat lahko zgradimo poljubno reverzibilno logično vezje. Logična funkcija je trovhodna in se oblikuje po izrazih

if(x_{1} = x_{2} = 1) ⇒ (y_{1} = x_{1})&(y_{2} = x_{2})&(y_{3} = \overline{x}_{3})
else(y_{1} = x_{1})&(y_{2} = x_{2})&(y_{3} = x_{3}).

Tako bi prišli do logične tabele v izrazu

\begin{matrix}x_{1} & x_{2} & x_{3} & y_{1} & y_{2} & y_{3} \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 1 \\ 0 & 1 & 0 & 0 & 1 & 0 \\ 0 & 1 & 1 & 0 & 1 & 1 \\ 1 & 0 & 0 & 1 & 0 & 0 \\ 1 & 0 & 1 & 1 & 0 & 1 \\ 1 & 1 & 0 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 & 0 \end{matrix}

.

8.3.2 Fredkinova vrata

Tudi ta trovhodna vrata so univerzalna, logični izhodi pa se tvorijo po izrazih

c_{2} = c_{1,}
c_{1} = 0 ⇒ (y_{1} = x_{1})&(y_{2} = x_{2}),
c_{1} = 1 ⇒ (y_{1} = x_{2})&(y_{2} = x_{1}).

Logična tabela bi se oblikovala po spodnji razpredelnici:

\begin{matrix}c_{1} & x_{1} & x_{2} & c_{2} & y_{1} & y_{2} \\ 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 1 \\ 0 & 1 & 0 & 0 & 1 & 0 \\ 0 & 1 & 1 & 0 & 1 & 1 \\ 1 & 0 & 0 & 1 & 0 & 0 \\ 1 & 0 & 1 & 1 & 1 & 0 \\ 1 & 1 & 0 & 1 & 0 & 1 \\ 1 & 1 & 1 & 1 & 1 & 1 \end{matrix}

8.3.3 Metode realizacije

V devetdesetih letih prejšnjega stoletja je prišlo kar do nekaj realizacij procesorjev, ki procesirajo zgolj na osnovi reverzibilnih logičnih funkcij. Eden od najvidnejših avtorjev na tem področju je M.Frank [F ra1].

Figure 8.2: Cenovna efektivnost glede na različne tipe procesiranja.

8.4 Povzetek poglavja

Temeljna motivacija za reverzibilno procesiranje izhaja iz iskanja energetsko optimalnejše procesne strutkure. Seveda se s tem poraja kar nekaj problemov. Naj jih naštejemo:

• Kakšna je materialna platforma, na kateri bi se lahko spustili pod Landauerjevo limito (danes smo še za nekaj velikostnih rangov nad njo?

• Kaj je z obrnljivostjo izgubnih procesov zaokroževanja (npr. \frac{1}{3} → 0, 33333)?

• Kaj je z obrnljivostjo sekvence prevajanje(izvorna koda) → eksekucijska koda?

Poleg same procesne alternativne platforme, ki bi takšno procesiranje omogočalo, se v prihodnosti velik pomen pripisuje tudi prevajalnikom, ki naj bi pri prevajanju maksimizirali število reverzibilnih funkcij. Na sliki 8.2 najdemo oceno cenovne efektivnosti različnih vrst procesiranja [F ra2].

72 CHAPTER 8. REVERZIBILNO PROCESIRANJE

Amorfno procesiranje

Amorfno (brezoblično) procesiranje (angl. amorphous processing) imenujemo kakršnokoli procesiranje velikega števila identičnih paralelno delujočih entitet (angl. particles) z omejenimi procesnimi zmožnostmi (angl. limited ability of performance) [Abe2] , [Abe3]. Druga pomembna lastnost amorfnega procesiranja je v lokalnih interakcijah med entitetami, ki se vršijo preko lokalnih povezav. Tipičen primer strukture entitet, ki temelji na omenjenih značilnostih, so celularni avtomati (angl. cellular automata). Termin amorfnega procesiranja se vpelje 1996 na MIT [Abe1], izhaja pa iz skorajšnje enovitosti ali homogenosti entitetnega prostora. Pokrival naj bi kakršnokoli skupinsko procesiranje, zato področja kolonij celic, rojev, jat (angl. swarms) in skupinske inteligence (angl. swarm intelligence) sodijo v to skupino. Ključni moment amorfnega procesiranja je končni rezultat (npr. urejeno mravljišče) delovanja velike množice entitet. Čebelji roji tako tvorijo panje, množice ljudi mesta, roji mravelj mravljišča, itd.

Amorfno procesiranje naj bi odgovorilo na vprašanji, ki se nam venomer postavljata pri problemu postavitve strukture večjega števila procesnih entitet:

• Kako zagotoviti koherentno (soodvisno) in željeno dinamiko na osnovi interakcije velikega števila nezanesljivih entitet? Pri tem je potebno računati na to, da so entitete lahko povezane nejasno (nepoznavanje relacij), nepravilno, časovno spremenljivo, itd.

• Kakšen ”program” naj vgradimo v posamezne entitete, da bi dosegli željene cilje interakcij?

9.1 Osnovne lastnosti amorfnega procesiranja

Naštejmo najprej osnovne značilnosti amorfnega procesiranja [Abe2]:

• število entitet, ki tvori strukturo (na površini ali v prostoru), je izredno veliko (10^{6}-10^{12}) [Abe2] (angl. masively parallel computer), vse entitete pa so funkcionalno enake (imajo isti ”program”), • posamezne entitete so procesno in pomnilniško omejene, lahko zasedajo

eno od končno možnih stanj in so sposobne generiranja naključnih števil,

• entitete vršijo decizijo - menjajo stanja asinhrono na osnovi istega ”programa”, število entitet pa ni neposredno odvisno od tipa ”programa”,

• entitete se ne zavedajo svoje absolutne lokacije v prostoru,

• interakcije med entitetami so lokalnega značaja in potekajo po lokalnih povezavah, pri čemer moč sporočila pada s prepotovano razdaljo (Fickov zakon); oddaljenost slišnosti komunikacijskega kanala med entitetami imenujemo za komunikacijski radij,

• končno videnje dinamike z zornega kota opazovalca naj bi izkazovalo posebne zmožnosti strukture (oblikovanje vzorcev, skupinska stanja, zmožnosti samoorganizacije in samoreplikacije itd.),

• posamezne entitete so lahko nezanesljive, s čimer na osnovi redundance dobimo procesiranje, ki je ”odporno” na napake (angl. fault tolerant computing),

• postavitev entitet v prostoru je poljubna (regularna ali neregularna),

• entitete menjajo svoja stanja glede na vplive svojega sosedstva (angl. peer pressure), pri čemer je decizijski proces izbire stanja posamezne entitete lahko poljuben (lahko temelji npr. na glasovalni tehniki (angl. voting), na numeričnih osnovah, itd.),

• cilj procesiranja je doseči željeno globalno dinamično časovno obnašanje strukture, brez natančne definicije začetne porazdelitve entitet v prostoru,

• cena osnovne entitete procesiranja naj bi bila izredno nizka.

V začetku novega tisočletja ideja o amorfnem procesiranju ne napreduje več tako hitro, saj je ključni problem neobstoj cenene procesne platforme, ki bi ob masovnosti uporabe prenesla tržno ceno. Do ponovnega oživljanja ideje, tokrat pod imenom prostorskega procesiranja (angl. spatial processing) pride v zadnjih letih, ko se za potencialno platformo entitete proglasita nam dve znani področji in sicer področje nanocevi in področje sintetične biologije z DNK procesnim medijem.

9.2 Izvajanje programa v amorfni strukturi

Množica začetnih stanj vseh entitet strukture je ob zagonu enaka [Coo1]. V tem stanju entitete pričakujejo sporočila od svojih sosedov na lokalnih vodilih, same pa jih ne oddajajo (angl quescient state). Brez zunanjega vpliva (inicializacije) na posamezne celice v takšnem stanju do dinamike ne prihaja. Osnovni cilj je, da bi bilo inicialnih entitet čim manj, kar naj bi zagotavljalo minimalno število 9.3. SORODNOST AMORFNEGA PODROČJA S PODROČJEM CELULARNIH AVTOMATOV75

posegov iz zunanjega sveta. Stanje strukture v času t si interpretiramos stanji vseh entitet v isti časovni točki. Dinamika je pogojena s ”programom” prehajanja stanj, ki je identičen in se nahaja v vsaki posamezni entiteti strukture.

9.3 Sorodnost amorfnega področja s področjem celularnih avtomatov

Področji CA in amorfnega procesiranja (AP) se razlikujeta v ključnosti koncepta:

• področje CA postavi model strutkure entitet, temu pa sledi simulacija dinamike; z variacijami modela skušamo klasificirati dobljene vzorce dinamike v kontekstu željene evolucije (analitični pristop),

• področje AP se ne usmerja na definiranje lokalnih interakcij, temveč skuša pridobiti in postaviti znanja (”program”) za vzpostavitev željene globalne dinamike (sintezni pristop),

• osnovne celice CA so idelano zanesljive in

• konfiguracije AP entitet so prostorsko lahko nehomogeno razporejene.

9.4 Zgodovinski pregled aplikacij in problemov pri uporabi amorfnih struktur procesiranja

Primarno so se na začetku razvijale predvsem aplikacije za formiranje vzorcev. Pri tem so bila stanja posameznih entitet predstavljena z različnimi barvami, kar je ob dinamiki vodilo do formacije (sekvence) različnih vzorcev. Temeljni cilj aplikacij je bil v časovni evoluciji željenega vzorca in s tem razvoj ”programov”, ki so zagotavljali takšno dinamiko (tu manjka slika iz Coore-ovega članka - napis MIT).

9.5 Specializirani programski jeziki

Ena od temeljnih vej razvoja amorfnega procesiranja je razvoj specializiranih programskih jezikov za programiranje posameznih entitet. Slednji naj bi primarno omogočali fokusiranje na željena globalna stanja (obnašanje) strukture, ne pa na samo dinamiko v posameznih entitetah, ki temelji na lokalnih interakcijah. Zgodovinski predhodnik tovrstnih jezikov je bil jezik Logo.

Osnovni koncept amorfnih jezikov je specifikacija globalnih vzorcev (dinamik), sami prevajalniki jezikov pa naj bi potem sistematično zadane cilje prevedli v zakonitosti lokalnih interakcij (”programe” posameznih entitet). Večina tovrstnih jezikov (nekaj od njih jih naštejemo v nadaljevanju) temelji na fiksni poziciji entitet in ne omogoča njihove mobilnosti. Na tem mestu se seveda poraja vprašanje, če ta omejitev res vodi do optimalnih prevajalnih funkcij entitet.

9.5.1 Growing Point Language (GPL)

GPL je eden od najuspešnejših jezikov za abstrakcijo lokalnih interakcij na osnovi globalno definiranih dinamik (sekvence željenih vzorcev), realiziran pa je kot interpeter Njegov avtor je Daniel Coore v letu 1999 [Coo1]. Temelji na opisovanju željenih vzorcev na osnovi topoloških relacij med točkami (angl. points) in objekti (podvzorci). (tu manjka slika formacije (Coore) CMOS inverterja, pa tudi MIT napis je bil sprocesiran s tem jezikom).

Za začetek si oglejmo nekaj osnovnih pojmov jezika:

• tropizem (angl. tropism) je biološki fenomen, ki indicira rast (ali gibanje), kot odziv na okoljske stimulanse. V naravnem okolju se izkazuje kot tendenca usmerjenosti k soncu (helio), kemikalijam (chemo), gravitacijskim vplivom (gravitro), vodi (hydro), toploti (thermo), itd.,

• primitivni podatkovni tip feronom (angl. pheromones): namenjen je usmerjanju ”rasti” struktur in je radilano simetričen glede na vir in monotono padajoč po vplivu z oddaljenostjo od izvira; za dinamiko je potrebna najmanj ena entiteta, ki vsebuje feromon; če ta ni prisoten, dinamika obstane (angl. stuck);

• rastoče točke so prostorsko omejene množice entitet, ki tvorijo ”željene” dinamične podstrukture v kompletni formaciji entitet; v prostoru se lahko (kot vzorec) premikajo, delijo, spajajo in umirajo; z vidika diskretne časovnosti je rastoča točka venomer prisotna glede na tropizem le v eni od točk, t.i. aktivni entiteti; v teh točkah lahko rastoča točka odloži material ali skrite feromone;

• primitivni podatkovni tip material (angl. material ali marker): služi kot marker, kje je v preteklosti dinamike tekla ”rast”, ponavadi označen z barvo; ”rastoče točke” (strukture) ga lahko ”začutijo” in se glede na detekcijo odločajo o nadaljnji rasti, lahko pa materiale preoblikujejo (označijo na novo),

• pot rastoče točke je vidna, če je le ta ob svojem ”premikanju” označuje z odlaganjem materiala (vzorec dinamike).

Vrste vplivnosti feronomov na rast na osnovi zakonitosti tropizma najdemo na sliki 9.1

Koncept ”rastoče točke” je tako skupek aktivnosti, ki prenaša pulz preko sosedov na ciljne pozicije. Pulz se giblje upoštevajoč tropizme, katerih stopnja v sosedstvu entitete je spremenljiva. ”Rastoča točka” lahko v posamezne točke prinaša material (barvanje) ali skrite feromone. Pot rastoče točke je tako množica entitet, ki so bile obiskane, označena bodisi z tam puščenimi materiali ali feromoni.

Definicija rastoče točke se sestoji iz njenih atributov in njenih instrukcij (navodil za akcije ob obisku nove entitete). Slednje se izvajajo sekvenčno, kot so navedene v programski kodi.

Figure 9.1: Primeri vplivnosti feronomov na rast struktur na osnovi zakonitosti tropizma.

Oglejmo si zgled psevdo kode, ki bi v prostoru entitet v obliki vzorca (linije) povezal entiteti A in B [Coo1] ,str.20, njeno detajlnejšo razlago z zgledi pa v viru [Eva1]. Koda temelji na opisu dveh rastočih točk in sicer statične točke B in dinamične točke A.

A1:  (define-growing-point(A-to-B)
                // ''A-to-B'' ime rastoče točke
A1:  (material A-material)
A1:  (size 0)
A1:  (tropism(ortho+ B-pheromone))
           //tropizme lahko spajamo preko AND, NOT-AND,OR in NOT-OR
operatorjev
I1:  (for each step
I1:  (when ((sensing?  B-material)
I1:  (terminate))
I1:  (default(propagate)))))
A2:  (define-growing-point(B-point)
A2:  (material B-material)
A2:  (size 0)
I2:  (for-each-step
I2:  (secret+ 10 B-pheromone)))
               // ''secret'' ukaz formira tvorbo feromona
Ini:  (color
Ini:  ((B-material) ''red'')
Ini:  ((A-material) ''yellow'')
Ini:  (with-locations
Ini:  (a b)
Ini:  (at a (start-growing-point A-to-B)
Ini:  (at b (start-growing-point B-point)))

Grafično predstavitev navedene rešitve najdemo v delu [Zho1]. Material določa način markiranja dinamike. Če ni specificiran, se pot ne

markira. Sama markacija se izvede po izvedbi vseh instrukcij. Atribut size se uporablja kot ”širina” markiranja (širina sosedstva, ki ga markiranje zavzame). Če je širina markiranja po vrednosti ”0”, se bo markirala le aktivna entiteta. Oglejmo si še opise nekaterih zanimivih ukazov:

• avoids: ukaz omogoča, da dobi feromon inhibirni (odbojni) vpliv;

• start-growing-point: invokacija rastoče točke,

• propagate: iskanje nove lokacije rastoče točke (nove lokacije aktivne točke),

• terminate: zaključek dinamike rastoče točke,

• secrete: definicija koncentracije (obsega vplivnosti) feromona,

• when: pogojni stavek za vejanje izvajanja akcij,

• sensing?: pogojni stavek za detekcijo materiala v aktivni točki,

• color: omogoča barvanje materialov

9.5.2 Origami Shape Language (OSL)

Koncept omenjenega jezika temelji na konceptu ”Origami” zgibank, tako da si ”program” za formacijo vzorca predstavljamo kot sekvenco pregibov prvotnega materiala. Njegov avtor je Nagpal (l.2001). Z vidika realizacije predpostavljamo, da so entitete na površini opremljeni z aktuatorji, ki takšno zgibanje omogočajo (2 zgleda slik Coore - sestava lončka iz papirja). Sekvenco zgibanj, ki jo zapišemo z jezikom prevajalnik prevede v ”programe” entitet, ki vršijo omenjeno dinamiko.

9.5.3 Jezik Ecoli

Jezik Ecoli (angl. Extensible calculus of local interactions) je rahlo izven sinteznega koncepta, saj omogoča fokusiranje na dinamiko sporočil med posameznimi entitetami in služi kot ”spodnji nivo” za določanje programa posamezne celice v navezi z GPL jezikom. Povedano drugače, GPL sekvenca ukazov se prevede v notacijo Ecoli.

9.6 Nezanesljivost entitet

V splošnem smo predpostavili, da entitete ne vršijo dinamike svojih stanj z nam danes običajnimi zanesljivostmi. S tega vidika je potrebno pri realnih realizacijah zagotoviti ustrezno redundantnost entitet, ki zagotavljajo željeno dinamiko. S tem je programer razbremenjen skrbi za posamezne izpade entitet.

9.7 Vztrajnostna jedra

Vztrajnostna jedra (angl persistent nodes) v strukturah, so strnjene množice entitet v stanjih, ki so z globalnega vidika ”urejena” (nosilci informacij). Strnjena množica entitet ima lastnost vztrajnostnega jedra, če ob odvzemu večjega segmenta entitet takšna struktura ima zmožnost svoje obnovitve. Ni nujno, da se 9.8. PRIMERJAVA AMORFNEGA PROCESIRANJA Z BIOLOŠKIMI PROCESI79

Figure 9.2: Primerjava hierarhije gradnikov v bioloških in amorfnih sistemih.

dinamika obnovitve izvede na fizično istem sektorju prostora. Lahko se tudi premakne in obnovi nekje drugje v prostoru amorfnega substrata (angl. amorphous substrate).

9.8 Primerjava amorfnega procesiranja z biološkimi procesi

Omenjena primerjava je prikazana na sliki 9.2.

9.9 Povzetek poglavja

Tako kot reverzibilno, tudi amorfno procesiranje sodi v materialno neodvisne koncepte pristopa k procesiranju (angl. hardware agnostic) [W ik1]. Z vidika končnih ciljev vodi primarno k aplikacijam inteligentnih materialov (npr. pametne barve, ). Glede na vsebino poglavja mu je dokaj soroden pojem vseprisotnega procesiranja (angl. ubiquotous computing), razširjen danes predvsem na področjjih konzumnih in komunikacijskih produktov. Amorfno procesiranje je paradigma, ki neposredno rokuje s termini kot so samoorganizacija, samoreplikacija, itd.

Glede na koncept sinteze vzorcev je amorfno procesiranje zanimivo tudi iz drugega vidika. Predpostavimo, da v naravi opazujemo proces, pri katerem so razvidni časovni urejeni vzorci dinamike evolucijskega značaja. Ob predpostavki, da nas zanimajo zakonitosti lokalnih interakcij, lahko s pomočjo specializiranih programskih jezikov GPL ali OSL pridemo vzvratno do spoznanja zakonitosti lokalnih pravil.

80 CHAPTER 9. AMORFNO PROCESIRANJE

Naravno procesiranje

Področje naravnega procesiranja (angl. natural computation) razdelimo na tri različna področja raziskav:

• procesiranje v naravnih materialih (angl. hardware gnostic): gre za materialno vezano procesiranje, ki je bilo deloma opisano že v poglavjih kvantnega, optičnega in DNK procesiranja,

• modeliranje in simuliranje procesov iz narave: gre za sintetični proces, ki skuša kreirati vzorce, obnašanje sistemov itd., ki je bilo deloma že opisano v poglavju o amorfnemu procesiranju; tipična primera sta področji fraktalske geometrije in umetnega življenja (angl. artificial life),

• procesiranje inspirirano z naravno dinamiko (angl. biologically inspired computing): v tem primeru jemljemo ideje za algoritme iz narave; takšno procesiranje naj bi reševalo kompleksne probleme; tipični zgledi so evolucijske metode (angl. evolutionary computation), nevronske mreže (angl. neural nets), itd.

V pričujočem poglavju si bomo ogledali nekaj zgledov iz druge in tretje skupine naravnega procesiranja.

10.1 Fraktalsko procesiranje

V fraktalsko procesiranje nas vodi razgibanost in podobnost posameznih naravnih oblik [V ir2]. Mandelbrot si že v 60ih letih prejšnjega stoletja zastavi vprašanje, kako dolga je britanska obala. Navkljub geometrskim izmeram, bi pri natančnih meritvah prišli do ”čudnih” ugotovitev. Predpostavimo, da bi obalo merili z merilom dolžine r_{1}. Z n_{1} polaganji merila od točke do točke obale bi prišli do izmerjene dolžine obale N_{1}=r_{1} ∗ n_{1}. Če bi merilo skrajšali na razdaljo r_{2}, bi potrebovali več polaganj, novo izmerjena dolžina pa bi bila nedvomno daljša (N_{2} ≥ N_{1}). S krajšanjem merila in s tem posledično povečevanjem števila polaganj, bi praviloma prišli do relacije (N_{1} ≤ N_{2} ≤ ... ≤ N_{i} ≤ ....).

Figure 10.1: Mandelbrotova množica.

Očitno je kompleksnost narave tako velika, da nam odgovora na vprašanje o dolžini obale ne da.

Fraktalsko procesiranje je inspirirano s kompleksnostjo narave, ki ga ponazarja predhodni primer. Temelji na fraktalski geometriji, rezultat procesiranja pa je fraktalska struktura. Iz delitve prejšnjega razdelka sodi v drugo skupino raziskav. Definicija fraktalskih struktur je sledeča:

Definition 6 Fraktal je fragmentirana geometrična oblika, ki jo lahko razdelimo na dele. Vsak od delov je vsaj do neke mere reducirana kopija celotne strtukture (angl. self similarity).

Oče fraktalskih strutkur je Mandelbrot (1975), temeljijo pa na matematičnih izračunih. Tipičen primer fraktalske strukture je Mandelbrotova množica na sliki 10.1 [W ik1].

Osnovne značilnosti fraktalskih strtukur so sledeče:

• končna struktura je poljubne dimenzije,

• struktura je praviloma neregularna, iz česar sledi, da je težko opisljiva v Evklidskem geometričnem zapisu,

• ima vsaj stohastične lastnosti samopodobnosti (angl. self similar),

• ima enostavno rekurzivno definicijo.

Poznamo tri osnovne vrste samopodbnosti v fraktalskih strtukturah in sicer

• eksaktna samopodobnost (angl. exact self similarity): gre za najstrožjo sampodobnost, pri katerih so posamezni deli struktur enaki na različnih velikostnih nivojih; običajno so priodbljeni na osnovi iteracijske funkcije; • delna samopodobnost (angl. quasi self similarity): samopodobnost na ra-

zličnih velikostnih nivojih je le približna; običajno obimo takšno strukturo preko rekurenčnih relacij ;

• statistična samopodobnost (angl. statistical self similarity): podobnost struktur posameznih velikostnih razredov je pogojena statistično.

Tipični primeri naravnih pojavov, ki so vizuelno blizu fraktalskim strukturam so oblike oblakov, gora, obal, snežink, listov dreves, itd. Za zgled si oglejmo dva enostavna primera fraktalskih struktur

10.1.1 Kochova snežinka in trikotniki Sierpinskega

Tipična enostavna primera fraktalskih struktur sta Kochova snežinka in trikotniki Sierpinskega (1915). Psevdo algoritem za generiranje prve je sledeč

   začetno strukturo ponazori s praznim trikotnikom;
   ponavljaj za vse obstoječe trikotnike:
       vsako od treh linij v obstoječih trikotnikih razdeli na tri daljice;
       osrednjo daljico zbriši;
       na njeno mesto postavi nov (za tretjino manjši trikotnik);
       usmerjen naj bo iz obstoječe strukture;
       nosilna daljica novega trikotnika naj ostane nevidna;

za generiranje druge pa

   začni z rdečim trikotnikom
   ponavljaj za vse trikotnike:
       v vse rdeče trikotnike postavi pol manjše črne trikotnike

Zgleda dinamike rasti obeh struktur sta ponazorjena na [W ik2].

10.1.2 Generator fraktalske strukture praproti

Temelj generatorja fraktalske praproti (angl. fern) je iterativna funkcija. Končni rezultat generiranja strukture najdemo na sliki 10.2 [W ik3]. Iterativna funkcija temelji na 4 različnih statistično pogojenih enačbah in sicer

x_{n+1} = 0, y_{n+1} = 0, 16 ∗ y_{n},  (10.1)
x_{n+1} = 0, 2 ∗ x_{n} − 0, 26 ∗ y_{n}, y_{n+1} = 0, 23 ∗ x_{n} + 0, 22 ∗ y_{n} + 1, 6, (10.2)
x_{n+1} = −0, 15 ∗ x_{n} + 0, 28 ∗ y_{n}, y_{n+1} = 0, 26 ∗ x_{n} + 0, 24 ∗ y_{n} + 0, 44, (10.3)
x_{n+1} = 0, 85 ∗ x_{n} + 0, 04 ∗ y_{n}, y_{n+1} = −0, 04 ∗ x_{n} + 0, 85 ∗ y_{n} + 1, 6, (10.4)

izhodiščna točka pa je x_{0} = y_{0} = 0. Prvi izraz (10.1) je izbran v 1%, drugi in tretji (10.2,10.3) v 7%, zadnji četrti (10.4) pa v 85% iteracij. Izraz (10.1) preslikuje vse točke prostora v zeleni pecelj, izraz (10.2) preslikuje poljubne 84 CHAPTER 10. NARAVNO PROCESIRANJE

Figure 10.2: Fraktalsko generiran list praproti. točke v rdeči list, izraz (10.3) preslikuje poljubne točke v temnomodri list in izraz 10.4 preslikuje poljubne točke v svetlo modri osrednji list. Pri tem je koordinatni sistem črnega pravokotnika omejen na dvo dimenzionalni prostor [−5..5, 0..10].

10.2 Celularno procesiranje

Zgled naše aplikacije požarov.

10.3 Boidi

Zgled Iztokovih ptičev.

86 CHAPTER 10. NARAVNO PROCESIRANJE

Analogno procesiranje

Analogno procesiranje vrši analogni računalnik (angl. analog computer, real computer -real numbers), temelji pa na obdelavi podatkov podanih z merljivimi zveznimi fizikalnimi veličinami (vrednostmi), ne pa na obdelavi podatkov zapisanih s števili. Fizikalne veličine so lahko električnega tipa, mehanskega tipa, hidravličnega tipa, itd. Tipičen zgled razlikovanja med analognim in digitalnim pristopom bi bil v termometru. Pri klasičnem je izmerjena temperatura merljiva z zvezno fizikalno veličino (višino živega srebra), pri digitalnem pa z števili.

Omenjene vrste naprav so se pojavljale že v zgodovini. Ena od najstarejših takšnih naprav je ”Antikyhera”. Gre za mehanski stroj (izdelan približno 100 pred našim štetjem), podoben uram 18. stoletja. Uporabljali so ga za navigacijo ladij.

11.1 Mehanski analogni računalniki

Glej v prosojnicah: 11_handson_A.PDF (slike 3-15).

11.2 Elektronski analogni računalnik

Vrhunec razvoja elektronskih analognih računalnikov se je odvijal v sredini prejšnjega stoletja. Značilnosti omenjenih naprav so bile sledeče:

• osnovna nosilca podatkov sta napetost in električni tok v obliki valovnih funkcij,

• vsebujejo potenciometre, ki služijo kot vhodi podatkov (slednje omogoča neposredno rokovanje z realnimi števili),

• vsebujejo operacijske ojačevalnike, ki se danes večinoma pojavljajo kot polprevodniško izdelana integrirana vezja, v preteklosti pa so bili realizirani v obliki vakumskih cevi (angl. vacuum tubes), • vsebujejo osciloskop kot merilni element (branje vrednosti podatkov), z

natančnostjo katerega je določena tudi natančnost branja podatkov

• vse operacije v sistemu se izvajajo hkrati (resnični paralelizem).

Elektronski analogni računalniki imajo pred mehanskimi prednost v nižji ceni, večji hitrosti delovanja in rekonfigurabilnosti delovanja. Slaba lastnost tovrstnih naprav v primerjavi z mehanskimi je relativno velika nezanesljivost delovanja. Glavni vzrok slednjega je prisotnost in vplivnost šuma.

Podatki v analognem računalniku so predstavljeni z električnimi napetostmi, katerih zaloga vrednosti izhaja iz končnega zveznega intervala, ne pa z napetostnimi nivoji, kakor v digitalnih računalnikih [Str1]. Iz povedanega izvira, da imamo na omenjenenem intervalu neskončno zalogo potencialnih podatkovnih vrednosti. Tako bi pri predvidenem napetostnem intervalu [−100V, 100V] vrednosti vseh podatkov morali preskalirati v omenjeni interval. Če bi tako imeli spremenljivko temperatura z možnimi vrednostmi od 0 do 1000∘C, bi 1000∘C interpretirali z napetostjo 100V. Za manipulacijo z podatki (napetostmi) imamo na razpolago nabor skalirnih faktorjev. V nadaljevanju opišimo osnovne sestavne dele analognih elektronskih računalnikov.

11.2.1 Ojačevalniki

Ojačevalniki (angl. amplifiers) služijo ojačevanju (skaliranju) pretežno enosmernih napetostnih nivojev. Njihov možni rang ojačitve se meri v 10^{n}, imajo pa tudi zmožnost fazne spremembe (transformacija na negativno predznačeno napetost).

11.3 Primoževa diploma

Glej diplomo: vetrnica kot zvezni podatek (continuous QVCA).

11.4 Povzetek poglavja

Zgodovinsko gledano je izbira analognega elektronskega računalnika veljala za hitrejši pristop k reševanju problemov, v primerjavi z digitalnimi računalniškimi sistemi. Predvsem je bila izbira analognega pristopa ugodna pri reševanju tehničnih problemov, ki so temeljili na reševanju diferencialnih enačb ali simulacijah večdimenzionalnih paralelnih zveznih procesov. Prva slaba plat analognih sistemov je bila v nezanesljivosti, ki je izhajala iz nezanesljivosti posameznih komponent, druga slaba plat pa je bila sposobnost pomnenja, ki se je glede na naravo vrednosti podatka (napetost iz zveznega intervala) ni dalo robustno realizirati. Če v digitalnem rač. sistemu pomnimo en numerični podatek z množico tranzistorjev, en numerični podatek v analognem sistemu pomnimo v enem kondenzatorju.

Reference

[Abe1] http://groups.csail.mit.edu/mac/projects/amorphous/white-paper/amorph-new/amorph-new.html

[Abe2] H.Abelson, J.Beal, G.J.Sussman: Amorphous Computing, MIT, Technical Report, 2007, USA

[Abe3] H.Abelson, D.Allen, D.Coore, C.Hanson, et.al.: Amorphous computing, Communications of the ACM, May 2000, Vol.43, No.5.

[Ada1] A.Adamatzky, B.L.COstello, T.Asai: Reaction diffusion computers, Elsevier, 2005, ISBN 0-978-0-444-52042-5

[Alo1] U.Alon, Introduction to systems biology, Design Principles of Biological Circuits, Chapman & Hall/CRC, USA, 2007, ISBN 1-58488-642-0

[Asp1] W.Aspray:John Von Neumann and The Origins Of Modern Computing, The MIT Press, England, 1990.

[Ars1] http://arstechnica.com

[Bac1] http://www.li-bachman.net/eecs179/lectures/

[Ben1] http://www.research.ibm.com/journal/rd/176/ibmrd1706G.pdf

[Cal1] http://www.cs.caltech.edu/~westside/quantum-intro.html

[Cal2] S.Calude, G.Paun: Computing with cells and atoms, 2001, Taylor&Francis Inc.

[Coo1] http://groups.csail.mit.edu/mac/projects/amorphous/paperlisting.html#danielthesis

[Cve1] B.Cvetković: Analiza možnosti realizacije pimitivnih računalniških struktur na osnovi DNK gradnikov, Bachelor’s thesis, Faculty of Computer and Information Science, University of Ljubljana, 2008

[Eva1] http://www.cs.virginia.edu/~evans/cs655-S00/lectures/lecture23.ppt#380,42,What is a language? (Lecture 1)

[F ra1] http://www.eng.fsu.edu/~mpf/pubs.htm [F ra2] http://www.cise.ufl.edu/research/revcomp/

[Gar1] T.S.Gardner, C.R.Cantor, J.J.Collins: Construction of a genetic toggle switc in escherichia coli, Nature, vol.403, pp. 339-342, 2000

[Gli1] B.R.Glick, J.Pasternack: Molecular biotechnology: principles and applications of recombinant DNA, 3rd Edition, ASM Press, 2003 [Hak1] M.G.Hak, The MEMS Handbook, CRC Press, 2002

[Har1] http://www.personal.reading.ac.uk/~scsharip/tubes.htm

[Hay1] B.Hayes: Third Base, American Scientist, Vol.89, Num.6, 2001, USA

[Hay2] B.Hayes: Reverse Engineering, American Scientist, Vol.94, Num.2., 2006, USA

[Hir1] M.Hirvensalo: Quantum Computing, Springer Verlag, 2001, ISBN 3-540-66783-0

[Ibm1] http://www.research.ibm.com/nanoscience/nanotubes.html

[Kob1] H.Kobayashi, M.Kaern, M.Araki, K.Chung, T.S.Gardner, C.R.Cantor, J.J.Collins: Programmable cells: Interfacing natural and engineered gene networks, Proceedings of the National Academy of Sciences, Vol.101, pp. 8414-8419, 2004.

[Kod1] D.Kodek: Arhitektura in organizacija računalniških sistemov, Bi-Tim, 2008, ISBN 978-961-6046-08-4

[Mem1] http://www.memsnet.org

[Mos1] M.Moškon, M.Ciglič, N.Zimic, M.Mraz: Model realizacije funkcionalnosti RS pomnilne celice v biološkem sistemu, Elektrotehniški vestnik (sprejeto v objavo)

[Nag1] M.Nagy, S.G.Akl: Quantum computation and quantum information, Techmical report 2005-496

[Odi1] Odiseja 2001, film, Kubrick, 1967 [P DF 1] http://web.bf.uni-lj.si/bi/biokemija/SBD/Docs/sinbiol.pdf

[Ram1] N.Ramakrishnan, U.S.Bhalla, J.J.Tyson: Computing with proteins, Computer, vol.42, pp. 47-56, 2009

[P it1] [Re g1] E.Regis: Nano – the emerging science of nanotechnology, BackBay

Books, 1995

[SciAm1] Understanding nanotechnology, from editors of Scientific American, Warner Books, 2002 , ISBN 0-446-67956-9

[Sho1] P.Shor, Polynomial time algorithms for prime factorization and discrete algorithms on a quantum computer, SIAL J.Computi., Vol.26, No.5, 1484-1509, 1997

[Sof1] http://www.softmemc.com/mems_pro.html

[Str1] J.D.Strong, G.Hannauer: A practical approach to analog computers, Instruments and Control Systems, Vol.35, No.8, 1962

[T ia1] T.Tian, K.Burrage: Stochastic models for regulatory networks of the genetic toggle switch, Proceedings of National Academy of Sciences, Vol. 103, pp. 8372-8377, 2006

[Use1] http://www-users.cs.york.ac.uk/schmuel/comp/node6.html [V ir1] J.Virant, Načrtovanje nanoračunalniških strutkur, Didakta 2007, Slovenija,

ISBN 978-961-6646-38-3

[V ir2] J.Virant: Z računalnikom v fraktalsko geometrijo narave, Didakta, Radovljica, 1991

[Zho1] http://www.cs.virginia.edu/~evans/cs655/projects/zhong.ppt#276,17,GPL – A-to-B segment

[W ik1] Wikipedia.org [W ik2] http://en.wikipedia.org/wiki/Fractal_geometry [W ik3] http://en.wikipedia.org/wiki/Iterated_function_system Še necitirano:

[Nie1] Nano, Quantum and Molecular Computing - Implications to High Level Design and Validation, Ed. S.K.Shukla and R.I. Bahar: Origins and Motivations for Design Rules in QCA (M.T.Niemier, P.M.Kogge), Kluwer Academic Publishers, Boston, 2004, USA

[W ol1] glej knjigo o CA od Wolframa [P eč1] magisterij od Primoža: naj ga da na NET!!!!!!!!

92 CHAPTER 12. REFERENCE

Preostala zanimive vsebine - materialne platforme

Fluid computing Peptide computing Computation fluid dynamics Liquid intelligence Chemcial computing Wetware computing Reakcijsko difuzijsko procesiranje 94CHAPTER 13. PREOSTALA ZANIMIVE VSEBINE - MATERIALNE PLATFORME

Chapter 14

Ubiqutous processing