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]

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]

avgörbarhetsproblemet

das Entscheidungsproblem – frågan om det går att avgöra ifall ett matematiskt eller logiskt påstående är sant eller falskt på ett mekaniskt sätt (alltså med en algoritm) som ger rätt svar för alla mate­matiska och logiska påståenden. – Pro­blemet fick sitt namn av den tyska ma­te­ma­tik­ern David Hilbert (1862—1942, se Wikipedia – se också Hilberts paradox), men andra filosofer och matematiker hade tänkt i samma banor tidigare. Ett annat sätt att se på saken är att fråga ifall det finns ett logiskt‑matematiskt språk som kan användas för att formulera varje tänkbart problem, och som också kan användas för att räkna ut lösningen. Kurt Gödels† ofullständighets­sats från 1931 visade indirekt att det inte går att avgöra, och något senare visade Alan Turing† och Alonzo Church†, obe­ro­ende av varandra och på olika sätt, att svaret på frågan är nej. Turings bevis innehöll beskrivningen av det som numera kallas för Turingmaskiner. (Avgörbarhetsproblemet kallas också för avgörandeproblemet.)

[matematik och logik] [ändrad 6 juni 2017]

Turingtest

en föreslagen metod för att avgöra ifall en dator kan anses ha intelligens jämförbar med människans. – Testet beskrevs 1950 av Alan Turing† i artikeln Computing machinery and intelligence (länk). (Han kallade det inte för ”Turingtest”.) Den artikeln anses ha inlett diskussionen om artificiell intelligens. – Turingtestet går till så att en person via teleprinter (numera med e‑post eller chatt) ställer frågor till en dold dator och, samtidigt, till en dold människa utan att veta vem som är vad. Syftet med frågorna är att avslöja datorn. Datorn är programmerad så att den försöker övertyga testpersonen om att den är människa. Människan försöker också övertyga testpersonen om att hon är en människa. Om datorn lyckas lura testpersonen en längre tid så bör man, enligt Alan Turing, anse att datorn äger intelligens av samma slag som en människa. – Turing ansåg inte att det fanns någon grundläggande skillnad mellan datorernas beräkningsförmåga och människans intelligens, utan att skillnaden enbart beror på människohjärnans komplexitet. – Jämför med Lady Lovelaces invändning. – Det hålls årliga tävlingar om att klara Turingtest, se Loebnerpriset, och en del dator­program klarar sig riktigt bra. – Se också Eugene Goostman och SH‑testet (the PHB test ? ). – Ett mer krävande alternativ är Lovelacetestet.

[ai] [kognition] [ändrad 16 februari 2023]

stopproblemet

Tecknad bild av superdatorn Deep Thought från Liftarens guide till galaxen.
Datorn Deep Thought som behövde 7,5 miljoner år för att räkna ut svaret.

(the halting problem) – frågan om det på förhand går att räkna ut ifall en körning av ett datorprogram kommer till ett slut någon gång, eller om beräkningen fortsätter i all evighet. – Alan Turing† bevisade i sin berömda artikel ”On computable numbers with an application to the Entscheidungsproblem” (länk) från 1936 att uppgiften är olöslig. – Observera att detta gäller när frågan ska besvaras enbart med mekaniska metoder och för varje tänk­bar beräkning. En matematiskt kunnig mänsklig bedömare kan ofta avgöra ifall en beräkning kommer att fortsätta i evighet eller om den tar slut någon gång, men stopproblemet gäller ifall man kan programmera en dator så att den avgör saken i alla tänkbara fall och utan mänsklig hjälp. – Vi vet till exempel att om vi sätter en dator att räkna ut det exakta värdet på pi så kommer den aldrig att bli klar, men det ”vet” inte datorn. Att det är så har mänskliga matematiker räknat ut, och det har de inte gjort genom att räkna på pi oändligt länge. Hur länge man än räknar på värdet av pi så får man nämligen inte, enbart genom att fortsätta räkna, någon information om ifall räknearbetet tar slut någon gång, eller aldrig tar slut. – I uppsatsen ”On computable numbers…” beskrev Turing också det som senare blev känt som Turing­maskinen. – Några månader före Turing hade Alonzo Church† bevisat samma sak, fast utan att beskriva en maskin. – Stopproblemet är besläktat med avgörbarhetsproblemet (das Entscheidungsproblem), men också med Kurt Gödels† ofullständig­hets­sats. – Läs också om omega (Chaitins konstant).

[datorvetenskap] [matematik och logik] [ändrad 6 juni 2017]

Turingmaskin

En riktig Turingmaskin, byggd av amerikanen Mike Davis.
En riktig Turingmaskin, byggd av amerikanen Mike Davey.

en teoretisk dator som beskrevs 1936 av Alan Turing†. Det var en ren tankekonstruktion. (1936 fanns inga datorer.) – En Turingmaskin mot­svarar ett modernt datorprogram, men när man talar om Turingmaskiner menar man ofta universella Turingmaskiner, som kan sägas mot­svara datorer. – Alan Turing beskrev maskinen i artikeln ”On computable numbers with an application to the Entscheidungsproblem (länk). Artikeln handlade om ett matematiskt problem, stopproblemet, inte om datorer. Turing beskrev det som senare fick heta Turingmaskin enbart för att göra ett matematiskt bevis åskådligt. Det var inte en beskrivning av något som Turing verkligen tänkte bygga. – Turingmaskinen har en pappersremsa som matas fram och tillbaka genom ett läs- och skrivhuvud enligt bestämda regler. Det finns flera uppsättningar regler som kallas för tillstånd, och i reglerna ingår övergångar från ett tillstånd till ett annat. Skrivhuvudet kan läsa, radera och skriva tecken på remsan. Man programmerar Turingmaskinen med tecken på remsan, och Turingmaskinen matar sedan, enligt reglerna, remsan fram och tillbaka, läser, raderar och skriver samt växlar tillstånd tills den kommer till en regel som säger ”stopp”. Då stannar maskinen och lösningen på problemet kan avläsas på remsan. Detta är helt genomförbart, bortsett från de praktiska problemen med pappersremsan, pennan och radergummit. – I princip kan varje problem som kan lösas med ett modernt datorprogram också lösas av en motsvarande Turingmaskin, men naturligt­vis är det ogörligt att använda en maskin med pappersremsa. Man brukar därför simulera Turing­maskiner i datorer. (Se här.) Det är nämligen bra att öva sig på program för Turingmaskiner när man ska lära sig programmera. – Se också finit tillståndsmaskin. – Efter andra världskriget konstruerade Alan Turing en elektronisk dator, ACE som till stor del baserades på de principer som Turing beskrev i sin artikel. – Turingmaskinen införde idén om lagrade program i datortekniken. Idén togs upp av John von Neumann† i hans arkitektur för datorer, von Neumann‑arkitekturen. Den är mindre sofistikerad än Turings modell, men mer överskådlig, och blev allenarådande i datortekniken. – Professor Bernard Hodson (länk) i Kanada har utvecklat en modern programmeringsteknik baserad på Turings principer. – Matematikern Stephen Wolfram arrangerade 2007 en tävling om Turingmaskiner, se här. – Mike Davey beskriver hur han byggde en riktig Turingmaskin (se bilden) i denna artikel. – Richard Ridel har byggt en Turingmaskin av trä, se denna video.

[it-historia] [matematik och logik] [ändrad 12 mars 2018]

mekanisk

  1. – om matematisk problem­lösning: gjord utan insikt eller krea­ti­vitet, enbart genom tillämp­ning av givna regler. Att lösa ett ma­te­ma­tiskt problem mekaniskt är att följa en al­go­ritm steg för steg från början till slut. Antagandet att varje problem som en fanta­si­lös men nog­grann männi­ska kan lösa med papper och penna också kan lösas av en maskin kallas för Church‑Turings hypo­tes – se Alonzo Church† och Alan Turing†;
  2. – annars: om anordningar: bestående av delar av metall, plast eller annat fast material som kan röra sig och påverka varandra.

[datorvetenskap] [matematik och logik] [ändrad 29 september 2020]

Manchester Mark I

en av de första helt elektroniska datorerna, byggd 1949 vid Manchesteruniversitetet i England. – Manchester Mark I var en av de första datorerna som kunde lagra program i minnet. Inmatnings- och programmerings­systemet konstru­e­ra­des av Alan Turing†. Maskinen var en vidareutveckling av SSEM† (”Baby”). – Bland de som arbetade med Manchester Mark I fanns Conway Berners‑Lee och Mary Lee Woods, föräldrar till Tim Berners‑Lee. – Manchester Mark I var förebild till Ferrantis† första dator. – I USA fanns en annan liknande dator med namnet Mark I†. – Se historik från Manchesteruniversitetet.

[historiska datorer] [it-historia] [ändrad 5 juni 2017]