## Cloudflare 測試 ARM 新的伺服器

Cloudflare 測試 ARM 新的伺服器 (是由 QualcommCavium 提供工程樣品給 Cloudflare 測試)：「ARM Takes Wing: Qualcomm vs. Intel CPU comparison」。

## AlphaGo Zero 演算法的 Open Source 實做

Leela 的作者 Gian-Carlo Pascutto 依照 paper 的描述寫完了，放在 GitHub 上的 gcp/leela-zero

Windows version is now compiled with Clang/LLVM 5.0 instead of MSVC2017. This makes the Monte Carlo evaluations about 15% faster.

## AlphaGo Zero 的計算量

AlphaGo Zero 論文裡有提到，用同樣的硬體 (4 TPU) 可以用 89:11 碾壓 AlphaGo Master (今年年初與柯潔下的那個版本)，主要是得力於更高品質的 neural network 以及更強的選擇能力 (後面這塊應該是將兩個 nerual network 簡化為一後的好處)：

This neural network improves the strength of the tree search, resulting in higher quality move selection and stronger self-play in the next iteration.

In short, we found that the TPU delivered 15–30X higher performance and 30–80X higher performance-per-watt than contemporary CPUs and GPUs.

1. 從另外一個角度看, DeepMind 僅40天就可以把 40-block 版本練起來, 換算一下, DeepMind 等於用了約12000顆 1080 Ti.

## AlphaGo 與柯潔下的三盤棋，包括了雙方的講解

Aja Huang (黃士傑) 的 Facebook 上看到 AlphaGo 與柯潔在烏鎮下的三盤棋的講解，這次的講解除了找柯潔與樊麾以外，更重要的是直接拿了與當時相同配備的 AlphaGo 出來使用 (只要柯潔想要看某些變化 AlphaGo 會怎麼應對，樊麾都會輸入進去跑模擬)：

## 關於圍棋貼目的問題...

For the training data, we label on output ?? as follows. For each self-play game, first calculate territory difference ? at the end of the game. Then, based on the Chinese rule, label 1 (win) on ?? for all ? < ?, and -1 (lose) for all ? > ?. (Note that the draw case ? = ? is ignored in this paper since the komi is not an integer normally.) For example, if black occupies 7 more points of territory than white, the ?-komi game is considered a win for all ? < 7, and a loss for all ? > 7. Thus, in this case, a 7.5-komi game is a loss, and a 6.5-komi or 0.5-komi game is a win.

Based on benchmarks, Badger is at least 3.5x faster than RocksDB when doing random reads. For value sizes between 128B to 16KB, data loading is 0.86x - 14x faster compared to RocksDB, with Badger gaining significant ground as value size increases. On the flip side, Badger is currently slower for range key-value iteration, but that has a lot of room for optimization.

Keep it simple, stupid. No support for transactions, versioning or snapshots -- anything that can be done outside of the store should be done outside.

## Linux 上跑電腦圍棋程式 (CGOS)

CGOS silently adds a fraction of a second to each players clock for each move played.

```# config.cfg
Common:
KillFile = kill.txt

# First engine
GTPEngine:
Name = Leela090-test
CommandLine = ./leela090-gtp.sh

ServerHost = yss-aya.com
ServerPort = 6819
ServerUser = Leela090-test

NumberOfGames = 1

SGFDirectory = sgf```

```#!/bin/bash
exec /usr/bin/nice -n 20 \$(dirname \$0)/leela_090_linux_x64_opencl -g -t 8 -b 50 -q -l /tmp/leela090-gtp.log```

## AlphaGo 又要重出江湖了

DeepMind 家的 AlphaGo 又要重出江湖了：「Exploring the mysteries of Go with AlphaGo and China's top players」。這次將會跟中國的頂尖職業棋手對弈，裡面提到三種賽制：

The summit will feature a variety of game formats involving AlphaGo and top Chinese players, specifically designed to explore the mysteries of the game together. The games will include:

• “Pair Go” — A game where one Chinese pro will play against another...except they will both have their own AlphaGo teammate, alternating moves, to take the concept of ‘learning together’ quite literally.
• “Team Go” — A game between AlphaGo and a five-player team consisting of China’s top pro players, working together to test AlphaGo’s creativity and adaptability to their combined style.
• “Ke Jie vs AlphaGo” — Of course, the centerpiece of the event will be a classic 1:1 match of three games between AlphaGo and the world’s number one player, Ke Jie, to push AlphaGo to (...perhaps beyond!) its limits.

（一）5月23,25,27日 柯潔與AlphaGo三番棋：每方3小時，5次1分鐘讀秒；
（二）5月26日 時越、羋昱廷、唐韋星、陳耀燁和周睿羊5人團隊賽：每方2小時30分，保留3次1分鐘讀秒；
（三）5月26日 古力、連笑人機配對賽：每方1小時，1次1分鐘讀秒。

## Cloudflare 因為閏秒炸掉...

Cloudflare 這次閏秒炸掉：「How and why the leap second affected Cloudflare DNS」，影響範圍包括了 DNS query 與 HTTP request：

At peak approximately 0.2% of DNS queries to Cloudflare were affected and less than 1% of all HTTP requests to Cloudflare encountered an error.

RRDNS is written in Go and uses Go’s time.Now() function to get the time. Unfortunately, this function does not guarantee monotonicity. Go currently doesn’t offer a monotonic time source (see issue 12914 for discussion).

In this patch we allowed RRDNS to forget about current upstream performance, and let it normalize again if time skipped backwards.