tillstånd

  1. (state) – händelser och in­ställningar som påverkar ett programs be­teende. Samma instruktion utförs på olika sätt beroende på vilket tillstånd programmet befinner sig i. Till­stånd kan ses som programmens närminne: det hjälper dem att komma ihåg var de är i pro­gram­körningen och vad de redan har gjort. Program som arbetar med till­stånd kallas för tillståndsbaserade (stateful). Ett tillståndslöst program, däremot, svarar likadant på en instruktion varje gång. Annars kan instruktionen verk­ställas på olika sätt, be­roende på programmets tillstånd. I vissa fall säger regeln att datorn ska gå över till ett annat tillstånd. – Begreppet tillstånd fanns redan i den teoretiska Turingmaskinen från 1930‑talet;
  2. – för engelska permission – se rättig­het.

[datorvetenskap] [it-säkerhet] [programmering] [ändrad 18 februari 2018]

universell Turingmaskin

en Turingmaskin som kan ersätta alla andra Turingmaskiner. – Eftersom en Turing­maskin närmast motsvarar ett datorprogram är en universell Turingmaskin en maskin som kan ersätta alla datorprogram. Den motsvarar därför vad vi kallar en dator. När man talar om ”Turingmaskiner” menar man ofta universella Turingmaskiner, men det är alltså skillnad. (Observera att Turingmaskiner är teoretiska konstruktioner – det finns inga praktiskt användbara Turingmaskiner, så som de beskrevs av Alan Turing†, utom för mycket enkla operationer.)

[datorvetenskap] [ändrad 6 juni 2017]

Feynman, Richard

(19181988) – amerikansk fysiker och Nobelpristagare (länk). – Feynman var en av världens ledande forskare inom kvantfysik och partikelfysik. Han var också känd för sin förmåga att förklara grundläggande begrepp på ett enkelt och intresseväckande sätt. En av hans sista insatser var klarläggandet av orsaken till att rymd­färjan Challenger exploderade 1986 – det berodde på att en o‑ring inte tålde nedkylning. – Inom datorteknik är Feynman känd bland annat för att han var en av de första som förutsåg kvantdatorer. Han arbetade på 1980‑talet med utveckling av massivt parallella datorer. Under 1980‑talet samarbetade han också med Stephen Wolfram. – Feynmans föreläsningar om datorteknik har getts ut under namnet Feynman lectures on computation (utgiven år 2000). Han beskriver där de grundläggande operationerna i datorteknik. – Feynman tycks ha ansträngt sig för att framstå som excentrisk. En av hans många böcker heter What do you care what other people think?.

[datorvetenskap] [fysik] [personer] [ändrad 20 augusti 2018]

fuzzy

inom it: graderad, mjukt avgränsad, mjuk; ungefärlig. – Ordet fuzzy används i data­veten­skap och logik om pro­gram­me­rings- och klas­si­fi­ce­rings­metoder som inte besvarar frågor med bara ja eller nej (eller sant eller falskt), utan på sätt som kan beskriva och hantera över­gångs­till­stånd och mindre avvik­el­ser på ett lämpligt sätt. Till exempel i procent: 87 procent ja och 13 procent nej. – Se fuzzy logic och fuzzy search. – Engelska fuzzy betyder i all­män­språket luddig, fjunig, men när ordet används i dator­veten­skap handlar det inte om något som är luddigt eller oklart, utan om något som är exakt programmerat för att, så gott det går, ersätta be­skriv­ningar som ”nästan”, ”lite grann” eller ”lite för mycket”. Det handlar snarast om att ersätta ett exakt värde med ett intervall, och genom att använda flera kriterier för att beräkna intervallet ringa in ett lämpligt värde. Alternativt motsatsen: att utgå från ett exakt värde, som ett sökord, och hitta flera, näraliggande värden (till exempel alternativa stavningar eller vanliga felstavningar). – Ordet fuzzy bör alltså inte, utom i skämt­samma sam­man­­hang, översättas med ord som luddig eller oskarp.

[datorvetenskap] [logik] [programmering] [språktips] [ändrad 5 september 2018]

finit tillståndsmaskin

ett program som beskriver de tillstånd som en anordning eller en process kan ha. Programmet innehåller också reglerna för övergång från ett tillstånd till ett annat. – En tillståndsmaskin kan bara vara i ett tillstånd åt gången. Att klar­lägga vilka tillstånd en före­teelse har och hur de övergår till varandra är ett viktigt led i programmering, maskinkonstruktion och fastställande av affärsprocesser. – Att man säger finit eller ändlig tillståndsmaskin beror på att en tillståndsmaskin, utom i rent teoretiska resonemang, bara kan ha ett ändligt antal till­stånd. Så för­ledet finit är ofta onödigt. – Finita tillståndsmaskiner kan realiseras som körbara datorprogram. De har stora lik­heter med Turingmaskiner: den viktigaste skillnaden är att en Turingmaskin i teorin har obegränsat minne. – Finita tillståndsmaskiner kallas också för finita automater eller ändliga automater. – På engelska: finite state machine, förkortat FSM.

[datorvetenskap] [programmering] [ändrad 18 februari 2018]

artificiell intelligens

(artificial intelligence, ofta förkortat AI; även: maskinintelligens) – program som efterliknar mänskligt tänkande; den tillämpade vetenskap som diskuterar vad som är mänskligt tänkande och försöker efterlikna det eller utveckla något likvärdigt eller bättre med datorprogram. Grundläggande för resonemang om artificiell intelligens är tanken att datorprogram själva ska kunna räkna ut hur de ska lösa ett givet problem: programmerare ska inte behöva koda, steg för steg, hur programlösningen ska gå till, utan bara beskriva problemet som ska lösas och vilka krav som ställs på lösningen. – Det finns två huvudriktningar:

  • – Den starka tolkningen av artificiell intelligens hävdar att det i grund och botten inte är någon skillnad mellan mänsklig intelligens och maskinintelligens, och anser att det går att skriva datorprogram som i någon bemärkelse är likvärdiga med människor som löser samma uppgift. – Se computational theory of mind och computational theory of thought;
  • – Den svaga tolkningen nöjer sig med att se AI‑program som användbara redskap.

– Man kan också säga att det finns två resonemang bakom tanken på artificiell intelligens:

  • Filosofiskt: Är det i grunden någon skillnad mellan mänsklig intelligens och maskinintelligens? – Se Lady Lovelaces invändning och Turingtest;
  • Praktiskt: Går det att programmera datorer så att de själva räknar ut hur de ska lösa en uppgift. Användaren beskriver problemet och anger förutsättningarna, men programmerar inte en algoritm som steg för steg anger hur uppgiften ska lösas. Det får datorn göra. – Se till exempel maskininlärning.

– Man skiljer också mellan två typer av artificiell intelligens:

  • Symbolisk – programmerare skriver algoritmer för lösning av problem, och de algoritmerna beskriver och analyserar problemet och underlaget för lösningen på ett sätt som ter sig rimligt för människor. Man drar nytta av att datorer är snabba, kan hantera enorma datamängder och inte blir trötta eller slarvar, men i princip är det samma arbetssätt som en människa med papper och penna skulle använda. Åtminstone i princip kan användaren förstå hur programmet arbetar;
  • Icke-symbolisk (non-symbolic) – man ger systemet underlag för att lösa en uppgift, men låter systemet själv pröva sig fram till en användbar lösning. Systemet utvecklar sina egna algoritmer och förbättrar dem successivt. Användaren har i praktiken ingen möjlighet att förstå hur programmet arbetar, bara att avgöra ifall det ger användbara resultat. Datorns fördel är att den snabbt kan ta fram och testa miljoner sätt att lösa en uppgift, förkasta de oanvändbara och förbättra de användbara. Typexempel: maskininlärning.

– Typiska uppgifter för artificiell intelligens är mönsterigenkänning, bildanalys, talförståelse, skapande av bevis och spel. – Kända typer av AI‑program är artificiella neuronnät, genetiska algoritmer, cellautomater och expertsystem. I stället för intelligens talar man ofta om maskininlärning. Man utnyttjar datorernas snabbhet för att låta dem pröva sig fram till ett sätt att lösa uppgiften. Se också djup maskininlärning och artificiell generell intelligens. – Ett vanligt underförstått kriterium på artificiell intelligens är att AI‑program ska lösa uppgifter på ett sådant sätt att även en sakkunnig mänsklig bedömare inte förstår hur det går till – se Lovelacetest. Att en dator gör omfattande och komplexa matematiska beräkningar mycket snabbt räknas inte som AI. – Förespråkare för artificiell intelligens säger ibland att så snart som man har lyckats utveckla ett datorprogram som kan lösa en krävande uppgift, som att slå världsmästaren i schack, så räknas den prestationen inte längre som bevis på intelligens – ribban höjs hela tiden. – Den första som diskuterade artificiell intelligens enligt den starka riktningen som en verklig möjlighet var Alan Turing† som gett namn åt Turingtest. – Läs också om Partnership on AI och One hundred year study on artificial intelligence. – Helsingfors universitets grundkurs från 2019 i artificiell intelligens finns på denna länk. – Den amerikanska forskaren Kate Crawford (katecrawford.net) hävdar 2021 i sin bok Atlas of  AI (länk) att artificiell intelligens ”varken är artificiell eller intelligent”. – IDG:s artiklar om artificiell intelligens: länk.

[ai] [ändrad 8 juli 2021]

omega

Porträtt av Veronica Becher.
Verónica Becher.
  1. Omega – det operativsystem som Google använder internt för sina tjänster, som sökmotorn och Gmail. Det ersatte 2013 operativsystemet Borg†. – Det finns också ett utförande som Google har släppt med öppen källkod, Kubernetes. – Läs mer i denna artikel från Google (länk) och i denna artikel från ACM (länk);
  2. – i matematik: sannolikheten för att ett datorprogram avslutas inom ändlig tid, uttryckt som ett tal mellan noll och ett. – Talet definierades av den argentisk-amerikanska matematikern Gregory Chaitin (länk), då på IBM. Det kallas också för Chaitins konstant. – Omega är definitionsmässigt ett icke beräkningsbart tal. Definitionen av talet bygger på datorpionjären Alan Turings† uppsats från 1936 om stopproblemet. Chaitin defi­ni­e­rade omega redan på 1960‑talet, men han såg det länge som en rent teoretisk skapelse. Senare har den argentinska matematikern Verónica Becher (länk) visat att talet är användbart i andra matematiska sammanhang;
  3. – se under ordo;
  4. – se Omega2 (en enkortsdator).

– Omega är den sista bokstaven i det grekiska alfabetet och motsvarar O.

[datorvetenskap] [enkortsdatorer] [matematik] [operativsystem] [ändrad 20 januari 2023]

Massachusetts institute of technology

(MIT) – ett tekniskt universitet i Cambridge. (Den stad som är sammanväxt med Boston.) – MIT har spelat stor roll inom datorteknikens utveckling, och är bland annat känt för forskningsinstitutet MIT Media Lab (länk), som grundades av Nicholas Negroponte. En annan känd it‑forskare på MIT var AI‑pionjären Marvin Minsky (19272016, länk). – MIT Media Lab är förebilden till andra media lab som har vuxit upp världen över. På MIT finns också Computer science and artificial intelligence laboratory, CSAIL (länk), vari ingår det tidigare Laboratory for computer sciences, LCS, som förr leddes av Michael Dertouzos (19362001), samt W3C, ledningen för World Wide Web. – På MIT verkade också Edward Lorenz†, skap­are av kaosteorin. – Se mit.edu.

[mit] [universitet] [ändrad 18 november 2017]

Turing, Alan

Alan Turing.
Alan Turing.

engelsk matematiker och datorpionjär (19121954). – Alan Turing beskrev 1936 en teoretisk modell av ett datorprogram och en dator, det som numera kallas för en Turingmaskin. Det gjorde han i en matematisk-logisk uppsats om det så kallade stopproblemet. Artikeln har blivit en klassiker inom datorvetenskapen. (Läs också om Alonzo Church† och Church‑Turings hypotes.) – Under andra världskriget arbetade Turing på Bletchley Park med att knäcka tyskarnas kryptering. Han konstruerade där maskinen ”The Bombe”, som dechiffrerade meddelanden som hade krypterats med tyskarnas krypteringsapparat Enigma, men han var på sin höjd inspiratör till datorn Colossus†. – Efter kriget, 1946, konstruerade han datorn ACE†, och 1948 deltog han i konstruktionen av Manchester Mark I†. – 1950 beskrev han det som sedan dess kallas för Turingtestet i en artikel som blev banbrytande inom området artificiell intelligens. – I början av 1950‑talet studerade han också morfogenetik, det som nu kallas för fraktala former. Alan Turing var troligen också den första som programmerade en dator till att spela musik. Se denna artikel från British Museum med ljudfil (en bit ner på sidan). – 1952 dömdes Turing för homosexuella handlingar, och 1954 dog han i vad som då tolkades som själv­­mord. (Att det var själv­­mord ifråga­­sattes 2012 av professor Jack Copeland, se denna artikel.) – I september 2009 beklagade Stor­britanniens dåvarande premiärminister Gordon Brown officiellt hur Turing hade behandlats. Han er­kände att utan Turings insatser kunde andra världskrigets förlopp ha blivit mycket annorlunda. På jul­afton 2013 benådades Turing postumt. – Se här och här (pdf för nerladdning). – Turingpriset, A M Turing Award, är upp­kallat efter Alan Turing. – Standardbiografin om Alan Turing är Alan Turing: The Enigma (1983) av Andrew Hodges (länk). David Lagercrantz har skrivit en roman om Alan Turing, Synda­fall i Wilmslow (2009, se intervju i Computer Sweden). Filmen Breaking the code från 1996 handlar om Turings liv, liksom The imitation game från 2014 – se IMdB (länk). En musikal om Alan Turing visades i Edinburgh sommaren 2022 – se alanturing.biz. – Se också The Turing digital archive och Andrew Hodges webbplats Alan Turing: the enigma. – En av Turings anteckningsböcker såldes i april 2015 på auktion i New York för 1 025 000 dollar. – IDG:s artiklar om Alan Turing: länk.

[alan turing] [datorpionjärer] [datorvetenskap] [it-historia] [matematik och logik] [ändrad 6 augusti 2022]

Knuth, Don

Porträtt av Don Knuth.
Don Knuth. Foto: Stanford

(1938) – framstående forskare i datorveten­skap, professor vid Stan­ford. – Don Knuth är för­fattare till bok­serien The art of computer pro­gramming (TAOCP), som han började skriva på 1962. Den räknas som standard­verket inom programmering, trots att den fort­farande inte är klar. Den första delen kom ut 1968, ett av­snitt av del 4 kom ut 2017. – Knuth planerar att skriva sju delar. Han betalar 2 dollar och 56 cent till var och en som hittar ett fel i någon av böckerna. Läs mer om verket här. – På grund av problem med ny­tryck­ning av verket på 1970‑talet började Knuth intressera sig för typo­grafi. Han utveck­lade då sättningsprogrammet TeX. Han har också ut­veck­lat programmet Meta­font. – Don Knuth har inte e‑post, men han har en webbsida (länk). – Don Knuth blev 1971 den förste som fick Grace Murray Hopper Award (se länk). 1995 fick han von Neumann-medaljen (länk) och 2009 Katayanagipriset (länk).  Han har själv gett namn åt utmärkelsen Donald E Knuth Prize, känd som Knuth-priset. – 1957 med­verkade han i Mad Magazine med en artikel om ett mått­system baserat på potrzebie* (länk). – Donald Knuths 80-årsdag den 10 januari 2018 firades i Piteå med ett framförande av Knuths komposition Fantasia Apocalyptica med Knuth själv på plats, se knuth80.elfbrink.se och artikel i Piteå-Tidningen. – Se också artikeln ”The Yoda of Silicon Valley”. – Stanforduniversitetet har lagt ut 110 föreläsningar i datorvetenskap av Don Knuth på YouTube, se denna länk.

[don knuth] [personer] [programmering] [typografi] [ändrad 25 januari 2019]