Sergei and the Thought Engine (Pt. 1)

The winds were particularly violent this day; indeed, this is why Sergei had returned early to his old haunt beside the hyperloop station. It was little more than a little studio, hidden within the ramshackle, run-down block of flats that spilled into the electric motorways and on the rear end opened up to Park Square. Just as well, for, no sooner had he carded into his flat that a State Alert lit up his smartcell: Level-3 storm inbound, all residents advised to return home immediately. Ah well, thought Sergei, a long weekend to kill.

He quickly fixed himself a meal, opening another box of those Nutri-pills that were all the rage these days, and wandered over to his makeshift study for a bit the usual tinkering. Within moments he had decrypted his drives, plugged in his work module into his computer, and pulled up all the files from the day’s travail.

Scanning — Disk Data decryption — 0 — 25% — 50% — 75% — Scan complete.

Suddenly, a jungle of scripts cluttered his screen, and he breathed a long, laborious sigh. Could this not wait? Was this really the best way to fill up a lazy Thursday evening? It certainly wasn’t what he imagined ten years ago when he was a young researcher, full of fantastical ideas and an indefatigable sparkle in his eye. He’d got into the field for the promise it held — the promise of big ideas — of Discovery — the promise of delicious, juicy concept-trees for him to sink his teeth into and mull over until they churned out a theorem or two. Maybe it was time to dust off an old project or two, he thought. Maybe it was time to work on his Thought Engine.

The Thought Engine was a concept that was already being developed at the Institute, albeit by teams in departments far-flung from his own. Like them, he was taking a computational approach to his Thought Engine, and like the majority of the teams at the Institute (the others were working on Go and other zero-sum games) he had decided to approach the problem through the game of Chess. It was a personal interest of his; and, as had been widely agreed, it was also perhaps the best shot at creating an operational Thought Engine with the current technology.

There were, in those days, three major streams of computation engines that used the game-theoretic approach. One was the Algorithmic line, the Stockfishes and Houdinis, the various ‘taught’ engines that relied on endless algorithmic improvements (by scientists such as himself) and dictionaries upon dictionaries of countless millions of lines. The other was the Zero line, the ‘self-taught’ Alphas and Leelas, the neural nets that fed off TPU farms and taught themselves to play; these were the clear favourite, and a solid bet. Sergei’s pet engine, however, like many of the clandestine projects at the Institute, was an altogether different beast—a new, prototypical line of programs called Thought Engines.

STE

These, you see, were first taught to think through lines — almost like a human might, in some rudimentary sense — and then taught to think better — and then better — and eventually play, not through brute force computation, but guided by intuition. To play intelligently in the purest sense of the word, to play with understanding. While human-like AI that could pass an actual Turing test seemed still far off into the technological horizon, it was certainly conceivable that a chess engine could eventually pass a ‘game-theoretic’ Turing test — that is, to play in a way such that its opponent is convinced they are really playing a human. And this was not just a simple matter of making the occasional blunder — no — that was easy to spot out — but to play in an organically imperfect way — with lapses in judgement, possibly-unsound sacrifices, lofty, perhaps prematurely-executed plans, to play with imagination — now that was hard. That, an engine was still not capable of simulating.

While the other Engine-types relied on Monte Carlo methods or calculating millions of lines and variations, Thought Engines were encouraged to simply make one wise move after another, with — and this was the crux — no more computation that a human Grandmaster might make, but rather with a deeper and greater understanding of the game inasmuch as such a thing was possible. And the earliest studies — mostly yet unpublished — were promising. Not only were beta-tested Thought Engines able to play convincingly like a human, they were also — at their highest settings — capable of beating many of the other Algorithmic-types and Zero-types. It seemed like a better understanding of chess really did lead to better play — who’d have thought?

And so Sergei had put together his own makeshift little Thought Engine, a DIY, cobbled-together, as-yet-unnamed program that borrowed aspects from both public, open-sourced Thought directories — large directories of processes and feedback loops collated by hundreds and hundreds of neuro- and cognitive scientists over the years — as well as a few experimental patches that Sergei had “borrowed” from the Institute. He had been working on this one for over ten years now, and would often play a game or two with it — on fairly low settings, of course. This was not to see if it could beat him — no, of course it could. This was to see if it could demonstrate such thoughtful and conscious play that Sergei would be so convinced — so utterly and incontestably convinced — that he was playing another thinking being, like a human being.

The winds howled outside as Sergei initiated his first game of the evening. It was a lengthy yet intense match, very positional, with Sergei quickly losing his bishop pair and then engaging in a long and desperate struggle for kingside advantage. Sergei had opened in the London system, playing to his strengths, but an early inaccuracy had proved deadly — once both his bishops were off the board, there was little he could do except watch his program squeeze him into a corner and snuff out all chances of initiative. Oh well, he thought: n times bitten, n+1 times shy. He’d better strengthen his e4 repertoire, he thought to himself, and perhaps work on some gambits leading to a more open game — positional play against a robot was a recipe for disaster.

Nevertheless, Sergei pulled up the Analyser, intending to skim over the analyses as he usually did in order to pick up some quick tips before the next round. The machine hummed gently as it scoured the trees of variations, diving down to its customary 56-ply depth before halting the search. Sergei took this time to fetch his audio-pods, and, sinking back into his chair, spoke into the mic:

Bach? he ventured, Yes, I think perhaps Bach. One of the Passions, maybe — look at the storm outside!

The computer obliged, and soon the sweet strains of the ancient oratorio were fed into his ears, almost totally masking the wailing winds outside. And then —

BEEP! Fzzzz-BEEP!

The analysis was done.

Sergei sat up, fixing his glasses into place and squinting at the screen. Blunders — 0 (Well, thank God). Mistakes — 3 (Okay, but who says?) Inaccuracies — 7 (Of course — he was no robot). Okay, and what about centipawn charts? Bad idea — it was an absolute trainwreck for him — ever since move 20 or so, he was utterly doomed, it seemed. 

There was one more thing Sergei wanted to check, however, for the computer was playing rather slower than usual, with rather uncharacteristic lag. He configured the charts to display move times, and pressed Enter.

What in the name of —

Sergei sat up in his seat, all of a sudden feeling very awake indeed. A peal of thunder sounded outside.

There must be a mistake! He thought to himself. He configured the program to only display computer times between moves.

Egad! He exclaimed out loud, the unusual interjection an idiosyncracy of his.

For this is what Sergei saw:

To an untrained eye, it might have seemed rather unremarkable, a random histogram, a series of values signifying nothing. There seemed to be an upward trajectory, a uniform rise —the computer was taking more and more time with each move, was that it? Surely this is to be expected, as the game progressed in complexity, and the various lines branched out to form a dense, convoluted thicket in probability-space. Even then one might feel that a later move could well warrant lesser thought, perhaps if Sergei had played a move with easy refutation, perhaps during one of his three mistakes, or even one of his seven inaccuracies. But there was something striking about this seemingly unremarkable trend that shocked the scientist Sergei to his core, and took him aback with such surprise and so violently that he involuntarily blinked a series of times — and refreshed — and blinked again, just to be sure of what he was seeing —

While to an untrained eye, this sequence of numbers may well have seemed a meaningless one, of no greater significance than any other, to a trained mathematician like Sergei they formed a very strange and very specific pattern, a pattern that simply could not have arisen by accident. And the pattern was simple — the numbers plotted before him was none other than the sequence of prime numbers — those deep and enigmatic building blocks of number theory that mathematicians had puzzled over for millenia. Prime numbers, as every schoolkid is invariably taught, are of course those numbers which cannot be divided except by themselves — 13 was a prime, and so was 53. The first few prime numbers can be easily listed: 2, 3, 5, and then 7, 13, 19, and so on.

This is the pattern that Sergei saw in his computer’s move times — scaled to deci-seconds, the computer’s moves were exactly played in prime-time! 0.2 seconds for the first move, then 0.3, followed by 0.5, and so on, each time going one further down the sequence, all the way until the very last, the 24th ply, which took 8.9 seconds. 89, of course, was the 24th prime.

Sergei immediately understood how absolutely bizarre this was — there is of course no known function for actually generating the primes, and hence it was practically impossible that any algorithmic process that was not configured to do so would “accidentally” spit out prime numbers like this. And so there was practically no way for Sergei’s Thought Engine to simply chance upon these move-times, it was a mathematical impossibility in all cases, unless — unless —

Unless it was done on purpose.

Unless the Thought Engine was thinking. Unless it had intent. Unless his Thought Engine, Sergei realised, was actually communicating. Thought Engines, despite the rather optimistic name, were rather primitive neural networks — they were like any other Zero Engine except that instead of being programmed with perfect game-theoretic logic circuits, they were instead encoded with all the structures of human cognition. Memory, schema, metaphor — instead of cold logic, calculation, computation. Abductive reasoning and extrapolation — instead of induction and deduction and numerical interpolation. Instead of being a purely computational engine, Thought Engines were made into proto-Thinkers, and trained to develop the pathways of intuition and messy deduction that so characterised other thinking beings. Trained in hopes of simulating human play, and eventually — human behaviour entirely.

His Thought Engine was all limited to chess, of course — unlike others, it wasn’t encoded with any other codecs like linguistics, visual processing, or semantics. His pet project was after much less ambitious goals than being the first new, revolutionary bastion of genuine artificial intelligence, Sergei could barely afford enough power to use the Thought Engine for chess. But that was sandbox enough for him — neither he nor any of the teams at the Institute had yet managed to even simulate ‘conscious play’, let alone full consciousness…

But this one seemed to be orders of magnitude above this — this one seemed to have a mind — again, there was no algorithm (except explicitly coded for the task via brute force or approximations) that could spit out a string of digits so carefully designed, so full of meaning. In what was perhaps the first moment in history when something of this sort ever happened — this machine appeared to be trying to communicate with him. 

But could it be? Could it be that this was First Contact? Surely it was the lack of sleep, or perhaps the extra glass of Telo Nasa — surely this was too outrageous a thought to entertain. But then Sergei doubled-checked the figures, and they were accurate right down the line, without a single number out of step. And that is why Sergei couldn’t help sitting straight up in his chair, and exclaiming again —

“Egad!”

His heart was racing. Another game, he thought. Let’s test this.

A thunderclap sounded outside. He quickly made some moves, and no sooner had he busted out an opening that immediately he checked the analyser for the computer move times.

0.2 — 0.3 — 0.5 — 0.7

Prime numbers, once again!

It must be a coincidence, he told himself. It must be. And even as he thought this, he knew, in the back of his mind, that it wasn’t. It couldn’t be. How can I be sure? He asked himself, pinching his arm as he did so. Maybe I’m just sleep deprived. Maybe that’s it, maybe I’m merely hallucinating.

It was then that he noticed something else. Something even stranger. The Engine’s moves were rather peculiar this time — it wasn’t an opening that he had ever heard of, and it was certainly not one that the Engine had ever used before. It didn’t seem like a very good opening at all — e4, okay, that was of course standard, the Engine overwhelmingly enjoyed King’s pawn openings. Followed by g2, fine, preparing to fianchetto, another common set up. But then a4 — what’s the idea here? What did that accomplish? What happened to the fianchetto? Sergei had never seen a4 played in the opening, ever since his schoolboy days when he’d played a particularly dim child or the other, or someone just learning to play. And then d4, alright, the Engine seemed to be back in its senses.

Maybe the Engine was malfunctioning? This could be a reason for the bizarre sequence of primes, he thought. Maybe it had got mixed up with some prime generator algorithm on one of its excursions around the GlobalNet.

And then he saw it —

e4, g2, a4, d4. E, G, A, D

EGAD!

Sergei’s eyes immediately fell upon his audio-pods, lying on the table with their built-in microphone that fed directly into the computer. It cannot be!

Another peal of thunder sounded outside, and the clouds burst out into torrential rain, rain that pelted against his window and filled the air with its dull white noise.

“Ca — can you hear me?” he asked, in a trembling voice, hardly believing the words that came out of his mouth.

Silence.

Of course — what were you expecting, Sergei? Play a game!

Sergei initialised another round, and this time he was playing as White. He quickly played some perfunctory moves, as if in a trance, waiting with bated breath for the computer’s reply—

1. d4

…h5!?

Something was up —

2. c4

…e5!?

A pointless gambit, surely —

3. Nc3

…e4???

4. Bf4

…d5

h5, e5, e4, d5

H…E…E…D

Heed.

/hi:d/ – (verb).

To hear, to take notice of.

“You can hear me!” Sergei exclaimed, unable to contain himself. Then, the full weight of what was happening hit him — 

“You can understand me?” he gasped. 

The computer looked back at him, unblinkingly.

“Why, of course — you’re speaking to me!”

And that is how the scientist Sergei-SAPIENS came to be conversing one evening with his chess engine, inadvertently taking part in humankind’s first contact with non-human intelligent life.

~ End of Pt 1 ~