Monthly Archives: March 2016

Computers Win when the Rules are Fixed

One of the important reminders from game four of Alpha Go vs. Lee Sodol was the difference between what computers and humans are each best at.

Traditionally, computers were best at the most repetitive tasks, that were well understood and could be completely described.

If you talk to any release or test engineer, they will tell you that once you can fully describe a process, it’s only a few more steps to be able to automate it.

What makes Machine Learning so tantalizing is that it’s been giving hints of being able to learn to perform not-fully-described tasks, most recently Go.

At the same time, Machine Learning still requires thousands or millions of examples in order to be able to ‘see’ things, whereas humans can understand and make inferences with many fewer examples. It’s unclear to me (and I’m guessing most people) exactly why this is. It’s like there’s something about the way we learn things which helps us learn other things.

But back to the topic at hand. What game four showed us (yet again) is that the better defined the problem, the better humans perform vs. computers.

A different example of this is how high paid market research analysts are being replaced by automation, doing in minutes what would take the analysts days.

So, how do you stay relevant as things become more and more automated and automateable?

As Lee Sedol showed, one strategy is to play Calvinball[1]. Find the part of your discipline that is the least defined, and pour yourself into pushing that boundary, leaving defined pieces in your wake[2].

Note: Playing Strategema like Data is another ‘fun’ option[3], but most useful only when playing against a computer opponent, not so much for forging your own path. It consists of playing sub-optimal moves so as to confuse or anger the other player, to thrown them off balance. It is postulated that Deep Blue did this to Kasparov.

[1]Calvinball is a mostly fictional game invented by Bill Watterson for Calvin and Hobbes. The game has only one rule, that it can never be played the same way twice.

[2]Technically, Lee Sedol played a very ‘loose’ game, which was difficult to define, where parts of the board far away from each other were more easily related. You can also use this tactic to find things and do them in a way where humans are better than computers.

[3]We called this ‘victory through annoyance’ during undergrad. It had mixed reviews.

Batymology: Convergent Evolution or Multiple Discovery?

Bat Etymology: Convergent Evolution or Multiple Discovery?

So, we were talking about bats the other day, and knowing a little bit of French, it struck me as quite odd that the word for bat is ‘bat’ in English.

You see, the word for bat is ‘chauve-souris'[1], to which I say, yeah, so it’s probably a Germanic root, that’s why it’s so short. At that point, I remember the word ‘fledermaus’, or ‘flying mouse’, which is the German word for bat. At this point, I realized that ‘Germanic’ does not necessarily mean ‘German’.

As Grammarphobia explains:


English, Icelandic, Faroese, Norwegian, Swedish, Danish, Frisian, Flemish, Dutch, Afrikaans, German, and Yiddish are the living languages that are part of the Germanic family.

This family is divided into North Germanic (Icelandic, Faroese, Norwegian, Swedish, Danish) and West Germanic (English, Frisian, Flemish, Dutch, Afrikaans, German, Yiddish). The now defunct East Germanic branch consisted of Gothic, which is extinct.



As Calvert Watkins writes in The American Heritage Dictionary of Indo-European Roots, one of the dialects of Indo-European “became prehistoric Common Germanic, which subdivided into dialects of which one was West Germanic.”

This in turn, Watkins says, “broke up into further dialects, one of which emerged into documentary attestation as Old English. From Old English we can follow the development of the language directly, in texts, down to the present day.”

But while English is Germanic, it has acquired much of its vocabulary from other sources, notably Latin and French.

The actual etymology of bat is much more complex, coming through Middle English ‘bakke’, likely from Old Norse ‘leðrblaka’ or ‘leather flapper’. I love all these different ways people tried to describe the sounds that bats make. Source for the above and more here:


bat (n.2)
flying mammal (order Chiroptera), 1570s, a dialectal alteration of Middle English bakke (early 14c.), which is probably related to Old Swedish natbakka, Old Danish nathbakkæ “night bat,” and Old Norse leðrblaka “leather flapper” (for connections outside Germanic, see flagellum). If so, the original sense of the animal name likely was “flapper.” The shift from -k- to -t- may have come through confusion of bakke with Latin blatta “moth, nocturnal insect.”

Old English word for the animal was hreremus, from hreran “to shake” (see rare (adj.2)), and rattle-mouse is attested from late 16c., an old dialectal word for “bat.” Flitter-mouse (1540s) is occasionally used in English (variants flinder-mouse, flicker-mouse) in imitation of German fledermaus “bat,” from Old High German fledaron “to flutter.”

[1]Literally ‘bald mouse’, but that is from Greek by way of Latin, as NakedTranslations explains:


Chauve-souris comes from Latin calva sorix (bald mouse), which is an alteration of Greek cawa sorix (owl mouse).

I Miss Grand Admiral Thrawn

So, I’m re-reading the Timothy Zahn ‘Heir to the Empire’ trilogy, and I was once again struck by how good it felt to be reading a Star Wars book where there was a real, believable villain who actually knew how to plan and was actually a threat.

This article probably says it best: that Thrawn was a complex and charismatic enough character that you could actually see threatening the New Republic, and able to conquer the galaxy on his own merits.

The new Kylo Ren & sundry associated characters just don’t seem anywhere near as competent. (Just so needlessly destructive.) You have the feeling that Thrawn would conquer them in the matter of weeks. [sigh.] Anyways, here’s hoping that the new Star Wars movies have people on both sides (or even multiple sides?!?) who have reasonable motivations and who are each striving from a place of competence.

If a Taco Wore Pants…

If a taco wore pants, would it wear them like this:

None taco with left pants.
None taco with left pants[1].

or like this?

None taco with all pants.
None taco with all pants.

This arose out of a lunchtime conversation about the amazing idea of lasagna tacos! Which naturally spawned the the question “if you were making a lasagna taco, which direction would you layer it?”

At which point J asked the question above[2].

[1]Note that the description text is a reference to ‘none pizza with left beef’.

[2]Thanks J!

“It Just Writes Itself!”: Thoughts About Flow

A couple of days ago, I was writing the entry for ‘Surprise Elemental’ [link], and while writing:


Stealth-related skills are very common among denizens of the demiplane of Surprise, and Surprise Elementals are no exception. As surprise is a key component of their makeup, there are actually many exceptions. There are few things more surprising than a Suprise [sic., it was right here that I made the exclamation]

the thought came to me that ‘it just writes itself’.

This is amazing. I am laughing with glee. I love writing, and I always used to hate it so much.

Thinking about it, I’m not really sure why. I know I used to find it very difficult to write. It would only happen under extreme deadline pressure, and I would hole myself up away from everyone so I could focus.

It would feel like pulling words from a stone[1], wringing my brain for each sentence. But I knew that I could do it under pressure. My writing got me interviews for my first university job, and some of the writing for my undergrad thesis was “the best he’d seen”. At the same time, it wasn’t good enough to get me into my grad school of choice[2].

So, I could write, after a fashion, but it was never a joy. The closest I came was the snappy repartee of a bunch of friends emailing back and forth, which was awesome, and def. improved my typing speed, but wasn’t really ‘Writing’.

Over the years, I tried tried blogging at various times, usually on Livejournal, but I never felt I had enough to say to warrant continuing beyond a few posts.

But something changed over the last few years. I had one blog, which I was adding to more often[3], I chose a role at work where I was doing more individual contribution, and most importantly, I discovered *flow*[4].

I had been dabbling around the edges of flow for years. One of my fondest memories from high school is spending the entire day at home focused on chemistry problems. We used to say in undergrad that we enjoyed exam season because that meant we could (in a socially acceptable way) push aside all other obligations and actually focus for a couple of weeks. During undergrad, I did a lot of my best writing and other work between midnight and 6am, when no one else was around or was even likely to be around. When I was running my startup, I came up with my best and most original algorithm while on vacation away from distractions. Last year, over the holidays, I started doing Project Euler problems.

It was some of my lifecoaching sessions that really linked the concept of flow with what I was trying to do, more importantly telling/reminding me that it was flow that I was seeking, and that this was a good thing.

The next holidays, I started writing every day, and it continues.

The breakthrough from a couple of days ago feels like the next step, the conversion of flow to joy. A “runner’s high”, if you will. S said that when she was writing every day, it felt like that to her as well. Something about remapping your brain to be good at something, then really focusing on that, so that it’s no longer words and notes[5], that you can play with it and it becomes fun.

It just writes itself!

[1]Or perhaps pulling sword from an eston.

[2]Parts of my application were good, parts were bad, but I remember being specifically dissatisfied with my writing at the time.

[3]About one post every 20 days, but that was much more than before.

[4]’Flow’ in the ‘being productive’ sense, where your tools feel like they’re an extension of your body, and the ideas/art/repairs/something just flow out.

[5]When I was singing with the chorus, one of our goals was to get ‘beyond words and notes’, so that you could focus on conveying emotion.

Shoddy Preprints vs. Agile Biology Development

Early Access to Raw Scientific Results or Shoddy Preprints? Agile Biology Development or Reckless Endangerment?

Today, I read a post that L made on fb today about the issue of preprints in various bio-related fields. The worry is that people will preprint shoddy work online to get priority[0], followed by revising or ‘correction’ for publication.

If you’ve been reading this blog (or just the ‘Agile’ category) for a while, you’ll probably know that I am generally in favour of agile as well as Agile practices. My view is that the more communication and more frequent communication (up to a point)[1] you have between participants (in this case the scientific community), the more useful and better aligned the overall product will be with whatever the goal might or should be[2]. This means people can build on each others’ work more easily and quickly.

With code, it’s pretty easy to build on something someone else has done. A well-written set of unit tests will make sure that goes mostly smoothly. But how do you do this with research without the peer-review?

You can think of peer-review as the testing and release process for a minimum viable product of research, most commonly released as a scientific paper. But papers can take months to write, to go through review, to be published.

So, you have a huge body of researchers working on similar things, but only sharing notes every year or so[3].

So, you could have them send their raw results (untested code) around to each other as soon as they’ve acquired the data[4]. Currently, this is done in small groups of friends or collaborators, if that. What if they posted their raw results, and anyone in the world could download and comment[5]? As things became more refined, or others added their agreeing or contradictory results, the community as a whole could very quickly zero in on what was actually going on.

You would also have all the documentation you needed to show who had priority, and all of whom had contributed along the way. We would probably need to rethink a bit how we gave credit, as the above method could easily replace a lot of scientific publishing.

We would also have to rethink how we gave credit for careful work, as the above system would tend to reward quick work over careful work. But social media can probably show us the way here, with different researchers having some type of time-delayed ratings for how often their results are ‘accurate enough’.

Science may progress faster, and it would be difficult to grind up more grad. students than it does right now. Being part of a huge community who cared might help grad. students (and post-docs) a lot more than you might think.

I wanted to close with an example you’re probably heard of which may help illustrate how this might work:

You’re probably familiar with Watson and Crick, and their work uncovering the Double Helix of DNA. You may not know that the X-ray structure photo which confirmed the theory that DNA was a double helix was made by Raymond Gosling, under the supervision of Rosalind Franklin.

What happened was Gosling returned to his former supervisor, Maurice Wilkins, who showed the photo to Watson and Crick without Franklin’s knowledge or consent. They proceeded to publish their famous ‘double helix’ paper with a footnote acknowledging “having been stimulated by a general knowledge of” Franklin and Wilkins’ “unpublished” contribution[6], followed by Wilkins’ and Franklin’s papers[7].

Note also that all three of these papers appeared with no peer review, and Wilkins’ boss went to the same gentleman’s club as one of the editors of Nature.

So, if we’d had instant world-sharing of preliminary results, Gosling would have posted his photos. Most people would not recognize the significance. Pauling and Corey, Watson and Crick would have all jumped on it. Franklin might have been persuaded to comment on what she thought before she was 100% sure. Wilkins might have come out of his shell sooner[8].

Science would have been done faster. More credit would have gone to the people who did the work. More credit would have been spread around to the people thinking about all of this. More of the conversation would be out in the open.

Science would have been done faster. Science might have been done better.

[0]”Who gets credit?” So important in a ‘publish or perish’ culture, but also important for the history books. The example below (above?) may elucidate some of these issues.

[1]I think most people top out at about once per day, but on a well-functioning team, on some types of tasks, this can be every few minutes, or seconds.

[2]Yes, there are arguments here about how some researchers should be left alone to do their work, because they’re working on things everyone else thinks are silly or wrong. They are outside the scope, and I don’t see them being as affected by preprints, which are much more likely to be an issue in extremely competitive fields. I suspect most researchers, like most writers and musicians, probably like most people, would be happy to have other people paying attention and caring about what they do.

[3]I use 1 year because it’s a nice round number, and because about 41% of scientific papers have an author on it who publishes a paper once a year or more.

[4]Or first draft…This will likely take some back and forth to discover the best use of peoples’ time.

[5]Note that this is basically what the genome sequencing centers do, and that project seems to be going reasonably well.

[6]The linked text is a direct quote from the Wikipedia article, which has two level of quoting inside.

[7]Franklin’s paper was only included after she petitioned for its inclusion.

[8]The backstory on this is fascinating. The linked articles are probably a good start, but I’m guessing many books have been written on this. Teasing apart what actually happened 60 years later is nontrivial.

An Elemental of Surprise

Elementals

Elementals are incarnations of the elements that compose existence.

Surprise Elementals

Surprise Elementals inhabit the demiplane of Surprise, a mildly chaotic-aligned[1] plane loosely connected to the Prime Material plane. They embody the plane’s ethos of “always be surprising, especially when you are not”. This ethos separates the demiplane of Surprise and the Surprise Elementals from beings of pure chaos, as it acknowledges the refractory period between surprises which exists in most species.

Stealth-related skills are very common among denizens of the demiplane of Surprise, and Surprise Elementals are no exception. As surprise is a key component of their makeup, there are actually many exceptions. There are few things more surprising than a Surprise Elemental walking down a hallway towards you, sword in hand, yelling about bees[2].

The demiplane of Surprise is loosely connected to the Prime Material plane in a manner similar to that of the Ethereal plane. Any Surprise Elemental summoned will likely have been observing the actions of the summoner for some time.

When summoned to the Prime Material plane, Surprise Elementals are (usually) composed of the least likely substance nearby (DM’s discretion).

Relations with other Elementals:

Surprise Elementals are standoffish towards the four standard types of elementals. Surprise Elementals consider them excessively regular, that even the chaos of Fire Elementals is of an expected kind.

Relations with other Planes and Demiplanes:

Surprise Elementals have more in common with beings from the positive energy plane, who are some of the few beings who can be quicker and more energetic.

As Surprise Elementals are mildly chaotic-aligned, they tend to get along best with beings from planes that support changes of all forms. Beings from lawful-aligned planes tend to try to destroy or banish Surprise Elementals whenever they see them. Beings from the strongly lawful-aligned demiplane of Expectation are in direct opposition to beings from the demiplane of Surprise.

Combat:

Surprise Elementals always act in every surprise round, and can take full round actions, even though most beings can only take one action during a surprise round. Note that this means that they can use their ‘Surprise!’ special ability (see below) during a surprise round.

The actions and abilities of Surprise Elementals can vary from encounter, even from round to round, depending on their whim. Some ideas for skills, feats, and special abilities are below.

Surprise Elementals are often described as ‘going faster than one might expect’. They can travel as fast as is required to be surprising, up to a normal maximum of 120′. It is not fully known what method of transport they use. It may be somewhat dependent on the materials from which they are formed.

                     Surprise Elemental, Medium   Surprise Elemental, Large
Size/Type:           Medium                       Large
Type:                Elemental (Extraplanar)      Elemental (Extraplanar)
Hit Dice:            4d8+8 (26 hp) 	          8d8+24 (60 hp)
Initiative:          +8 (+see above)              +8 (+see above)
Speed:               Up to 120' (see above)       Up to 120' (see above)
Armor Class:         4d8+8 (26 hp) 	          8d8+24 (60 hp)
Base Attack/Grapple: +3/+4                        +6/+12
Attack: 	     Surprise. (see below)        Surprise. (see below)
Full Attack: 	     Surprise! (see below)        Surprise! (see below)
Space/Reach: 	     5ft./20ft. (see below)       5ft./20ft. (see below)
Special Attacks:     Surprise. and Surprise!      Surprise. and Surprise!	
Special Qualities:   Varies (see below)           Varies (see below)
Saves: 	             Fort +1, Ref +3, Will +9 	  Fort +2, Ref +5, Will +13
Abilities: 	     Varies (see below)           Varies (see below)
Skills: 	     Any (see below)              Any (see below)
Feats: 	             Any (see below)              Any (see below)
Environment: 	     Demiplane of Surprise        Demiplane of Surprise
Organization: 	     Solitary or groups           Solitary or groups
Challenge Rating:    5 or varies                  7 or varies
Treasure: 	     Varies (see below)           Varies (see below)   	
Alignment: 	     Mildly Chaotic               Mildly Chaotic
Advancement: 	     5-7 HD (Medium)              9-15 HD (Large)
Level Adjustment:    —                            —

Surprise.: As a move- or attack-equivalent action, a Surprise Elemental can attempt a ‘Surprise.’ This is based on any skill that the Surprise Elemental chooses, although they may not choose the same skill in two consecutive rounds, unless they do. The damage done is all subdual, and is equal to the DC achieved minus 20. The damage may be avoided by the target spending an action on an opposed skill check.

Surprise!: As a full-round action, a Surprise Elemental can attempt a ‘Surprise!’ This is a similar attack to ‘Surprise.’ above, but with a +5 to the roll, and if the attack is successful, the target is confused for one round. Note that this ability can be used during a surprise round, as Surprise Elementals are able to perform full-round actions during a surprise round.

Space/Reach: Normally, medium and large Surprise Elementals take up a 5′ square. If it is surprising enough (DM’s discretion), they can reach up to 20′ away to perform an action.

Special Qualities: Most Surprise Elementals have Sense Darkvision, 60′, so that they can better understand what the beings around them can perceive. Surprise Elementals have the following general traits of Surprise races:

– +1 bonus to Surprise lawful creatures, +2 to those associated with the demiplane of Expectation
– -2 penalty to saving throws against spells, spell-like abilities, and supernatural abilities with the Expectation subtype or used by creatures of the Expectation subtype
– Any one of the special abilities of any elemental subtype (does not breathe, stability, fire resistance, or natural swimmer)

Saves: Surprise Elementals depend on mental flexibility, and therefore are not as physically flexible (except for when these are reversed).

Abilities: Typically, Surprise Elementals will have the following abilites:

Medium: Str 11, Dex 14, Con 4, Int 21, Wis 11, Cha 11 	
Large:  Str 11, Dex 16, Con 6, Int 25, Wis 11, Cha 11

Note that Surprise Elementals are typically very intelligent, and will plan their surprises, skills, and feats to be the most surprising.

These abilities may vary wildly with no warning from one Surprise Elemental to another.

Skills: Surprise Elementals receive (6 + Int modifier)*4 skill points at first level, and 6 + Int modifier per hit die above that. All skills are class skills. The skill points may be allocated any way the DM wishes. a random generation may yield the best results. Remember that the Surprise Elementals will be working to optimize their ‘Surprise.’ and ‘Surprise!’ attacks, and so will tend to specialize and diversify, except when they don’t.

Feats: Any. Choose the most surprising. Horseback riding for an elemental that commonly takes the shape of a horse is a good example.

Treasure:

Surprise Elementals cannot generally bring items from the demiplane of Surprise when summoned, but will pick up any surprising items as they go past them when moving on the Prime Material plane. Treat this as version of ‘Kender Pockets’.

When encountered on the demiplane of Surprise, Surprise Elementals can be carrying literally anything, even things one might not expect them to be carrying, or they should not be able to carry (DM’s discretion). It is rumored that some Surprise Elementals incorporate dimensional rifts into themselves (similar to a portable hole) so as to be able to carry arbitrary objects.

Player Characters as Surprise Elementals:

This should not be allowed, unless you are running a very unusual campaign, and all characters are elementals or similar creatures. Any player character playing a Surprise Elemental should be expected to roleplay all surprises.

[1]The demiplane of Surprise is mildly chaotic, while Delight is mildly chaotic good and Prank is mildly chaotic evil. Expectation is strongly lawful, while Hope is strongly lawful good and Presumption is mildly lawful evil.

[2]Bees?

Go and Weaknesses of Decision Trees

Yesterday, we reported that an artificial Go player had defeated one of the top human players for the first time, in a best of five match.

Today, Lee Sedol responded with a ‘consolation win’, to make the score 3-1.

From this analysis of the game, it seems that (at least) two things were at play here (Hat tip PB).

The first is called ‘Manipulation’, which is a technique used to connect otherwise unrelated parts of the board. My understanding of it is that you make two (or more!) separate positions on the board, one which is bad unless you get an extra move, and the other which might allow you to get an extra move. Since the two locations are separate, the player has to have a very specific sense of non-locality in order to be able to play it correctly[1].

To me, this feels like an excellent example of why Go is so difficult to solve computationally, and why there is still much fertile ground here for research.

The second seems to be an instance of what is called the ‘Horizon Effect‘[2]. Simply put, if you only search a possible gameplay tree to a certain depth, any consequences below that depth will be invisible to you. So, if you have a move which seems to be good in the short term, but has terrible consequences down the road, a typical search tree might miss the negative consequences entirely. In this particular case, the supposition is that Sedol’s brilliant move 78 should have triggered a ‘crap, that was a brilliant move, I need to deal with that’, instead of an ‘now all the moves I was thinking of are bad moves, except for this subtree, which seems to be okay as far out as I can see’. The fact that at move 87 AlphaGo finally realized something was very wrong supports this hypothesis.

Is the Horizon effect something you can just throw more machine learning at? Isn’t this what humans do?

[1]Specifically, the idea that two things can be related only by the fact that you can use resources from one to help the other.

[2]One wonders what types of ‘Quiescence Search‘ AlphaGo was using that it missed this.

Beautiful AI and Go

Something monumental happened today. An artificial Go player defeated one of the top human players three times in a row, to win the best of five match

But I want to go back to game two, where Alpha Go played an inhuman and ‘beautiful’ move 37, a ‘very strange move’.

This is what it must be like to have one of your children, or one of your students surpass what you could ever do. You have given them all you can, and they take that and reform it into something beautiful.

They mentioned that Alpha Go plays the entire board at once, and so is more able to see unusual move possibilities like the one above. Fan Hui mentioned that he’s improved (from ranked 633 to in the 300s) as he plays against Alpha Go.

What else can deep learning teach us? What other amazing, inconceivable things will we learn from this new child which is just beginning to flower?

Unusual Pluralizations

‘Quartermasters General’. ‘Quarterpounders with cheese’. Some time ago, we talked about unusual long form names.

Today, we talk about unusual pluralizations.

You’re probably familiar with pluralizing ‘Quartermaster General’ to ‘Quartermasters General[1]’, and ‘Quarterpounder with cheese’ to ‘Quarterpounders with cheese’, but are you familiar with the pluralization of ‘Foot Locker’? How about ‘Head cheese[2]’?

‘Man-of-war’? ‘Attorney General’?

It’s enough to make mongeese pull their hairtholomew out.

[1]Not to be confused with the possessive, “Quartermaster’s General”, or the other possessive, “Quartermaster General’s”.

[2]Not to be confused with the ‘Head Cheese’, who stands alone.