Lateral beräkning

Lateral computing är ett lateralt tänkande för att lösa datorproblem. Sidotänkande har blivit populärt av Edward de Bono . Denna tanketeknik används för att generera kreativa idéer och lösa problem. På liknande sätt, genom att tillämpa sidoberäkningstekniker på ett problem, kan det bli mycket lättare att komma fram till en beräkningsmässigt billig, lätt att implementera, effektiv, innovativ eller okonventionell lösning.

Det traditionella eller konventionella tillvägagångssättet för att lösa beräkningsproblem är att antingen bygga matematiska modeller eller ha en OM-SÅ-ANELSE- struktur. Till exempel används en brute-force-sökning i många schackmotorer , men detta tillvägagångssätt är beräkningsmässigt dyrt och kan ibland komma fram till dåliga lösningar. Det är för sådana här problem som lateral beräkning kan vara användbar för att skapa en bättre lösning.

Ett enkelt problem med truckbackup kan användas för att illustrera lateral computing [ förtydligande behövs ] . [ citat behövs ] Detta är en av de svåra uppgifterna för traditionella beräkningstekniker, och har lösts effektivt genom användning av fuzzy logik (som är en lateral beräkningsteknik). [ citat behövs ] Lateral-beräkning kommer ibland fram till en ny lösning för särskilda datorproblem genom att använda modellen av hur levande varelser, till exempel hur människor, myror och honungsbin, löser ett problem; hur rena kristaller bildas genom glödgning, eller evolution av levande varelser eller kvantmekanik etc. [ förtydligande behövs ]

Från lateralt tänkande till lateralt beräkningar

Lateralt tänkande är en teknik för kreativt tänkande för att lösa problem. Hjärnan som centrum för tänkande har ett självorganiserande informationssystem. Det tenderar att skapa mönster och traditionell tankeprocess använder dem för att lösa problem. Tekniken för lateralt tänkande föreslår att man ska fly från detta mönster för att komma fram till bättre lösningar genom nya idéer. Provocerande användning av informationsbehandling är den grundläggande underliggande principen för lateralt tänkande,

Den provocerande operatören (PO) är något som kännetecknar lateralt tänkande. Dess funktion är att generera nya idéer genom provokation och tillhandahålla en flyktväg från gamla idéer. Det skapar ett provisoriskt arrangemang av information.

Vattenlogik är kontrast till traditionell eller rocklogik. Vattenlogik har gränser som beror på omständigheter och förhållanden medan berglogik har hårda gränser. Vattenlogik liknar på något sätt flummig logik .

Övergång till lateral computing

Lateral computing gör en provocerande användning av informationsbehandling som liknar lateralt tänkande. Detta förklaras med användningen av evolutionär beräkning som är en mycket användbar lateral beräkningsteknik. Evolutionen fortskrider genom förändring och urval. Även om slumpmässig mutation ger förändring, är urvalet genom survival of the fittest . Den slumpmässiga mutationen fungerar som en provocerande informationsbehandling och ger en ny väg för att generera bättre lösningar för datorproblemet. Termen "Lateral Computing" föreslogs först av Prof CR SUTHIKSHN Kumar och First World Congress on Lateral Computing WCLC 2004 anordnades med internationella deltagare under december 2004.

Lateral computing tar analogierna från verkliga exempel som:

Särskiljande faktorer för "lateral computing":

  • Närmar sig inte problemet direkt med matematiska medel.
  • Använder indirekta modeller eller letar efter analogier för att lösa problemet.
  • Radikalt annorlunda än vad som är på modet, som att använda "fotoner" för beräkning i optisk beräkning. Detta är sällsynt eftersom de flesta konventionella datorer använder elektroner för att bära signaler.
  • Ibland är Lateral Computing-teknikerna förvånansvärt enkla och levererar högpresterande lösningar på mycket komplexa problem.
  • Vissa av teknikerna inom lateral computing använder "oförklarliga hopp". Dessa hopp kanske inte ser logiska ut. Exemplet är användningen av "Mutation"-operator i genetiska algoritmer.

Konvention – lateral

Det är mycket svårt att dra en tydlig gräns mellan konventionell och lateral beräkning. Under en tidsperiod blir vissa okonventionella datortekniker en integrerad del av vanliga datoranvändning. Så det kommer alltid att finnas en överlappning mellan konventionell och lateral beräkning. Det kommer att bli en tuff uppgift att klassificera en beräkningsteknik som en konventionell eller lateral beräkningsteknik som visas i figuren. Gränserna är luddiga och man kan närma sig med luddiga uppsättningar.

Formell definition

Lateral computing är en suddig uppsättning av alla beräkningstekniker som använder okonventionella beräkningsmetoder. Följaktligen inkluderar lateral beräkning de tekniker som använder semi-konventionell eller hybrid beräkning. Graden av medlemskap för sidoberäkningstekniker är större än 0 i den otydliga uppsättningen av okonventionella beräkningstekniker.

Följande tar fram några viktiga differentiatorer för lateral beräkning.

Konventionell datoranvändning
  • Problemet och tekniken är direkt korrelerade .
  • Behandlar problemet med rigorös matematisk analys.
  • Skapar matematiska modeller.
  • Beräkningstekniken kan analyseras matematiskt.
Lateral beräkning
  • Problemet kan knappast ha något samband med den datorteknik som används
  • Närmar sig problem genom analogier som mänsklig informationsbearbetningsmodell, glödgning , etc.
  • Ibland kan beräkningstekniken inte analyseras matematiskt.

Lateral beräkning och parallell beräkning

Parallell beräkning fokuserar på att förbättra prestanda hos datorer/algoritmer genom användning av flera beräkningselement (som bearbetningselement). Beräkningshastigheten förbättras genom att använda flera beräkningselement. Parallell beräkning är en förlängning av konventionell sekventiell beräkning. Men vid lateral beräkning löses problemet med hjälp av okonventionell informationsbehandling, oavsett om det används en sekventiell eller parallell beräkning.

En genomgång av laterala beräkningstekniker

Det finns flera beräkningstekniker som passar det laterala beräkningsparadigmet. Här är en kort beskrivning av några av de laterala beräkningsteknikerna:

Svärm intelligens

Svärmintelligens (SI) är egenskapen hos ett system där kollektiva beteenden hos (osofistikerade) agenter, som interagerar lokalt med sin omgivning, får sammanhängande funktionella globala mönster att uppstå. [ förtydligande behövs ] SI ger en grund med vilken det är möjligt att utforska kollektiv (eller distribuerad) problemlösning utan centraliserad kontroll eller tillhandahållande av en global modell.

En intressant svärmintelligent teknik är Ant Colony-algoritmen :

  • Myror är beteendemässigt osofistikerade; tillsammans utför de komplexa uppgifter. Myror har högt utvecklad sofistikerad teckenbaserad kommunikation.
  • Myror kommunicerar med feromoner; stigar läggs som kan följas av andra myror.
  • Routingproblem Myror tappar olika feromoner som används för att beräkna den "kortaste" vägen från källa till destination(er).

Agentbaserade system

Agenter är inkapslade datorsystem som är placerade i någon miljö och kan utföra flexibel, autonom handling i den miljön för att uppfylla sina designmål. [ förtydligande behövs ] Agenter anses vara autonoma (oberoende, okontrollerbara), reaktiva (reagera på händelser), proaktiva (initiera handlingar av egen vilja) och sociala (kommunikativa). Agenter varierar i sina förmågor: de kan vara statiska eller mobila, eller kanske inte intelligenta. Varje agent kan ha sin egen uppgift och/eller roll. Agenter och multiagentsystem används som en metafor för att modellera komplexa distribuerade processer. Sådana agenter behöver alltid interagera med varandra för att hantera sina ömsesidiga beroenden . Dessa interaktioner involverar agenter som samarbetar, förhandlar och koordinerar med varandra.

Agentbaserade system är datorprogram som försöker simulera olika komplexa fenomen via virtuella "agenter" som representerar komponenterna i ett affärssystem. Dessa agenters beteenden är programmerade med regler som realistiskt skildrar hur verksamheten bedrivs. Eftersom vitt skilda individuella agenter interagerar i modellen simuleringen hur deras kollektiva beteenden styr hela systemets prestanda - till exempel framväxten av en framgångsrik produkt eller ett optimalt schema. Dessa simuleringar är kraftfulla strategiska verktyg för "vad-om"-scenarioanalys: eftersom chefer ändrar agentegenskaper eller "regler", kan effekten av förändringen lätt ses i modellens utdata

Grid computing

I analogi är ett beräkningsnät en hårdvaru- och mjukvaruinfrastruktur som ger pålitlig, konsekvent, genomgripande och billig tillgång till avancerade beräkningsmöjligheter. Tillämpningarna av grid computing finns i:

  • Chipdesign, kryptografiska problem, medicinsk instrumentering och superdatorer .
  • Distribuerade superdatorapplikationer använder rutnät för att aggregera betydande beräkningsresurser för att hantera problem som inte kan lösas på ett enda system.

Autonom beräkning

Det autonoma nervsystemet styr vår hjärtfrekvens och kroppstemperatur och befriar på så sätt vår medvetna hjärna från bördan av att hantera dessa och många andra låga, men ändå vitala, funktioner. Kärnan i autonom datoranvändning är självförvaltning, vars avsikt är att befria systemadministratörer från detaljerna om systemdrift och underhåll.

Fyra aspekter av autonom beräkning är:

  • Självkonfiguration
  • Självoptimering
  • Självläkande
  • Självförsvar

Detta är en stor utmaning som främjas av IBM .

Optisk beräkning

Optisk beräkning är att använda fotoner snarare än konventionella elektroner för beräkning. Det finns en hel del fall av optiska datorer och framgångsrik användning av dem. [ förtydligande behövs ] De konventionella logiska grindarna använder halvledare , som använder elektroner för att transportera signalerna. I fallet med optiska datorer används fotonerna i en ljusstråle för att göra beräkningar.

Det finns många fördelar med att använda optiska enheter för datoranvändning, såsom immunitet mot elektromagnetiska störningar, stor bandbredd, etc.

DNA-beräkning

DNA-beräkningar använder DNA-strängar för att koda instansen av problemet och för att manipulera dem med tekniker som är allmänt tillgängliga i alla molekylärbiologiska laboratorier för att simulera operationer som väljer lösningen på problemet om det finns.

Eftersom DNA-molekylen också är en kod, men istället består av en sekvens av fyra baser som paras ihop på ett förutsägbart sätt, har många forskare funderat på möjligheten att skapa en molekylär dator. [ förtydligande behövs ] Dessa datorer förlitar sig på de mycket snabbare reaktionerna av DNA-nukleotider som binder med deras komplement, en brute force -metod som har enorm potential för att skapa en ny generation av datorer som skulle vara 100 miljarder gånger snabbare än dagens snabbaste PC. DNA-beräkning har utropats som det "första exemplet på äkta nanoteknik ", [ citat behövs ] och till och med "starten på en ny era", [ citat behövs ] som skapar en aldrig tidigare skådad koppling mellan datavetenskap och biovetenskap.

Exempel på tillämpningar av DNA-beräkning är en lösning för Hamiltons vägproblem som är en känd NP [ förtydligande behövs] komplett . Antalet nödvändiga labboperationer med DNA växer linjärt med antalet hörn i grafen. [ förtydligande behövs ] Molekylära algoritmer har rapporterats som löser det kryptografiska problemet i ett polynomantal steg. Som känt är faktorisering av stora tal ett relevant problem i många kryptografiska tillämpningar.

Kvantberäkning

I en kvantdator är den grundläggande informationsenheten (kallad en kvantbit eller qubit ) inte binär utan snarare mer kvartär till sin natur. Denna qubit-egenskap uppstår som en direkt konsekvens av dess efterlevnad av kvantmekanikens lagar, som skiljer sig radikalt från den klassiska fysikens lagar. En qubit kan existera inte bara i ett tillstånd som motsvarar det logiska tillståndet 0 eller 1 som i en klassisk bit, utan också i tillstånd som motsvarar en blandning eller kvantöverlagring av dessa klassiska tillstånd. Med andra ord kan en qubit existera som noll, etta eller samtidigt som både 0 och 1, med en numerisk koefficient som representerar sannolikheten för varje tillstånd. En kvantdator manipulerar qubits genom att exekvera en serie av quantum grindar , var och en en enhetlig transformation som verkar på en enda qubit eller ett par qubits. Genom att tillämpa dessa grindar i följd kan en kvantdator utföra en komplicerad enhetlig transformation till en uppsättning qubits i något initialt tillstånd.

Omkonfigurerbar datoranvändning

Fältprogrammerbara gate arrays (FPGA) gör det möjligt att bygga riktigt omkonfigurerbara datorer . Datorarkitekturen omvandlas genom omkonfigurering av FPGA-kretsen i farten. Den optimala matchningen mellan arkitektur och algoritm förbättrar prestandan hos den omkonfigurerbara datorn. Nyckelfunktionen är hårdvarans prestanda och mjukvaruflexibilitet.

För flera applikationer som fingeravtrycksmatchning, DNA-sekvensjämförelse etc. har omkonfigurerbara datorer visat sig prestera flera storleksordningar bättre än konventionella datorer.

Simulerad glödgning

Den simulerade glödgningsalgoritmen är designad genom att titta på hur de rena kristallerna bildas från ett upphettat gasformigt tillstånd medan systemet kyls långsamt. Beräkningsproblemet är omdesignat som en simulerad glödgningsövning och lösningarna har kommit fram. Arbetsprincipen för simulerad glödgning är lånad från metallurgin: en metallbit värms upp (atomerna får termisk omrörning), och sedan får metallen svalna långsamt. Den långsamma och regelbundna kylningen av metallen tillåter atomerna att gradvis glida sina mest stabila ("minimal energi") positioner. (Snabb kylning skulle ha "fryst" dem i vilken position de än råkade befinna sig vid den tiden.) Den resulterande metallens struktur är starkare och mer stabil. Genom att simulera glödgningsprocessen inuti ett datorprogram är det möjligt att hitta svar på svåra och mycket komplexa problem. Istället för att minimera energin hos ett metallblock eller maximera dess styrka, minimerar eller maximerar programmet något mål som är relevant för det aktuella problemet.

Mjuk datoranvändning

En av huvudkomponenterna i "Lateral-computing" är soft computing som närmar sig problem med mänsklig informationsbehandlingsmodell. Soft Computing-tekniken omfattar fuzzy logic, neuro-computing, evolutionary computing, maskininlärning och probabilistisk-kaotisk beräkning.

Neuroberäkning

Istället för att lösa ett problem genom att skapa en icke-linjär ekvationsmodell av det, används den biologiska neurala nätverksanalogin för att lösa problemet. Det neurala nätverket tränas som en mänsklig hjärna för att lösa ett givet problem. Detta tillvägagångssätt har blivit mycket framgångsrikt för att lösa några av problemen med mönsterigenkänning .

Evolutionär datoranvändning

Den genetiska algoritmen (GA) liknar den naturliga utvecklingen för att ge en universell optimering. Genetiska algoritmer börjar med en population av kromosomer som representerar de olika lösningarna. Lösningarna utvärderas med hjälp av en fitnessfunktion och en urvalsprocess avgör vilka lösningar som ska användas för tävlingsprocessen. Dessa algoritmer är mycket framgångsrika för att lösa sök- och optimeringsproblem. De nya lösningarna skapas med hjälp av evolutionära principer som mutation och crossover.

Rolig logik

Fuzzy logic är baserad på fuzzy set-koncepten som föreslagits av Lotfi Zadeh . Graden av medlemskapskoncept är centralt för fuzzy sets. De fuzzy seten skiljer sig från crisp seten eftersom de tillåter ett element att tillhöra en uppsättning till en viss grad (medlemskapsgrad). Detta tillvägagångssätt hittar bra tillämpningar för kontrollproblem. Fuzzy-logiken har hittat enorma tillämpningar och har redan funnit en stor marknadsnärvaro inom konsumentelektronik såsom tvättmaskiner, mikrovågsugnar, mobiltelefoner, TV-apparater, videokameror etc.

Probabilistisk/kaotisk beräkning

Probabilistiska beräkningsmotorer, t.ex. användning av probabilistisk grafisk modell som Bayesian-nätverk . Sådana beräkningstekniker kallas randomisering, vilket ger probabilistiska algoritmer. När det tolkas som ett fysiskt fenomen genom klassisk statistisk termodynamik leder sådana tekniker till energibesparingar som är proportionella mot sannolikheten p med vilken varje primitivt beräkningssteg garanteras vara korrekt (eller motsvarande sannolikheten för fel, (1–p). Chaotic Computing bygger på kaosteorin.

Fraktaler

Fractal Computing är objekt som uppvisar självlikhet i olika skalor. Generering av fraktaler involverar små iterativa algoritmer. Fraktalerna har dimensioner större än deras topologiska dimensioner. Längden på fraktalen är oändlig och storleken på den kan inte mätas. Det beskrivs av en iterativ algoritm till skillnad från en euklidisk form som ges av en enkel formel. Det finns flera typer av fraktaler och Mandelbrot-set är mycket populära.

Fraktaler har hittat tillämpningar i bildbehandling, bildkomprimering musikgenerering, datorspel etc. Mandelbrot set är en fraktal uppkallad efter dess skapare. Till skillnad från de andra fraktalerna, även om Mandelbrot-uppsättningen är självlik vid förstorade skalor, är småskaliga detaljer inte identiska med helheten. Dvs. Mandelbrot-uppsättningen är oändligt komplex. Men processen att generera den är baserad på en extremt enkel ekvation. Mandelbrot-mängden M är en samling av komplexa tal. Talen Z som tillhör M beräknas genom att iterativt testa Mandelbrots ekvation. C är en konstant. Om ekvationen konvergerar för vald Z , så tillhör Z M . Mandelbrots ekvation:

Randomiserad algoritm

En randomiserad algoritm gör godtyckliga val under dess exekvering. Detta möjliggör en besparing i exekveringstid i början av ett program. Nackdelen med denna metod är möjligheten att en felaktig lösning kommer att inträffa. En väldesignad randomiserad algoritm kommer att ha en mycket hög sannolikhet att returnera ett korrekt svar. De två kategorierna av randomiserade algoritmer är:

Överväg en algoritm för att hitta det k: te elementet i en array. Ett deterministiskt tillvägagångssätt skulle vara att välja ett pivotelement nära listans median och partitionera listan runt det elementet. Det randomiserade tillvägagångssättet för detta problem skulle vara att välja en pivot slumpmässigt, vilket sparar tid i början av processen. Liksom approximationsalgoritmer kan de användas för att snabbare lösa svåra NP-kompletta problem. En fördel gentemot approximationsalgoritmerna är dock att en randomiserad algoritm så småningom kommer att ge ett exakt svar om den körs tillräckligt många gånger

Maskininlärning

Människor/djur lär sig nya färdigheter, språk/begrepp. På liknande sätt maskininlärningsalgoritmer möjlighet att generalisera från träningsdata. Det finns två klasser av maskininlärning (ML):

  • Övervakad ML
  • Oövervakad ML

En av de välkända maskininlärningsteknikerna är Back Propagation Algorithm. Detta efterliknar hur människor lär sig av exempel. Träningsmönstren presenteras upprepade gånger för nätverket. Felet sprids tillbaka och nätverkets vikter justeras med gradientnedstigning. Nätverket konvergerar genom flera hundra iterativa beräkningar.

Stöd vektor maskiner

Detta är en annan klass av mycket framgångsrika maskininlärningstekniker som framgångsrikt tillämpas på uppgifter som textklassificering, talarigenkänning , bildigenkänning etc.

Exempelapplikationer

Det finns flera framgångsrika tillämpningar av laterala beräkningstekniker. Här är en liten uppsättning applikationer som illustrerar lateral beräkning:

  • Bubblesortering : Här närmar man sig beräkningsproblemet med sortering med en analogi av bubblor som stiger i vatten. Detta är genom att behandla siffrorna som bubblor och flytta dem till deras naturliga position.
  • Lastbilsbackupproblem: Detta är ett intressant problem att backa en lastbil och parkera den på en viss plats. De traditionella datorteknikerna har haft svårt att lösa detta problem. Detta har framgångsrikt lösts av Fuzzy-systemet.
  • Balansering av en inverterad pendel: Detta problem involverar balansering och inverterad pendel. Detta problem har lösts effektivt av neurala nätverk och luddiga system.
  • Smart volymkontroll för mobiltelefoner: Volymkontrollen i mobiltelefoner beror på bakgrundsljudnivåer, ljudklasser, användarens hörselprofil och andra parametrar. Mätningen på ljudnivå och ljudnivå innebär oprecision och subjektiva mått. Författarna har visat framgångsrik användning av fuzzy logic-system för volymkontroll i mobiltelefoner.
  • Optimering med hjälp av genetiska algoritmer och simulerad glödgning : Problemen som t.ex. problem med resande säljare har visat sig vara kompletta NP- problem. Sådana problem löses med hjälp av algoritmer som gynnas av heuristik. Några av applikationerna är i VLSI-routing, partitionering etc. Genetiska algoritmer och Simulated annealing har varit framgångsrika för att lösa sådana optimeringsproblem.
  • Programmering The Unprogrammable (PTU) involverar automatiskt skapande av datorprogram för okonventionella datorenheter såsom cellulära automater , multi-agent system , parallella system , fältprogrammerbara gate arrays , fältprogrammerbara analoga arrays, myrkolonier, svärmintelligens , distribuerade system , och liknande.

Sammanfattning

Ovan är en genomgång av laterala beräkningstekniker. Lateral-computing är baserad på lateralt tänkande och tillämpar okonventionella tekniker för att lösa datorproblem. Även om de flesta av problemen löses med konventionella tekniker, finns det problem som kräver lateral beräkning. Lateral-computing ger fördelen av beräkningseffektivitet, låg kostnad för implementering, bättre lösningar jämfört med konventionell datoranvändning för flera problem. Den laterala beräkningen hanterar framgångsrikt en klass av problem genom att utnyttja toleransen för oprecision, osäkerhet och partiell sanning för att uppnå lätthanterlighet, robusthet och låga lösningskostnader. Lateral-beräkningstekniker som använder mänskliga informationsbehandlingsmodeller har klassificerats som "Soft Computing" i litteraturen.

Lateral computing är värdefullt samtidigt som man löser många datorproblem vars matematiska modeller inte är tillgängliga. [ citat behövs ] De tillhandahåller ett sätt att utveckla innovativa lösningar som resulterar i smarta system med Very High Machine IQ (VHMIQ). Denna artikel har spårat övergången från lateralt tänkande till lateralt tänkande. Sedan har flera laterala beräkningstekniker beskrivits följt av deras tillämpningar. Lateral-computing är till för att bygga en ny generation artificiell intelligens baserad på okonventionell bearbetning.

Se även

Källor

  • Suthikshn Kumar CR(2022), Lateral Computing Algorithms: Workbook for Programmers, andra upplagan, 2022 Lateral Computing Algorithms Book (senast tillgänglig den 28 november 2022)
  • de Bono, E. (2003). "Edward de Bono" . Arkiverad från originalet 2001-02-01.
  • Proceedings of IEEE (2001): Special Issue on Industrial Innovations Using Soft Computing , september.
  • T. Ross (2004): Fuzzy Logic With Engineering Applications , McGraw-Hill Inc Publishers.
  • B. Kosko (1994); Fuzzy Thinking, Flamingo Publishers.
  • E. Aarts och J. Krost (1997); Simulated Annealing and Boltzmann Machines, John Wiley And Sons Publishers.
  • KV Palem (2003); Energy Aware Computing through Probabilistic Switching: A study of limits , teknisk rapport GIT-CC-03-16 maj 2003.
  • M. Sima, S. Vassiliadis, S. Cotofona, JTJ Van Eijndoven och KA Vissers (2000); En klassificering av anpassade datormaskiner, i Proceedings of the Progress workshop, oktober.
  • J. Gleick (1998); Choas: Making a New Science, Vintage Publishers.
  • B. Mandelbrot (1997); The Fractal Geometry of Nature, Freeman Publishers, New York.
  • DR Hofstadter (1999); Godel, Escher, Bach: An Eternal Golden Braid , Harper Collins Publishers.
  • RA Aliev och RR Aliev (2001); Soft Computing och dess tillämpningar , World Scientific Publishers.
  • Jyh-Shing Roger Jang, Chuen-Tsai Sun & Eiji Mizutani (1997); Neuro-fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence, Prentice Hall Publishers.
  • John R. Koza, Martin A. Keane, Matthew J. Streeter, William Mydlowec, Jessen Yu och Guido Lanza (2003); Genetisk programmering IV: Rutinmässig mänsklig-kompetitiv maskinintelligens, Kluwer Academic.
  • James Allen (1995); Natural Language Understanding, 2nd Edition, Pearson Education Publishers.
  • R. Herken (1995); Universal Turing Machine, Springer-Verlag 2nd Edition.
  • Harry R. Lewis, Christos H. Papadimtrou (1997); Elements of Theory of Computation, 2:a upplagan, Prentice Hall Publishers.
  • M. Garey och D. Johnson (1979); Datorer och intractability: A theory of NP Completeness, WH Freeman and Company Publishers.
  • M. Sipser (2001); Introduktion till teorin om beräkning, Thomson/Brooks/Cole Publishers.
  • K. Compton och S. Hauck (2002); Reconfigurable Computing: En undersökning av system och programvara, ACM Computing Surveys, Vo. 34, nr 2, juni 2002, s. 171–210.
  • DW Patterson (1990); Introduktion till artificiell intelligens och expertsystem, Prentice Hall Inc. Publishers.
  • E. Charniak och D. Mcdermott (1999); Introduktion till artificiell intelligens, Addison Wesley.
  •   Hameroff, SR (1997). Ultimate Computing . Elsevier Science Publishers. ISBN 978-0-444-70283-8 .
  • RL Epstein och WA Carnielli (1989); Beräkningsbarhet, beräkningsbara funktioner, logik och matematikens grunder, Wadsworth & Brooks/Cole Advanced Books and Software.
  • T. Joachims (2002); Lär dig att klassificera text med hjälp av Support Vector Machines, Kluwer Academic Publishers.
  • T. Mitchell (1997); Machine Learning, McGraw Hill Publishers.
  • R. Motwani och P. Raghavan (1995); Randomized Algorithms , Cambridge International Series in Parallel Computation, Cambridge University Press.
  • Sun Microsystems (2003); Introduktion till genomströmningsberäkning, teknisk rapport.

Konferenser

  • First World Congress on Lateral Computing , IISc, Bangalore Indien, december 2004 WCLC 2004
  • Andra världskongressen om lateral beräkning , WCLC 2005, PESIT, Bangalore, Indien