Monthly Archives: januari 2014

Warp factor 9, mr. Sulu

Enligt Einsteins speciella relativitetsteori så är ljusets hastighet den högsta teoretiska hastighet något kan röra sig i. Det är då något som allvarligt begränsar möjligheten att resa till andra solsystem, även om en mängd olika mer eller mindre fantastiska hypoteser lagts fram som lösning på ”problemet”. Maskhål är då ett populärt sådant, men då vi tyvärr har en brist på stargates på jorden, och om det ens skulle fungera är tveksamt. Men det kanske finns en lösning: warp. Det är något som de flesta kanske förknippar med Star Trek och science fiction, och tror att det enbart rör sig om fantasi. Men det finns en del som pekar på att det faktiskt inte är så, och faktum är att NASA håller på att studera det hela, även om det fortfarande är en bit kvar innan det är mer än en hypotes.

Det hela är tänkt att fungera på så sätt att man ”warpar” rum-tiden framför och bakom ett objekt. Bakom objektet (= rymdskeppet) expanderas rum-tiden, framför trycks den ihop. På så sätt kommer objektet att röra sig framåt, samtidigt som det står stilla i relativistisk mening. Ljusets hastighet begränsar hastighet inom en given referensram, och med en warp-drive så hålls denna konstant. Objektet rör sig framåt, mycket snabbt, samtidigt som det i relativistisk mening står stilla.

Detta är än så länge mycket teoretiskt, men där de ursprungliga beräkningarna antydde att den energi som skulle krävas var enorm och i praktiken omöjlig att uppnå – många gånger mer än vad som produceras på hela jorden – så har nya beräkningar visat att det kanske inte krävs så värst mycket energi ändå. Det möjliggör, i teorin, resor till andra solsystem på bara ett par veckor eller månader.

Omvänd polsk notation

Det finns många sätt att räkna på, varav några är bättre än andra, och där omvänd polsk notation är det absolut bästa. Det är ett sätt att ställa upp beräkningar på som vid en första anblick kan se väldigt komplicerat ut. Det är fel, och omvänd polsk notation är i stället väldigt elegant. Omvänd polsk notation är också vanligt inom programmering, antingen direkt i och med att programmeringsspråket använder sig av det, eller indirekt genom att det är så kompilering av programkod tolkar de matematiska uttrycken. Omvänd polsk notation fungerar så att de matematiska operanderna kommer efter de tal de ska tillämpas på. Detta innebär att man kan skriva matematiska uttryck som normalt kräver parenteser utan parenteser. Omvänd polsk notation är vanligt på mer avancerade miniräknare.

Exempel:
En beräkning som normalt ställs upp:
A + B
Ställs med omvänd polsk notation upp:
AB +
Så långt inga större problem. Men om vi gör det lite mer avancerat, med en beräkning som kräver parenteser:
(A + B) * C
Så blir det lite krångligare:
CAB +*
Där utförs först plus-operationen på de två föregående variablerna (A och B), och sedan multiplikations-operationen på resultatet av dessa med C. Om parentesen i stället är placerad så här:
A + (B * C)
Så ställs beräkningen med omvänd polsk notation upp på det här viset:
ABC *+
Först multipliceras B och C, och sedan utförs plus-operationen på resultatet av detta med A.

Detta kan som sagt verka onödigt krångligt till att börja med, men när man lärt sig hur omvänd polsk notation fungerar, så inser man snabbt att det är överlägset andra sätt att ställa upp beräkningar på.

Turingtest och tänkande datorer

Ett av de grundläggande problemen inom artificiell intelligens är att definiera vad som menas med ”tänkande”. Det är en filosofisk fråga, som vi än så länge inte har något svar på, trots att det hela debatterats grundligt sedan 1950-talet. När Herbert A. Simon 1956 sade att ”under julen så uppfann Al Newell och jag en tänkande maskin”, så var han aningens optimistisk, även om hans och Newells insatser utan tvekan var mycket viktiga. Citatet visar också på den extrema optimism som kännetecknade studier av artificiell intelligens fram till åtminstone 1980-talet, där många trodde att utvecklingen skulle gå mycket snabbare än den sedan gjort.

Alan Turings förslag på hur man ska avgöra om en dator ”tänker” eller inte är både välkänt och missförstått. Det går i enkelhet ut på att om en människa som kommunicerar med en maskin inte kan avgöra om det är en maskin eller människa hon kommunicerar med, så ”tänker” maskinen. Detta är en kraftig förenkling av de idéer Turing presenterade, men är i allmänhet så turingtestet presenteras.

Problemen med turingtestet är många, inte minst då att en dator som är för intelligent inte helt säkert skulle klara det. Mycket av det som skulle få någon att tro att hon kommunicerar med en människa och en dator beror ju på att människor är väldigt felbara. Ett mer filosofiskt argument är också att uppvisande av intelligent och mänskligt beteende inte behöver betyda att datorn tänker; den kan i stället välja svar och beteende från en lång lista. Detta är grunden till många argument gällande artificiell intelligens: att tänka som en människa, eller uppvisa samma beteende som en.