lördag 15 januari 2011

Ett Turingtest

Många tyckare och förstårsigpåare tror att UAV – Unmanned Airborne Vehicle i närtid ska kunna ersätta en stridspilot. Själv så är jag mycket tveksam. Det skulle kräva en mycket avancerad AI – Artificiell Intelligens i kombination med sensorer som inte feltolkar bilder. Visst begår en människa, även piloter, misstag och framför allt när de är trötta. Därför så har UAV:er en given plats under uppdrag som pågår under lång tid, t.ex. övervakning. Men egentligen så är benämningen på dagens generation UAV:er helt felaktiga. De är ju trots allt inte obemannade, utan styrs av en människa från backen. Britterna har därför valt benämningen RPV – Remotely Piloted Vehicle

Inom AI-forskningsvärlden så finns ett begrepp kallat ett Turingtest. Det är när man kommunicerar med en dator och en människa och baserat på de svar man får inte kan skilja dem åt.

Ett av de första exemplen på lyckad Turingtest var när IBM:s dator Deep Blue besegrade den stormästaren i Schack Gary Kasparov. Schack har genom tiderna setts som en bra utmaning för datorer, då ren brutal beräkning inte alltid är vägen till framgång. Beräkningsmängden ökar potentiellt med hur många drag framåt som ska analyseras. En spelplan består av 16+16 stycken pjäser och flera av dem har möjlighet att röra sig på ett antal olika sätt beroende på var det finns tomma rutor och om de kan slå en motståndarpjäs eller inte. Det innebär att för varje spelomgång finns det minst 20*20 alternativa lösningar. För att t.ex. ”se” fem drag framåt behöver en dator räkna på (20*20)^5 = 102 miljarder möjliga vägar framåt. Med dagens snabba processorer så är väl det inte särskilt svårt, men varje position måste värderas. Är det t.ex. värt att offra en bonde för att fem drag senare ta en dam? I slutstriden med få pjäser kan det vara enkelt, men hur gör man för att nå dit i öppningen av spelet? Ett schackparti kan handla om 100 drag och då börjar även de mest avancerade superdatorer få problem med beräkningskapaciteten. Ett sätt är ofta att en schackdator använder standardiserade öppningar som prövats av stormästarna genom åren. Men det intressanta med matchen mellan Deep Blue och Kasparov var inte att Deep Blue vann. Det var att Kasparov efteråt bestämt hävdade att datorn fuskade! Fusk är ju ett mänskligt beteende.

Vi börjar dock närma oss beräknings- och lagringskapaciteten hos den mänskliga hjärnan. Men även om man har all världens information tillgänglig och hypersnabbt kan nå den så gäller dett att kunna göra något smart av den. Det är som man brukar säga i unerrättelsekretsar en utmaning att "transform information into intelligence".

Nu har en dator slagit en människa i Jeopardy! Det här är mycket intressant då Jeopardy trots att vanliga ”Svensson” kan hänga med i programmet är ett mycket komplext problem för en dator då det ofta rör sig om ordvitsar samt ologiska, men roliga kopplingar mellan helt olika ämnesområden.

Just igår ställdes den sistnämnda problematiken på sin spets. Ken Jennings valdes en kategori som på engelska hette: ”Chicks dig me” (”Tjejer gillar mig”, eller ungefär ”gräver i mig”). Frågan löd:

- Kathleen Kenyons utgrävning av den här staden, som nämns i Joshua, visade att murarna reparerats 17 gånger.

- Vad är Jeriko? Kom svaret blixtsnabbt från Watson.


Inte nog med detta, datorn måste dessutom satsa pengar och chansa i förväg på att den kan svaret. Speldjävulen måste också vara en typisk mänsklig reaktion.

Personligen tror jag att det kommer att dröja länge innan vi helt tar bort människan ur loopen. Jeopardy är en ganska så enkel utmaning för en människa även om man måste vara allmänbegåvad. För en dator är detta dock fortfraande svårt. Att göra en stridsinsats och släppa iväg skarpa vapen är inget för vanliga "svensson", även om dessa är ena hejare på Jeopardy. Hur svårt är det då inte för en dator? Vi borde kanske börja med enklare problem som att låta en dator styra ett trafikflygplan. Utmaningen är trots allt betydligt enklare. För att vara lite raljant så rör det sig om att starta klockan XX, flyg till YY och landa klockan ZZ. Men även detta är i dagsläget en svåröverkomlig utmaning. Kanske inte bara tekniskt, utan framför allt psykologiskt.

Vid fikabordet häromdagen så berättade vi kula flygarhistorier för varandra om uttråkade trafikpiloter som försöker att hålla sig vakna på flygningar över Atlanten. Ryktet säger att vissa piloter har med sig svarta dukar som man spänner över fönstren i kabinen så att piloterna bättre ska kunna sebilden på den film man kör på Laptopen. Flygplanet flyger ju ändå på styrautomat, så varför sitta och stirra framåt i åtta timmar?

Det finns en kul Larson-strip med två piloter som sitter framme i kabinen och trött stirrar framåt. Helt plötsligt så tar en av dem tag i mikrofonen och ropar ut till sina passagerare. ”Ladies and gentlemen, please go back to your seats and fasten your seat-belts. We are heading into some heavy turbulence”. Sedan tar bägge piloterna tag i spakarna och rollar och svänger för glatta livet och sitter sedan och asgarvar en stund. Till sist tar den första piloten tag i mikrofonen igen och säger ”Ladies and gentlemen, we are now out of the turbulence….no, wait! I see some more turbulence coming!!”. En AI blir aldrig lika uttråkad och skulle därför bli en utmärkt trafikpilot, men vill vi verkligen bli skjutsade till Mallorca av en dator? Särskilt när vi alla har sett ”Blue Screen of Death” på våra hemmadatorer allt för ofta?

Ett exempel på humor som en kollega nämnde var när han en gång strax före landning på Arlanda fick höra piloten säga ”Bling, nästa Brommaplan” i högtalaren. Kul humor när man vet att det sitter en skojfrisk pilot där framme. Iskall fasa om man misstänker att nu jäklar har en nolla blivit en etta i datorn som styr!

19 kommentarer:

  1. Utmaningen för trafikflygplan, som du beskriver den, var inte svårare än att det inte bara gick att göra 1947 utan också gjordes. 1967 fick man landa hands off ända till sättning med betalande passagerare.

    Och jag hävdar att människor skulle vara med i loopen lika länge med en autonom UCAV som de är när kryssningsrobotar har avfyrats samt att det finns exempel på stridspiloter som lyder lika blint som en robot skulle gjort.

    Kommer ni förresten ihåg DARPAs första tävling gällande autonomt markfordon? Jämför 2004 ( http://en.wikipedia.org/wiki/DARPA_Grand_Challenge_%282004%29 ) där det tog timmar att bara köra en mil med idag då många bilar kör i vanlig trafik.

    SvaraRadera
  2. Finns en enkel lösning för att slippa blue screens, bygg programmet för att flyga planen i Unix. ^^

    SvaraRadera
  3. I IEEE Spectrum volume 47 number 8 skriver Krishna M. Kavi om Glass Box som efterträdare till Black Box i kommersiell luftfart.

    Efter att Air France flight 447 försvunnit i Atlantens djup utanför Brasilien den första juni 2009, så kunde den svarta lådan, som i verkligheten är orange, aldrig återfinnas.

    Artikelns förslag är att flygdata kontinuerligt länkas ner till marken och lagras i servrar. Därmed skulle även avvikelser, som inte leder till incidenter kunna identifieras och ligga till grund för förebyggande åtgärder.

    Tekniskt och juridiskt bedömer artikelförfattaren inte att det finns några stora problem med att på detta sätt dramatiskt höja en redan hög civil flygsäkerhet.

    När en mycket stor del av alla amerikanska UAV:er redan styrs från en och samma flygbas utanför Las Vegas, så ligger det nära till hands att också alla amerikanska bemannade stridsflygplan följs upp i en gemensam databas.

    SvaraRadera
  4. @Lew
    I unix världen kallas det istället för panic och genererar ofta en core.dump.

    Se systemuppbyggnaden i tex Gripen så får man en inblick i hur komplext det är.
    http://techworld.idg.se/polopoly_fs/1.174315!jas-gripen.pdf
    Iofs lite gamma artikel, men design i system ändras inte så ofta.

    Trots att jag förespråkar unix i företagsmiljö på grund av stabilitet så tror jag inte att de unix operativ som finns är speciellt bra anpassade mot den användning som behövs i flygplan.

    /Tinhead

    SvaraRadera
  5. @Lew: Det intressanta med en distribuerad datorarkitektur som används i många system, bl.a. en Gripen är att resultatet blir en smula stokastiskt. Hur vet du t.ex. att du får kausalitet, d.v.s. att A alltid uppträder innan B?

    Systemen nu för tiden är så pass komplexa att det finns ytterst få människor som kan helheten. När jag skolade in mig på Viggen för en massa år sedan fick vi lära oss vilka subrutiner som kördes i CK37 - Central Kalkylatorn. Bromssystemet i Gripen är mer avancerat än hela datorparken i Viggen och det finns få som vet ens på materielgruppnivå vilka system som finns och än mindre hur de fungerar innuti. Ibland blir vi helt enkelt tvygna att uppgradrea system bara för att det inte längre finns någon som kan programmera dem.

    Fördelen med Unix vs Windows är att den förra oftast går snabbare att rätta felen i. Men det finns definitivt inte färre fel. Jag har varit med om en och annan Core-dump under min programmeringskarriär. Vid ett tillfälle tog vi fram ett program som vägrade att fungera. Efter en lång stunds felsökning så visade det sig att det inte var programmet som var felaktigt, det var C++ kompilatorn som producerade felaktig kod. Men efter att ha skickat ut en beskrivning av felet på GNU användargrupper så fick vi en uppdaterad C++ kompilator efter ett par timmar. Jag skulle vilja se Microsoft göra samma sak!

    Här ser man ett problem med dagens skenande utveckling. Ingen har längre exakt koll på vad som händer i en dator. Ett grafikkort pratar med dator via en databuss som sedan t.ex. översäter kommunikationen till en högre nivå kallad OpenGL som sedan översätts i Dirext X som till sist används av Windows grafikmotor. Detta leder till fördröjningar samt att man inte riktigt har koll på vad som händer. Fördelen är att det är enklare att kommunicera med ett gränssnitt i.s.f. hårdvara som kan ändras.

    Men hur gör man i ett kritiskt system som t.ex. en UAV? Vem verifierar och godkänner produkten? Titta på våra Veteran-Viggen som inte får flyga på grund av att ingen riktigt har koll på alla certifieringspapper. En veteran-Gripen är bara att glömma!

    SvaraRadera
  6. Ytterligare en fråga är väl om en dator" någonsin kommer kunna ha en "magkänsla"......
    Att alla beräkningar pekar till ett agerande men att då göra tvärtemot pga en känsla är nog svårt att programmera......
    Men den som lever får se!

    SvaraRadera
  7. @Benke: Nja, en dator gör bara som den har blivit programmerad att göra.

    Vad händer om det t.ex. hamnar flugor på den optiska sensorn som gör att den får svårt att skilja på vad som är rätt/fel mål?

    Vad händer om navigeringssystemet börjar driva? GPS är inte lösningen på allt. Det systemet kan ju trots allt även det gå sönder.

    Vad händer om man gett den ett felaktigt målläge? Visst kan man göra det med en långtsjutande robot också, men tänk på vilken debatt det har varit då t.ex. USA använt sig av kryssningsmissiler och sedna blivit kritiserad för att man attackerat civila. Eller skjuter ner fel flygplan som t.ex. händelsen utanför Iran då man sköt ner ett civil passagerarflygplan. I fullt krig är nog det mesta OK, men i insatser som är någonstans halvvägs på dn skalan?

    Människan i loopen kommer kanske inte längre att ta alla beslut, men jag tror att man kommer att vara med och övervaka att rätt besut tas.

    SvaraRadera
  8. @CI: Jag tycker att du låter som mer pilot än ingenjör. Vad skulle det vara för problem att ersätta en pilot med en dator? :-)

    SvaraRadera
  9. En möjlighet att verifiera det arbete datorerna gör att att använda flera parallella datorsystem som oberoende av varandra gör samma uppgift. Skulle då en dator komma fram till en annan slutsats så anses denna vara felaktig. Den lösningen används exempelvis inom rymdfarten.

    Sedan är det inte bara datorer som kan råka ut för fel pga "flugor på optiska sensorn" så att säga. Även piloter är beroende av att instrumenteringen visar korrekt information. Det har hänt att flygplan kraschat pga övertejpade tryckgivare då varken datorer eller piloter förstått de till synes motsägelsefulla data som givarna registrerat.

    Att datorer kommer att göra misstag är nog något vi får leva med, frågan är egentligen om de gör fler eller färre misstag än människor i samma roll?

    Sedan är det ju olika med olika UAV system. Vissa kan vara rena radiostyrda flygfarkoster som inte är betydligt mer avancerade än de som används för hobbybruk, medans andra kan ha ett mer autonomt uppförande.

    SvaraRadera
  10. @Anonym 12.31: Ja, människor gör givetvis massor av misstag. De flesta flygolyckor beror på den mänskliga faktorn. I många fall så klarar en dator givetvis av det bättre, men vem vågar certifiera att den verkligen gör det?

    I t.ex. styrsystem används flera parallella beräkningsdatorer med olika indata för att försäkra sig om att ingenting blir fel. Systemet är också strömsatt så att även om allt annat i flygplanet blir utslaget så ska det fungera.

    Problemet som oftast stoppar oss ingenjörer från att lösa alla utmaningar som kan uppstå är helt enkelt brist på fantasi och indata.

    När jag läste reglerteknik på LiTH så tog vår föreläsare upp ett exempel med en industrirobot som skulle ersätta manuell målning av bilar. För att få bästa möjliga resultat så tog man sin bästa målare och kopierade alla hans rörelser. Resultatet blev skräp. DÅ började man analysera en gång till vad målarn gjorde och man upptäckta att han förde inte målpistolen exakt likadant varje gång. Omedvetet så kompenserade han för hur färgen flöt på lacken. Färgens egenskaper berodde på en mängd faktorer, viskositet, temperatur m.m. När man korrigerade programmet även för dessa parametrar så fungerade det betydligt bättre. Men fortfarande så gör en välutbildad människa ett bättre jobb. Det är bara det att datorn och industriroboten gör det snabbare och exakt likadant från gång till gång, då den inte tröttas ut.

    En kvalitetsprocess bygger på att veta vilket nivå på resultatet man vill ha och sedansäkerställa att man når den nivån varje gång. Det är inte att nå bästa möjliga värde. Men vad är tillräckligt bra för en UAV?

    För flygbolagen så är det nog dessutom skönt att det finns en människa med i loopen som de kan skylla på om något går snett. Ett haveri med 300 döda där det finns en tillverkar och en operatör som man direkt kan lasta för felet är nog inte bra för försäkringspremierna.

    På Viggen hade vi en AFK - Automatisk Fart Kontroll. De flesta piloter använde den mycket sällan och definitivt inte när det var byig vind. En dator kan tyvärr inte prediktera nästa vindstöt, utan försöker alltid att hålla rätt värden. En pilot kan "sitta mitt i skjortan" och tillåta vissa avsteg då han vet att det kommer strax att återgå till normalvärdet.

    SvaraRadera
  11. Ändå var AFK.n bland de bättre stöden i FPL37 med tanke på motorn.

    J.K Nilsson

    SvaraRadera
  12. Det är kanske inte de tekniska aspekterna som är besvärliga, utan istället juridiska och marknadsföringsmässiga aspekter. Befälhavaren finns där för att någon skall ha ansvar för besluten som fattas. Det skulle också troligtvis under en den närmaste framtiden vara svårt att få passagerare att acceptera att en flygning är helt automatisk och saknar mänsklig övervakning.

    Med de moderna trafikflygplanen idag är det ur teknisk synvinkel inte så stor skillnad om det är en pilot ombord eller inte. En flygning i en A340 är det inte många minuter med manuell styrning. FMS, CAT III och autoland är tämligen automatiserade system. Den mest begränsade delen av en flygning är taxningen, som inte kan ske i noll sikt, vilket däremot landningar kan göras.

    Militärt förefaller det också handla en del om juridiska aspekter. Även om ett autonomt system kan lösa uppgiften så vill man han beslutsfattare med i kedjan.

    Jag tycker inte att det är så stor skillnad mellan en kryssningsrobot och en UAV som levererar en vapenlast mot ett markmål.

    SvaraRadera
  13. @MFI: Jämför inte civila system med militära. Vi kan inte alltid räkna med att ha fungerande GPS, ILS, VOR, ADF m.m. utan måste förlita oss på interna system som tröghetsnavigering, Terrängnavigering m.m.

    Ta Håkan Lans system som exempel. Jättebra för civil trafik, men en omöjlighet för militär i krigstid, då vi knappast vill ha ett system som skickar ut information om var vi befinner oss. Så varför integrera det för fred?

    Vi har heller inte möjlighet (p.g.a. vikt och uttrymmesskäl) att bära dubblerade navigeringssystem och transpondrar. Detta ställer till vissa problem när vi vill certifiera oss enligt civila regelverk för att kunna färdas i de Europeiska luftrumen.

    SvaraRadera
  14. "Jag tycker inte att det är så stor skillnad mellan en kryssningsrobot och en UAV som levererar en vapenlast mot ett markmål."

    Skillnaden ligger i vem som fattar beslutet. Beslutet om avfyrning av kryssningsroboten fattas av en människa. Om det är en "äkta" UAV och inte en RPV, så är det en dator som fattar beslutet. Det är där problemet uppstår, vem har då ansvaret för vilka mål som datorn bekämpar? Och vem ska ställas till ansvar om det blir fel? Programmeraren som inte kunde förutse alla tänkbara alternativ?

    Om det nu är en RPV och inte en UAV, då har man hela problematiken hur man säkerställer kommunikationen mellan farkosten och dess markstation. Gentemot "fattiga bönder i Afghanistan" är det kanske en icke-fråga, gentemot "Ivan-i-störplanet" är det en annan sak...

    SvaraRadera
  15. Jag tror nog att det kommer dröja innan en UAV fattar ett beslut om vilket mål den skall bekämpa. Det kan fortfarande vara en UAV som genomför uppdraget med ett direktiv från en mänsklig beslutsfattare.

    På samma sätt är det nog sällan attackpiloten som fattar beslut om vilket mål han skall bekämpa. Han har ett direktiv från någon överordnad.

    Jag ser inte exakt varför beslutsfattaren behöver sitta i den farkost som släpper vapnen. Det existerar automatisering både före och efter vapenleveransen. Man vill nog helst inte använda dumma järnbomber och akan mot markmål från ett bemannat flygplan om man har ett alternativ.

    SvaraRadera
  16. @CI: Gary Larson i all ära, men jag undrar om inte Monty Python var före: http://www.youtube.com/watch?v=Hh_shsRfXqk

    @Gustav Vasa: Jag har hört ryktas att F-35 kommer att ha ständig kontakt med Lockheed (utom under känsliga uppdragsdelar så klart). Kan det stämma?

    SvaraRadera
  17. Många civila flygplan, har redan ständig kontakt med HQ/tillverkare, genom ACARS, datalänk-system, bra eller dåligt, bestäm själva..
    Dock känns det som att avlivandet av pilotkåren fortfarande bör vänta ett tag; i fint väder javisst, men byig-vind, flygningar till avlägsna öar, flygningar med in flight fuel replanning; då vill inte jag sitta på rad 14 om det inte sitter en mänsklig kollega och tar besluten!
    Mvh
    Mattias

    SvaraRadera
  18. Jag tror väl inte att alla piloter kommer att bli överflödiga över en natt, men för vissa uppdragstyper borde det lämpa sig mycket bra med UAV:er. Antalet lämpliga uppdragstyper kommer nog också öka över tiden. Att skicka en Digital Ixus tur och retur till ett stridsområde i ett bemannat stridsflygplan för en halv miljard tycker jag låter som lite overkill.

    En annan aspekt är att beslutsfattarna i form av flygvapenchefer runt om i världen oftast är piloter. Att de plötsligt skulle erkänna att deras yrkesgrupp egentligen inte behövs, och börja köpa in enbart UAV:er, ligger nog också en bit in i framtiden.

    SvaraRadera
  19. @CI 14:42: Visst är det skillnad på militära och civila system, men för en UAV är det ingen fundamental skillnad om den använder interna eller externa navigeringssystem. Det är kanske vettigt att vi i Europa inte gör oss för beroende av GPS, eftersom USA av princip kan stänga av systemet när de vill. Dock undrar jag hur bra t ex en F-35 med dess vapensystem klarar sig om man stänger av GPS. Det kryllar inte av PAR nuförtiden, så det är nog bra även för svenska system om man har redundans i landningshjälpmedlen.

    SvaraRadera