Saturday, October 8, 2016

Logocent

Vi läser ibland att någonting har ökat eller minskat med si eller så många procent. Ett problem med procenträkningen är att det kan vara oklart vad procenten är procent av. Detta tar sig uttryck bland annat genom att det inte riktigt stämmer när man adderar procentuella förändringar. Om något först ökar med 10 procent och sedan minskar med 10 procent, så är det inte tillbaka till ursprungsnivån, utan den totala effekten är en minskning med 1 procent!

Särskilt snett blir det när, som man förvånansvärt ofta ser, något har ökat med "800 procent" eller "3000 procent". Sådana uttryck väljs väl ibland för att få något att framstå som absurt, eftersom vi på något sätt har med oss att det inte finns mer än 100 procent. För övrigt tycker jag det påminner lite om påståenden som att dinosaurierna dog ut 65 miljoner år före Kristus.

Konventionen är förstås tydlig: Om något ökar med 10 procent, betyder det att ökningen är 10 procent av den tidigare nivån. Glasklart, men fortfarande bara en konvention. Om det sedan minskar med 10 procent, minskar det med 10 procent av den nya högre nivån. Vilket är mer.

Vid flera tillfällen har jag kommit på mig själv med att tänka att om något i stället först minskar och sedan ökar så blir det tvärtom. Men det blir det inte. Det spelar ingen roll i vilken ordning en ökning och en minskning med 10 procent sker. Det blir fortfarande en minskning med 1 procent.

Förklaringen till detta, och till både fördelarna och problematiken med procenträkningen, är att den egentligen är multiplikation, fast förklädd till addition. En ökning med 2 procent betyder en multiplikation med 1.02, och en minskning med 5 procent är detsamma som en multiplikation med 0.95. Så länge procenttalen är små, blir produkten ungefär detsamma som vad man får genom att addera procenttalen: $1.02 \cdot 0.95 = 0.969$, så en ökning med 2 procent kombinerat med (oavsett ordning!) en minskning med 5 procent ger en minskning med ungefär 3 procent. 3.1 för att vara exakt.

Men detta med att approximativt multiplicera genom att i stället addera, är något som har en lång tradition i matematiken! I början av 1600-talet slog logaritmtabellerna igenom, vilket fick enorm betydelse för astronomin (som tillhandahöll de data som sedermera ledde till Newtons gravitationslag).

Historien är intressant (se till exempel Logarithms: The Early History of a Familiar Function), och kanske överraskande för den som har läst matematik från ett modernt perspektiv. Före logaritmerna fanns tabeller över trigonometriska funktioner, och man kände till räknelagar som exempelvis additions- och subtraktionsformlerna
\[ \cos(\alpha + \beta) = \cos(\alpha)\cos(\beta) - \sin(\alpha)\sin(\beta).\]
och
\[ \cos(\alpha - \beta) = \cos(\alpha)\cos(\beta) + \sin(\alpha)\sin(\beta).\]
Men det var inte så att man använde dessa formler för att räkna ut trigonometriska funktioner av $\alpha+\beta$ ur motsvarande värden för $\alpha$ och $\beta$. Beräkningarna i högerledet kräver ju att man multiplicerar, något som var mycket tidskrävande innan det fanns räknemaskiner.

Tvärtom kunde man använda tabeller över trigonometriska funktioner för att utföra multiplikationer! Denna idé beskrevs redan i slutet av 1500-talet av astronomen Nicolai Reymers Ursus, och verkar ha utvecklats av Paul Wittich (en annan astronom) och Jost Bürgi (urmakare och matematiker som även lär ha kommit på logaritmerna före John Napier). Om vi adderar de två formlerna ovan, får vi
\[\cos(\alpha)\cos(\beta) = \frac{\cos(\alpha + \beta) + \cos(\alpha - \beta)}2.\]
Produkten av $\cos(\alpha)$ och $\cos(\beta)$ är alltså medelvärdet av $\cos(\alpha + \beta)$ och $\cos(\alpha - \beta)$.
Om vi nu vill multiplicera två tal, till exempel 76519 och 61273, använder vi en tabell för att finna $\alpha$ och $\beta$ sådana att $\cos(\alpha)$ och $\cos(\beta)$ är tal mellan 0 och 1 med motsvarande siffror. I det här fallet finner vi (approximativt)
\[\cos(0.69946) = 0.76519\] och \[\cos(0.91129) = 0.61273.\]
Nu kan vi beräkna produkten av dessa tal som medelvärdet av
$\cos(0.69946 + 0.91129)$ och $\cos(0.69946 - 0.91129)$. Vi får
\[\frac{-0.03994 + 0.97765}2 = 0.46885,\]
och slutsatsen blir att \[76519 \cdot 61273 \approx 4688500000.\]
Så småningom upptäckte man att man kunde förenkla förfarandet ytterligare genom att skapa en särskild tabell för logaritmer. Och redan år 1622 konstruerade William Oughtred den första räknestickan (en logaritmtabell på linjalform).

Även i datorernas tidevarv multiplicerar vi genom att addera. En banbrytande algoritm av Arnold Schönhage och Volker Strassen från 1971 använder så kallad Fast Fourier Transform för att omvandla grovjobbet i multiplikation till addition. Och jag funderar på om vi inte genom Fourieranalysen i någon mening är tillbaka till de trigonometriska tabellerna!?

Vi vet alltså sedan mer än 400 år tillbaka att logaritmer (eller deras kusiner, de inversa trigonometriska funktionerna) är det korrekta sättet att transformera multiplikation till addition, och ändå håller vi på och krånglar med procent. Därför tänkte jag att vi kan införa en ny "enhet", som vi kan kalla logocent.

En förändring med 1 logocent innebär helt enkelt en förändring med en faktor vars logaritm är 1 procent, dvs en faktor av cirka 1.010050167. Och en ökning med $x$ logocent är en ökning med en faktor vars logaritm är $x/100$, dvs en faktor $e^{x/100}$.

Fördelarna torde vara uppenbara: För små andelar blir logocent nästan samma som procent. Men addition av logocentuella förändringar stämmer exakt. Om något först ökar med 1 logocent och sedan minskar med 1 logocent, är nivån tillbaka till den ursprungliga. En ökning med 1 logocent följt av en ökning med ytterligare 1 logocent är detsamma som en ökning med 2 logocent.

Vi behöver inte längre fråga oss huruvida en ökning med 17 logocent är en ökning med 17 logocent av det ursprungliga eller av det slutliga värdet. Sjutton logocent är sjutton logocent, och det är lika klart som till exempel en fördubbling. Om A är dubbelt så mycket som B behöver vi inte fråga om det är dubbelt så mycket i förhållande till A eller dubbelt så mycket i förhållande till B. Dubbelt så mycket betyder att det större är dubbelt så mycket som det mindre, och det finns ingen annan vettig tolkning. På samma sätt blir det med logocent: Om X är 17 logocent mer än Y, så är Y 17 logocent mindre än X. Det finns alltså bara en tolkning.

En fördubbling är för övrigt detsamma som en ökning med ungefär 69.3 logocent, eftersom logaritmen av 2 är ungefär 0.693.

Det fina är att vi då inte behöver fundera på vad en halvering blir. En halvering är en minskning med 69.3 logocent. Räkneövningar på temat "ränta på ränta" eller radioaktiva sönderfall och halveringstider blir väldigt enkla när man räknar i logocent. Antag till exempel att vi har pengar i en fond som ger en avkastning på 4 logocent per år. Hur lång tid tar det då för beloppet att fördubblas? Enkelt, de logocentuella avkastningarna adderas bara för varje år. Att nå en $69.3$-logocentig ökning tar därför $69.3/4 \approx 17.33$ år.

Skulle avkastningen inte vara konstant, utan bara i genomsnitt 4 logocent per år, blir det fortfarande rätt. 3 logocent ett år och 5 logocent nästa år blir till exempel exakt samma sak som 4 logocent båda åren.

Så, nu får det vara färdigfilosoferat för den här gången!
 






Tuesday, September 6, 2016

Nya turer i Macchiariniaffären

Det är med blandade känslor jag läser om hur huvudena nu rullar i efterdyningarna av Macchiariniaffären. Precis som då den avslöjades, tävlar nu utredare och debattörer om att uttrycka sin förfäran över hur rekryteringen och sedermera anmälningarna om forskningsfusk har hanterats.

Samtidigt vet vi ju att det går till så här i universitetsvärlden. Det har det gjort länge, och det kommer det att fortsätta att göra.

I DN-artikeln “Granskningen av Karolinska institutet – skrämmande läsning”, publicerad igår, kan vi läsa att

“Det fanns referenser utifrån, människor som hörde av sig spontant och varnade för att anställa Macchiarini, men det ignorerades av den dåvarande ledningen på KI.”

Ja, det är klart det gjorde. Och det är klart att det kommer att ignoreras nästa gång också, inte bara på KI utan på vartenda lärosäte. Är det någon som ens har hört talas om ett fall där man HAR tagit hänsyn till icke efterfrågat tyckande?

Rekryteringar och fördelning av medel inom universitetsvärlden fungerar inte så att man lyssnar på folk som spontant hör av sig. De avfärdas som avundsjuka gnällspikar och rättshaverister.

Ett citat ur artikeln är ganska belysande för hur svårt det kan vara att tänka om och inse att Macchiarini inte var någon superstjärna. Jag tror det är Sten Heckscher man citerar, men det kunde lika gärna vara Lars Leijonborg:

“Den elitistiska ambitionen är det egentligen inte fel på men den leder här till fartblindhet och att man rundar hörn”.

Ursäkta att jag skriker, men

MAN HADE INGEN ELITISTISK AMBITION

OCH DET VAR DET SOM VAR FELET!

Paolo Macchiarini var inte en stjärnforskare som fuskade.

HAN VAR INTE EN STJÄRNFORSKARE.

Hade man haft en mer elitistisk ambition, hade man förmodligen kunnat rekrytera en stjärnforskare i stället. KI hade ju bra rykte då.

När ett gäng festprissar stapplar ut från krogen för att “dra vidare”, och sedan går omkring i trekvart för att till slut komma tillbaka till samma ställe tio minuter före stängning, då beror det inte på “fartblindhet” eller att man har “rundat hörn”. Det beror på att ingen hade någon idé om vart man skulle och alla gick dit de trodde att de andra var på väg. Det är inte detsamma som en “elitistisk ambition”.

Det är svårt det där.

Och då är det mest själva rekryteringen man har pratat om.

När det gäller hanteringen av anmälningar om fusk ska de visst i fortsättningen “handläggas skyndsamt, transparent och rättssäkert”.

Hur då, och vad är i så fall nytt? Skulle de inte det tidigare?

Så vitt jag kan se slutar det hela med att ett antal personer utses till syndabockar och får gå, men utan att man kommer fram till att några fel egentligen har begåtts, åtminstone inga som inte rutinmässigt begås på alla lärosäten. Slarvig diarieföring lyckas man hitta, inget mer.

Den förre rektorn Anders Hamsten gjorde ju faktiskt bedömningen att Macchiarini inte hade fuskat. Så tycker man att det är rektorer som både ska leda utredningar och bestämma påföljder, får man väl acceptera detta? Spoiler alert: Det tycker inte jag.

Den externa utredaren Bengt Gerdin fick inte ut alla handlingar han ville ha, konstaterar man. Fast nu var det ju inte Bengt Gerdin som ledde utredningen mot Macchiarini, utan det gjorde Anders Hamsten. Gerdin skulle hjälpa Hamsten med att besvara vissa frågor, och det gjorde han också.

Bara för att du blir förhörd av polisen innebär inte det att du har rätt att få ut alla deras dokument, eller att du har status av domare i målet.

Tycker vi att det är rektorerna som ska utreda, får vi acceptera att de gör så gott de kan (men det tycker som sagt inte jag). 

Så jag gissar att det inte blir någon större ändring på någonting. Tjänsteutlysningar och sakkunniga kommer även fortsättningsvis att anpassas i syfte att stödja en informellt redan rekryterad person.   

Och det blir fortfarande fritt fram att fuska, så länge du inte stöter dig med din egen rektor. Eller vänta, om du har ihjäl folk OCH en journalist av Bosse Lindquists kaliber ägnar månader eller år åt att granska din verksamhet, så kan du också åka dit. Fast nu kanske Bosse Lindquist har tröttnat, så nu vete tusan.

Så vad tycker jag att man ska göra åt saken? Jag får länka till min debattartikel från i vintras


Monday, June 6, 2016

Milton Friedman in support of Bernie Sanders

Sometimes I find the political debate in the United States confusing. But at least here’s a video that explains some of it, showing Nobel laureate (alright, the Riksbanken stuff) Milton Friedman (1912-2006) coming out as a firm supporter of Bernie Sanders. Please correct me if I got some of it wrong.

According to Friedman,
"The only cases in which the masses have escaped from the kind of grinding poverty you are talking about, the only cases in recorded history, are where they have had capitalism and largely free trade."
Yay, capitalism! Sweden for instance is a capitalist country if there ever was one, and we’re one of the least poor countries by any reasonable measure. As far as I understand, Sanders is not only advocating what Friedman would call a capitalist system, but one that is EVEN MORE capitalist than the famous Svenska Modellen.

In Sanders’ opinion,
“If somebody works 40 hours a week, that person should not be living in poverty.”
Despite many decades of success of capitalism, this seems to be a controversial statement in the United States of today, simply scaring the bejeezus out of many Americans. Luckily, Milton Friedman is there to explain to the rich and the middle class that the reason for their fear is that
“It’s so hard for people to get out of the notion that life is a zero sum game. They think that if one man benefits, another must lose. But in a free market, both people can benefit.”
In the video, Friedman and Sanders seem to disagree on "minimum wages", but it's not entirely clear to me. Friedman's opinion (Capitalism and Freedom 1962, in this pdf Chapter XII is on pages 157-161, read it!) was that a certain minimum income should be provided by society to everyone and built into the income tax system (so-called negative income tax). So Friedman the capitalist and libertarian thinks that the alleviation of poverty should not be left to the free market, but is the responsibility of society (it's not as illogical as it sounds, look at this video, where Donald Trump is mentioned). It would be interesting to know what Sanders thinks about that.

So Americans, listen to what Milton Friedman is saying! Bernie Sanders and his capitalist ideas aren’t as scary as you might have thought!

Tuesday, April 12, 2016

Self-aware robots and Newcomb's paradox

In my last blog-post, I discussed the Newcomb paradox and made some jokes about introducing new Swedish personal pronouns for one-boxers and two-boxers.

For those of you who didn't read that, Newcomb's problem lets you take the contents of any or both of two boxes, a small one which is known to contain $\$$1000 and a large one which contains either nothing or $\$$1,000,000. The catch is that a superintelligent being capable of simulating your brain has prepared the boxes, and put a million dollars in the large box only if it predicts that you will not take the small one.

Newcomb's paradox seems to be a purely hypothetical argument about a situation that obviously cannot occur. Even a superintelligent alien or AI will never be able to predict people's choices with that accuracy. Some claim that it's fundamentally impossible for reasons of quantum randomness (nobody I talked to dismissed it referring to free will though...).

In this post I argue that the Newcomb experiment is not only feasible, but might very well be significant to the design of intelligent autonomous robots (at least in the context of what Nick Bostrom imagines they could do in this TED talk). Finally, as requested by some readers of my previous post, I will reveal my own Newcombian orientation.

So here's the idea: instead of thinking of ourselves as the subject of the experiment, we can put ourselves in the role of the predictor. The subject will then have to be something that we can simulate with perfect accuracy. It could be a computer program or an abstract model written down on paper, but one way or another we must be able to compute its decision.

This looks simple enough. Just like a chess program chooses among the available move options and gets abstractly punished or rewarded for its decisions, we might let a computer program play Newcomb's game, trying to optimize its payoff. But that model is too simple to be of any interest. If the Newcomb game is all there is, then the experiment will favor one-boxers, punish two-boxers, and nothing more will come out of it.

It becomes more interesting in the context of autonomous agents with general artificial intelligence. A robot moving around in the physical world under the control of an internal computer will have to be able to understand not only its environment, but also its own role in that environment. An intriguing question is how an autonomous artificial intelligence would perceive itself. Should it somehow be aware that it is a robot governed by a computer program?

One thing that makes a computerized intellect very different from a human is that it might be able to "see" its own program in a way that humans can't. There is no way that a human brain would be able to understand in every detail how a human brain works, and it's easy to fall into the trap of thinking that this is some sort of deep truth about how things must be. But an artificial intelligence, even a powerful one, need not necessarily have a large source code. Perhaps its code would be only a few thousand lines, maybe a few million. Its memory will almost certainly be much larger, but will have a simple organization.

So an AI could very well be able to load its source code into its memory, inspect it, and in some sense know that "this is me". The actual computations that the program is able to perform (like building neural network based on everything on the internet) could require several orders of magnitude more memory than taken up by the source code. Still, an AI might very well have a basic organization simple enough for complete introspection.

So should the robot be "self-aware"? The first answer that comes to mind might be yes. Because that seems to make it more intelligent, and perhaps better at interacting with people. After all, we require it to have basic understanding of other physical objects and agents, so why should it have a blind spot stopping it from understanding itself?

But suppose the robot is asked to take a decision in order to optimize something. Then it had better believe that there are different options. If a self-driving car becomes aware of itself and the role of its program, then it might (correctly!) deduce that if it chooses to crash the car, then that choice was implicitly determined by its code, and therefore that's what it was supposed to do. And by the way don't tell me it could reprogram itself, because it couldn't (although Eliezer Yudkowsky at Less Wrong seems to have a different opinion). Whatever it was programmed to do doesn't count as reprogramming itself. Also it doesn't need to, because of Turing universality.

It's not that the AI would think that crashing the car was better than any other option. The problem is that if it becomes aware of being a deterministic process, then the concept of having different options loses its meaning. It's true that this argument doesn't provide a reason for crashing the car rather than doing something else, but I'm not sure I would feel safe in a vehicle driven by an AI that starts chatting about free will versus determinism.

Perhaps an agent with self-awareness and reasoning capabilities must be programmed with a counterfactual idea of having "free will" in order to prevent this sort of disaster? Spooky...

There are other problems too with self-aware algorithms. One is the old "Gödelization" trick. Suppose an AI has the task of inspecting computer programs and warn if there is a possibility that they might "freeze" by going into an infinite computation. This is a famous unsolvable problem (the halting problem, and yes that is unsolvable, not unsolved), but we can instruct the AI that it has the right to answer "I don't know" if it can't figure out the answer, just as long as it is always right when it does answer.

This seems fine, but a tiny amount of self-awareness is all it takes to goof up. Suppose the internal organization of the AI is such that it might first prove that program X never freezes, then go on to do something else for a while, and finally when giving the answer, remember only that "I proved a moment ago that program X will never freeze". Then it seems reasonable for it to trust its own previous conclusion and answer that program X never freezes, rather than going through the proof again. After all, if it can't ever trust that what it did a moment ago was correct, how could it ever be confident in anything?

So somehow its self-awareness leads it to accept the principle that "When I have proved something, it must be true". And this is already way out on a slippery slope.

Because now the AI is asked to inspect a program that we might call Perfect Simulator. Perfect Simulator is basically a so-called universal Turing-machine, with capabilities of simulating any other computer program. It takes input in two parts, that we can write as $(A, B)$. Part $A$ is interpreted as a computer program written in some universal programming language, it doesn't matter which, and part $B$ is what we can call auxiliary input. Then it simulates what the program encoded in part $A$ would have done when run with $(A, B)$ as input. You might have thought it should simulate what program $A$ does when run with input $B$, because that would already make it a universal computer (meaning that it can do whatever any computer program can do, if only it gets the right input). But it's even funnier to let it simulate $A$ run with input $(A, B)$.  

In order to make Perfect Simulator safe in the sense of never freezing, we first let it inspect the code in part $A$ using the AI's own method, effectively simulating the AI. This is easy, since the AI's program code is available. If the simulated version of the AI says that the program $A$ is fine (will never freeze on any input), then Perfect Simulator goes on to run it with input $(A, B)$, otherwise it stops.

So what happens when the self aware AI inspects Perfect Simulator? Easy, Perfect Simulator is OK, since it obviously only runs programs that are safe. If it is asked to run a program that wouldn't get the approval of the AI, then it stops without simulating it. So provided the AI's method is correct, Perfect Simulator will never freeze. Notice that the AI can see that the method used by Perfect Simulator to inspect programs before running them is the same as the one the AI itself is using.

Being aware of its own correctness, the AI therefore concludes that Perfect Simulator will never freeze. Which is incorrect.

Because now we run Perfect Simulator with two times its own source code as input, schematically \[PerfectSimulator(PerfectSimulator, PerfectSimulator).\] PerfectSimulator begins by using the self-aware AI to certify that the program specified in the first part of the input (which happens to be Perfect Simulator itself) is safe. Then it starts simulating what that program (that is, Perfect Simulator), would have done when run with input $(PerfectSimulator, PerfectSimulator)$. And we are back to square one, because PerfectSimulator now starts simulating itself, and in that simulation it starts simulating itself, and so on. In short, it freezes.

If you haven't seen this argument before, it might seem a bit complicated. Today it's considered standard, but it took geniuses like Kurt Gödel and Alan Turing to figure it out in the first place. If you read Swedish you can take a look at a little story I wrote in some of my first blog posts, outlining how the game of rock-paper-scissors could have led to the discovery of Gödel's and Turing's theorems.

The strange moral here is that once the program becomes aware of its own correctness (the fact that it never concludes that a program is safe if it isn't), it becomes incorrect! Also notice that we have no reason to think that the AI would be unable to follow this argument. It is not only aware of its own correctness, but also aware of the fact that if it thinks it is correct, it isn't. So an equally conceivable scenario is that it ends up in complete doubt of its abilities, and answers that it can't know anything.

The Newcomb problem seems to be just one of several ways in which a self-aware computer program can end up in a logical meltdown. Faced with the two boxes, it knows that taking both gives more than taking one, and at the same time that taking one box gives $\$$1,000,000 and taking both gives $\$$1000.

It might even end up taking none of the boxes: It shouldn't take the small one because that bungles a million dollars. And taking only the large one will give you a thousand dollars less than taking both, which gives you $\$$1000. Ergo, there is no way of getting any money!?

The last paragraph illustrates the danger with erroneous conclusions. They diffuse through the system. You can't have a little contradiction in an AI capable of reasoning. If you believe that $0=1$, you will also believe that you are the pope (how many popes are identical to you?). 

Roughly a hundred years ago, there was a "foundational crisis" in mathematics triggered by the Russell paradox. The idea of a mathematical proof had become clear enough that people tried to formalize it and write down the "rules" of theorem proving. But because of the paradoxes in naive set theory, it turned out that it wasn't so easy. Eventually the dust settled, and we got seemingly consistent first order axiomatizations of set theory as well as various type-theories. But if we want robots to be "self-aware" and capable of reasoning about their own computer programs, we might be facing similar problems again.

Finally, what about my own status, do I one-box or two-box? Honestly I think it depends on the amounts of money. In the standard formulation I would take one box, because I'm rich enough that a thousand dollars wouldn't matter in the long run, but a million would. On the other hand if the small box instead contains $\$$999,000, I take both boxes, even though the problem is qualitatively the same.

There is a very neat argument in a blog post of Scott Aaronson called "Dude, it's like you read my mind", brought to my attention by Olle Häggström. Aaronson's argument is that in order for a predictor to be able to predict your choice with the required certainty, it would have to simulate you with such a precision that the simulated agent would be indistinguishable from you. So indistinguishable that you might as well be that simulation. And if you are, then your choice when facing the (simulated) Newcomb boxes will have causal effects on the payoff of the "real" you. So you should take one box.

Although I like this argument, I don't think it holds. If you are a simulation, then you are a mathematical object (that might in particular have been simulated before on billions of other computers in parallel universes), so the idea of your choice having causal effects on this mathematical object is just as weird as the idea of the "real" you causing things to have already happened. I don't actually dismiss this idea (and a self-aware robot will have to deal with being a mathematical object). I just think that Aaronson's argument fails to get rid of the problem (causality) with the original "naive" argument for one-boxing.

Moreover, the idea that you might be the predictor's simulation seems to violate the conditions of the problem. If you don't know that the predictor is following the rules, then the problem changes. If for instance you can't exclude being in some sort of Truman show where the thousand people subjected to the experiment before you were just actors, then the setup is no longer the same. And if you can't even exclude the idea that the whole universe as you know it might cease to exist once you made your choice (because it was just a simulation of the "real" you), then it's even worse.

So if I dismiss this argument, why do I even consider taking just one box? "Because I want a million dollars" is not a valid explanation, since the two-boxers too want a million dollars (it's not their fault that they can't get it).

At the moment I don't think I can come up with anything better than
I know it's better to take both boxes, I'm just tired of being right all the time. Now give me a million dollars!
As far as I know, Newcomb's problem is still open. More importantly, and harder to sweep under the rug, so is the quest for a consistent system for a robot reasoning about itself, its options, and its program code, including the consequences of other agents (not just Newcomb's hypothetical predictor) knowing that code.

Should it take one box because that causes it to have a program that the predictor will have rewarded with a million dollars? The form of that argument is suspiciously similar to the argument of the self driving car that running a red light and hitting another car will cause it to have software that forced it to do so.


Wednesday, April 6, 2016

Newcombs lådor: Är du en enb eller en tvåb?

Min gode vän och kollega Olle Häggström kom nyligen ut som enboxare. Då talar jag förstås om Newcombs paradox, ett tankeexperiment där du erbjuds två lådor, en liten med det kända innehållet tusen kronor, och en stor som antingen innehåller en miljon kronor eller ingenting.

Du får ta en låda, eller bägge två (eller ingen), och din uppgift är att försöka få så mycket pengar som möjligt. Ganska enkelt kan man tycka. Att ta båda måste ju vara minst lika bra som att ta bara den lilla, och bättre än att inte ta någon. Och rimligen måste det också vara bättre att ta båda än att bara ta den stora. För oavsett vad den stora lådan innehåller, får du tusen kronor mer om du tar båda än om du bara tar den stora. 

Fast här kommer kruxet: lådorna har preparerats av en superintelligent varelse med förmåga att analysera din hjärna och förutsäga ditt val. Denna varelse har simulerat din tankeprocess, och om den har kommit fram till att du kommer att ta båda lådorna, är den stora lådan tom, men om den har förutsagt att du kommer att ta bara den stora lådan, innehåller den en miljon. I förutsättningarna för tankeexperimentet ligger att den superintelligenta varelsen antas ha en ofelbar förmåga att förutsäga människors val, till exempel kan vi anta att du redan har sett den göra motsvarande korrekta förutsägelser för tusen andra personer. Eller rentav att du själv har utsatts för försöket tidigare (fast då måste du vara mångmiljonär för att ha tillräckligt med data, och då försvinner lite av spänningen).

Nu blev det busenkelt igen. Tar du båda lådona, får du tusen kronor, men tar du bara den stora får du en miljon. Så du tar givetvis bara en låda. Men innehållet i lådan är ju bestämt innan du gör ditt val. Antingen ligger det en miljon där, eller så gör det inte det. Om det ligger en miljon där, kan du lika gärna ta båda lådorna som en riktig glidare. Och gör det inte det kan du åtminstone gardera dig mot nesan att stå där med bara en tom låda och inget mer. Så två. Fast tar du båda, vet du ju att det bara blir tusen kronor. Så en låda. Men ditt velande kan inte ha kausala effekter bakåt i tiden, det strider mot relativitetsteorin. Så ta bägge. Eller kanske finns det några underliga kvantmekaniska effekter som får dig att navigera mellan parallella universa genom ditt val, och då är det bättre att styra in i ett universum där lådan innehåller en miljon. Så ta en. Fast det är ju idiotiskt...

Och så håller det på. Jag hade förresten tänkt skriva en bloggpost om Newcombs paradox för tre år sedan, men den gången kom det att handla om tresvansade katter och Gödels ofullständighetssats med mera. Men när vi nu diskuterar Newcombs paradox, passar vi på att citera Robert Nozick, som skrev om den 1969:  

"To almost everyone, it is perfectly clear and obvious what should be done. The difficulty is that these people seem to divide almost evenly on the problem, with large numbers thinking that the opposing half is just being silly."

Vissa människor, som Olle och datalogen Scott Aaronson, är enboxare. Andra, till exempel Isaac Asimov, trotsar prediktorn och tar båda. Och någon, man diskuterar fortfarande vem, förklarar sig vara tvåboxare med orden "take two" strax efter att John Lennon kixar i gitarrintrot till Revolution 1. Det låter inte som Paul McCartney. Möjligen är det ljudteknikern Geoff Emerick. Och kan vi verkligen räkna ut Lennon?

Jag tänker att vi kan slå två flugor i en smäll och samtidigt (1) lösa problemet med svenskans personliga pronomen, och (2) skapa en naturlig anledning att fråga främlingar om deras inställning till Newcombs paradox, vilket skulle ge en intressant inblick i hur de tänker och bidra till att lära känna dem.

Vi slopar de gamla fåniga "hon" och "han" ("hon" betyder ju ungefär "raring" på engelska), och inför i stället "enb" och "tvåb". Dessa ord är förkortningar av en-boxare och två-boxare, och ska alltså användas när man hänvisar till en person som tar en respektive två Newcombska boxar. Man kan till exempel säga om Olle att "enb redogör för sin ståndpunkt i en bloggpost". 

Det här innebär förstås att man när som helst kan behöva fråga folk, eller på annat sätt gissa, om de är enboxare eller tvåboxare, men det är som sagt bara en fördel. Kanske kan vi införa klädkoder som signalerar vilken sort man är. 

För att stimulera mångsidigheten i de filosofiska frukostbordsdiskussionerna skulle vi också kunna införa som norm, eller varför inte lagstifta om, att två människor får bli livspartners bara om en av dem är enboxare och den andra är tvåboxare.

Men vad gör vi med människor som inte tydligt tar ställning? De kanske inte ens känner till Newcombs paradox. Och hur gör vi när vi pratar om en obestämd person, någon som skulle kunna vara antingen eller? Robert Nozick tänkte sig att det finns en kontinuerlig övergång mellan enboxare och tvåboxare, och enligt Aaronson finns det tre sorters människor, inte två. Man kan tänka sig ett tredje pronomen, "wit", för "Wittgensteinare", en som hävdar att frågan är meningslös.

Fast det där tycker jag är ett icke-problem. Det går väl bra att bara säga "enb eller tvåb"? Och "wit" betyder ju typ smarthet på engelska, så det går ju inte. Wittgenstein dog förresten ungefär tio år innan Newcomb formulerade sin paradox, så vad hade han med saken att göra? Jag menar wit, nej jag menar enb eller tvåb...



Thursday, March 17, 2016

Teorem kontra miniräknare

Nu är det dags för tentarättning igen, och vad passar då bättre än att blogga lite för att skjuta upp själva rättandet? Jo en kopp kaffe förstås. Nåja, hur som helst... Jag kan inte låta bli att fundera lite kring studenternas frågor inför tentan.

Två vanliga frågor är "Behöver vi kunna satsen X?" och "Får vi ha miniräknare?".

Den senare har jag ett enkelt svar på numera, jag har nämligen bestämt mig för att inte tillåta miniräknare. Inte för att jag egentligen har något emot sådana, utan för att det blir för rörigt att skilja mellan godkända och otillåtna miniräknare. En del av miniräknarna kan nämligen lite för mycket, till exempel invertera matriser, lösa ekvationssystem, minsta kvadratanpassning mm. Det finns en grupp av officiellt "Chalmersgodkända" miniräknare, men de studenter som redan har en gammal miniräknare börjar förstås då undra om den är godkänd, och vad de ska göra om den inte är det. Skaffa en som är godkänd fastän jag säger att det inte behövs? Eller köra utan. Men det är väl rimligt att alla studenter tenterar på samma villkor. Så nej, inga miniräknare.

Den förstnämnda frågan har egentligen ett lika enkelt svar. Nej, ni behöver inte kunna några satser. Ni får lösa tentauppgifterna hur ni vill. Jag antar att anledningen till frågan är att man undrar om det blir någon tentauppgift av typen "Formulera och bevisa satsen X". Men det blir det inte, åtminstone inte när jag konstruerar tentan. Skönt, verkar många tänka, då slipper vi plugga in spektralsatsen.

Men det är en ganska märklig fråga.

Jag tänker på hur ovanliga två liknande frågor är. Det är hittills aldrig någon som har undrat om man måste använda miniräknare, alltså som "Jag gillar att räkna för hand, är det okej om jag gör det i stället för att använda miniräknaren?" (det händer förstås att studenter undrar om det blir några uppgifter där miniräknare behövs, men det är en annan sak). Och det kan man ju förstå. Att miniräknare är tillåten innebär självklart inte att man måste använda den. Miniräknaren är ju ett hjälpmedel.

En annan ytterst sällsynt fråga är "Får vi kunna satsen X på tentan"? Jäsiken om man inte skulle ta och förbjuda kurslitteraturen. Så kanske den blev mer spännande.

Och sedan kommer tentan, med frågor som till exempel "Bestäm den principala (alltså minsta icke-negativa) resten av $5^{36}$ modulo 37".

Antingen räknar vi på:
$5^2 = 25 \equiv -12$, $5^4 \equiv (-12)^2 = 144 \equiv -4$, $5^8 \equiv (-4)^2=16$, $5^{16} \equiv 16^2 =256 \equiv -3$, $5^{32} \equiv (-3)^2 = 9$, $5^{36} = 5^{32} \cdot 5^4 \equiv 9 \cdot (-4) =-36 \equiv 1$.

Eller så noterar vi att 37 är ett primtal, och hänvisar till Fermats sats.

Och i linjäralgebran kanske man ska bestämma alla egenvärden och egenvektorer till matrisen \[\begin{pmatrix} 1 & 1 \\ 1 & -1\end{pmatrix}.\] Enkelt, vi bara räknar och räknar och räknar tills vi får fram en egenvektor. Sen gör vi om alltihop och räknar och räknar och räknar tills vi får fram den andra. 

Eller så plockar vi fram den andra vektorn med spektralsatsen, matrisen är ju symmetrisk (och ännu mindre kan vi räkna om vi dessutom spelar lite med den icketriviala automorfin på $\mathbb{Q}(\sqrt{2})$, men då är vi redan lite off-topic).

Det jag egentligen funderar över är att många av studenterna verkar försöka hitta strategier där de kan läsa in så lite som möjligt av materialet och ändå klara tentauppgifterna. Det finns en förkärlek för metoder som alltid fungerar, och där man alltid gör på samma sätt. Kunskaper om genvägar (när man exempelvis stöter på en symmetrisk matris) betraktas som en onödig börda.

Jag önskar ofta att studenterna skulle tänka på kursmaterialet (inklusive satser och bevis!) på samma sätt som de tänker på miniräknaren. Som något som gör det lättare att räkna, förstå, och klara tentan, inte svårare.

Jag funderar även på förhållandet mellan "högre" och "lägre" former av förståelse, och hur vi examinerar. Den traditionella mattetentan har väl ett, skulle jag påstå, oförtjänt dåligt rykte av att bara kräva "mekanisk räkning". Men då tycker jag det är bättre att göra en uppgift som kan lösas med råräkning, och där svaret ger en hint om en allmän sats, än att försöka examinera på en "högre" nivå med direkta frågor om denna sats. 
 
Jag får fundera vidare. Tillbaka till tentarättningen. Eller om man skulle ta en kopp kaffe först.






Sunday, March 13, 2016

Alternaiv medicin

Som jag berättade på Facebook häromdagen så hade jag råkat skriva ordet "alternaivmedicin", vilket kändes som ett ganska bra ord. Vännen Moa tyckte till och med att det var "Tage Danielssonskt", och undrade om jag inte kunde skriva en liten text. Med Danielssonska ambitioner kan det förstås inte bli mer än ett pekoral, men roligt var det! Jag tror jag kunde hålla på hur länge som helst! Och nu rättar blogger själv avslutningen till "alternativ". Nåja, då får det stå så!


Alternaiv medicin

Nu finns det en helande och kurativ
metod, om än något spekulativ,
som utmanar allt det vi tror att vi vet,
och all vår beprövade erfarenhet.


Lika mot lika var Hahnemanns giv,
så slipper de rika kirurger och kniv.
Nu har vi omsatt miljarder plus skatten,
fast inget finns kvar där utöver rent vatten.


Biopati med astralkroppsremiss,
mot elektrofobi och oral galvanism,
Ayurveda och skvaller och skrock
mot smärta och sveda, kristaller mot bråck.


Vågekvationer med delta och psi
mot inflammationer och hypokondri,
så kan fysiken med grekiska tecken
rå bot på koliken och tandläkarskräcken.


Qigong och massage med kinesiska nålar
mot ångest, läckage och lagom med stålar,
antroposofisk shiatsu och yoga,
placebo vid nedsatt betalningsförmåga.


Healing med feeling och renande bikt
vid feber, förkylning och skenande gikt.
Kyrkliga riter med talande tungor
mot KOL och bronkit, och skralare lungor.


Samtal i grupp och holistisk hypnos
mot anfall av krupp, och cystisk fibros,
tag dina chanser utefter finanser,
att bota din cancer i trans och seanser.


Metoden, trots allt som vi tror att vi vet,
och all vår beprövade erfarenhet,
den utgör en lukrativ sjukvårdsdoktrin,
vi kallar den "alternativ medicin".