Friday 8 December 2017

Some recent maths activity

Yesterday I received the question from my engineering friend:

Let $f$ be a real function so that for all $x,y\in \mathbb{R}$, $f(x+y) = f(x)+f(y)+xy(x+y)$ and $\lim _{x \to 0} f(x)/x = 1$ hold. Find $f$.

It does not like a casual question to ordinary university students, not even for maths students...but anyway one may notice that $xy(x+y) = (x+y)^3 - x^3 - y^3$ if you know symmetric polynomials well, and the free linear term makes up the limit we have $f(x) = x^3/3 + x$.

What about uniqueness?

Well, it is easy to show that the function is continuous by exploiting the equality $f(2x) = 2f(x) + 2x^3$, but even stronger we can prove differentiability. Rearranging gives

$\frac{f(x+y)-f(y)}{x} = \frac{f(x) + xy(x+y)}{x}$

Taking limit $x\to 0$ yields $f'(y) = 1 + y^2$ - not only that the derivative exists, we also get a complete DE with an initial value $f(0) = 0$. That easily solves to $f(x) = x^3/3 + x$.

What if the limit condition is changed? Say, $\lim _{x\to 1} f(x)/(x-1) = 1$? We can rewrite the expression as the following:

$f(x+y-1) = f(x-1)+f(y)+(x-1)y(x+y-1)$

Dividing both sides by $(x-1)$ reduces the question to the original case which gives the same solution.

Let is consider the functional equation at a much generalized form: $f(x+y) = f(x)+f(y)+g(x,y)$. According to the above argument if we managed to show that
$\lim _{x\to 0} (f(x)+g(x,y))/x$ exists then we can easily reduce it back to a DE where existance or uniqueness is clear. However this is hard to work around if we do not assume the limit condition because we know pretty much nothing about $f$. It does not work by assuming continuity of $f$ or $g$, since we may come across to some very nasty functions like the Weierstrass function which makes no sense in these questions. We leave a few observations here without solving it (or even getting close):

1. $g$ must by symmetric. This is obvious by observing the rest of the term. In particular, if $g$ is a polynomial then it is in the ring generated by $\sigma _1 = x+y$ and $\sigma _2 = xy$.

2. If $g(x,y) = O(xy)$ for small $x,y$ then it is possible to recover $\lim _{x\to 0}f(x)/x = 1$ using estimates like $f(x) = 2^n f(2^{-n}x) + O(x^2)$ or $f(x) = nf(x/n) + \log n O(x^2)$.

3. If $g$ is Lipschitz we know immediately that it's differentiable a.e. but that says we could have uncountably many non-differentiable points that we not want to deal with...

But that's it. I do not want to spend more than 60 minutes on this useless (for me) problem :d

------------

The 1st Simon-Marais (aka the Pacific Putnam) was held on October 2017 and the statistics are finally out (compare the efficiency against IMO marking team...). It's very surprising that only 1~2% of the students got problem A4 (and A3). I expected the top rankers to be close to 42 (aka 6 correct answers) but it turned out that not many olympiad players participated the event as can be judged from the award list. I expected the event to be much harder next year.
$\

Wednesday 6 December 2017

6/12/17

最近不知為何又重溫了好幾十遍惡之三部曲的系列,果然這種唱說風格的華爾滋真是太棒了。與以往不同的是,這次好像有了可以與鏡音雙子比較的東西。

金髮。
雙子。一男一女。
籠中鳥。

哎呀……知道我在說甚麼的人知道就好。我不想回憶起這個又胃痛又糟糕的故事了。

距離上次發日記已是兩個月有多,期間我大概都在做同一件事吧。

---------------------------

2017年10月30日
東京,台場。

這家希爾頓的裝潢與格調可謂完勝迪士尼裡面那一家。

明亮的雙人房外面正好能看到明月映襯著的東京灣。我與他就這樣坐在露台上,旁邊是熱乎乎的蜜汁烤肋排和薯條,加上名物響21跟裝滿冰塊的瓶子。

「想不到你剛來一天就能把這支弄到手真是厲害呢。」

「我剛好相熟的朋友在銀座經營酒舖,要弄一支來還是可以的。在外面難找倒是真的呢。」他徒手撕下一塊烤肉放進口,順手把威士忌倒進兩人的杯裡:「這個我剛讓廚房做出來的,趕快趁熱試試,我覺得烤得蠻不錯的。」

「也不能說是難搶,只是價錢問題而已。網上教人去唐吉訶德或者西武超市搶的攻略變多才是看起來難搶的原因;你不差那一萬幾千塊的話amazon也可以訂到呢。可惜我可沒你那麼有錢,上次搶到兩支帶回去望了好久最後還是決定轉手賣掉。」隨手打開amazon鍵入響21,サントリー官方售價是零售價的一倍以上,媽的。

「轉賣賺多少了?這麼說來你應該還沒試過它吧,不試的話你肯定會後悔的。」

的確是好酒。清徹的琥珀色酒液散發著華麗的和氣,雖然複雜但又完美地融合到一起,正好符合響系列對酒品平衡和諧的哲學;雖然是烈酒但流入口腔只有輕微的剌激感,涼風輕拂下我不禁浸醉於眼前的美酒--啊,月色真美。

「賺了大概五六單FGO吧,我沒玩就是了。最近都忘著玩火紋手遊給任天堂賺錢呢。」

「微課不如無課,課個五六單還不如把錢留著去下面的游泳池玩呢。說起來你這個燻雞粉應該也去朝聖過了吧?」

「我又不是朝聖狂熱者,再說不帶個伴進去看上去就太寒酸了呢……咦不對,上次你明明說過明明不喜歡希爾頓的怎麼又來了?」

「還不是女友想來……結果一抵就逛了一整天,晚上又趕去高田馬場那邊喝酒了。聽說今晚有音遊界DJ樣子,下次讓她給你介紹一個好了。」

……

大家有默契地靜靜把肋排分掉,響21也所剩無幾,我帶著搖搖晃晃的腳步走回房間把我帶來的五年熟成加賀梅酒拿出來。雖然價格和品位比不上響21,不過我對我對梅酒的眼光還是有信心的。

他率先打破沈默:「品完酒我們該談一下正事囉。」

「說實話我實在不太想接手你家的公司……股東成份有點複雜,我又沒有多餘的票灌下去。在這個節點惹到別的勢力的話可是不太妙呢。」

「票也不用太多每季10張就好了啦,反正中價區價格彈性比較大,要調節也比較不會被投訴。」

「我就真的沒有餘裕能把票分出來了……按照我的模型來看如果我家公司的票再減三張左右的話高價循環就會崩潰,能套錢的地方少了一個的話會十分不方便。對面也盯票流盯得很緊,我換過來應該很快就會被發現了。」

「嗯……反正我這邊有的是人,來交易一下如何?我把你加進換票網絡裡,這樣對手會比較難鎖定你的動向;相應地我希望你能放5-8張票在我們這邊公司,這方面同樣可以透過網絡進行。」要比喻的話換票網絡大概就像洋蔥網絡(TOR)一樣,將點對點的連結遮蔽起來。

「這個可以。不過我在明處不需要太多小動作,放20票進網絡就夠了。你公司需要的票數我會從我手下分出來。」

「真夠精打細算呢。你的目標定好了嗎?」

「其實我沒有,不過手下們可是有一大串目想炸的人呢。有一位想搶新的碧藍艦娘經理不但被守下來,對方還真接把公司炸爛,每次提到那公司他都氣得牙癢癢的呢。反正現在是第一個賽季,多收攏人心才是最重要的。」

「多收下線準備下季再大幹一場嗎?」

「老了肝不起來了啦。有互助圈子才能確保大家不會餓死也不會輕易被攻擊,玩下去就當多認識朋友好了……總之你幫我將票吃掉,我幫你經營集火,這樣沒問題吧。」

「沒問題,那就拜托你囉。」

「合作愉快。」

「Cheers」

---------------------------

忙完手上的事情,聖誕大概就有空能寫作了。到時看上面能不能拓展成外傳囉。
另外好老婆不炒嗎?關鍵字: ACGN-stock

Saturday 16 September 2017

大逆轉裁判2 心得(有雷)

(完全劇透,慎入)

音樂

逆轉系列本身的音樂水準毋庸置疑。本集沿用一代風格,每一集都分到適當氣氛的音樂,老玩家期待舊有固定BGM的重製(Objection/緊張情景)也都在。當然對我這種不喜歡開音樂玩遊戲的人來說似乎沒有資格過於詳細地逐首評論。

畫風效果

模型比一代做得更多更仔細,人物也帶有一般濃厚的英倫風(不論是外型還是台詞),角色群拿到大量的動畫可以說是加分位--主角群有眼泛淚光的愛麗絲醬和踢踏舞悠仁,配角蠟像館夫人(好萌!)各種pose和夏目漱石的新連技也令人印象深刻。
問題是劇本本身對配角的刻畫不夠深入--模型只是刻畫一個角色的基本,缺乏故事本身的襯托的話也沒法讓玩家深深記住。另外前三章犯人暴走也不夠明顯也令人失望,撇除這兩點的話大逆轉2在美術方面是在合格線以上的。

逐集短評 

I
人啊,活在世上就會有意外發生。一個可以做出第五章級別案件的人這樣就被幹掉了。
作為教學關其實略顯違和。對於沒有逆轉經驗的玩家來說要在第一章就大量運用到法醫學常識其實不太容易(儘管有諸多提示),而對老玩家來說案件本身又過於簡單(沒有搜證就沒有展開的機會),反正去到一半發現了一個沒聽過的證人出來。那很好,有罪的人就決定是你了!用毒這點在一代初章也用過了,再用一次其實有點悶,不過手法本身倒是頗有趣。
以英國為舞台的遊戲出現了大量以英國角色看日本人(尤其是死神)的台詞十分合理,但相反日本角色在日常層面對英國的刻畫其實不多(包含一代),可惜這裡實在沒有太多機會讓巧舟發揮。
然後亞內你維新不快點明治就要變大正了……

II
以傳統逆轉角度來說做得最好的一章。事件本身基本上不涉及主角群,這樣配角就能分到大量的發揮空間;大量零散的提示看似凌亂,實則只是玩家處於不同時空難以理解;透過與犯人的長篇對決中將真相逐層剝開,最後逆轉出的事實則讓人拍案叫絕。
大家可以回想一下歷代逆轉裁判大多都是主動襲擊被害者(這也是理所當然的),佈局殺人最近大概就是逆轉6-2和4-4(霧人)了。從一代四章「必然的偶然」開始到本章兩起「偶然的必然」結束,這案件單純以推理的角度來說應該是最好的一章。
所以,羅密歐和侏麗葉那個更強呢?那一定是高崎美咲演的羅密歐--

III
萬博會。水晶宮(其實以現代的角度去看當年的水晶宮不太「水晶」)。變魔術。
案件本身其實只是變魔術。堅信瞬移是不可能的玩家幾乎可以一開始就做出這個結論。
既然是魔術,那只要調查裝置本身事故就不難解拆,本來是應該這樣的。巧舟不可能讓第三章如此容易,解拆裝置面前有座大山叫科學技術保護條例--這種圍繞與殺人無關的條例的討論可是算是冗長的法庭戰中的清流,同樣的例子還有逆轉6-5前段對於始祖寶玉所有權的爭論。當然遊戲討論不可能利用條文/契約本身的技術細節(這樣對一般玩家來說太難了),所以兩件案件的結論都由殺人案本身歸納出來;與逆轉6相對的是英國的法庭多了6位陪審員,而本案的陪審員中安插了幾位專家(而不都是笨蛋),這樣技術細節的精度就變得很好拿捏--這也顯出製作組的多年功力。
角色在解決萬博會殺人案的同時也開始觸及到「教授」案件,但是我腦中只剩很萌的蠟像館夫人了……另外亞雙義也果然沒死,不知道這算不算一開始就預定好的安排呢?

IV+V
炸魚薯條被強制退場,不過這在吉娜上位時幾乎已經注定了(福爾摩斯的梗)。
案件本身設計很差,疑點幾乎是隨便數都有:射擊的方向是從低到高,但是以死神的身高來說不太可能,這點前面提了一下就不了了之;不自然的死亡姿勢和即死的予盾所導出屋子不是第一犯案現場的事實應該也比腐爛的炸魚薯條和冰箱來得直接;極近距射擊造成的血痕也應該和平時不同(不只蠟燭而已);慈獄被抓上証人台沒幾下就被草草收拾掉,但如果兩次接近雪房還是個謎(別忘了只有一次20分鐘的演習)……一切都是為了推動大透情,這點令人有點失望。後期令人喜聞樂見的律師檢察官証人(?)合力坑死法官,可惜他的顏藝出現次數不足,在確定自己是一個單挑整個法庭的時候就應該多狂幾次和多拍幾次手的。暴走情景也很華麗,不過成步堂你不逃的話會被燒死的喔?

整體劇情
玩過一代的玩家幾乎所有希望看到的元素也到齊了:亞雙義和愛麗絲的身世、四個名字的電報、死神之謎、一代案件的完整詮釋:
- 引入亞雙義和愛麗絲的上一代當然有必要。一代一直強調不想讓愛麗絲知道「老爸」掛掉但是紙總會包不住火,整理她的身世十分正常;亞雙義這種有強烈使命感的人帶著「任務」去英國自然不會是見識之類的膚淺理由,唯有過去的羈絆才是唯一的解。
- 電報裡四個人「死」了兩個,不在意才怪。重點是,為何這是機密?二代的給出了不能再重的答案。
- 死神。唯有在它行動才有機會捕捉死神的影子。劇組直接讓死神退場,讓主角有機會在殘留的證據下找出死神的正體。如果有玩過逆檢1的話也能在八O鳥的退場中發現一樣的手法:要讓案件變得天衣無縫需要刑警、檢察官和律師的配合;這裡律師可以改為收買陪審團,那不聽話的班克斯要用誰來代替就很明顯了,劇組也給出了最穩妥也最喜聞樂見的答案。
- 一代完結之時就有人猜測二代可能完全顛覆一代得出的結論,有人更從一代3/5章導出所有結果均為梅根達爾操縱的結果……這個結論十分有趣(如果是真的話說不定直接變成神/糞作),可惜二代中劇組根本沒有讓與司法無關人士(証人/犯人/陪審團)操縱的機會,這樣有機會操縱的就必定是司法相關人士了--留意到這一點的人在中後期會輕鬆很多:老子就是不相信蘇格蘭場、檢察局和法官,就是覺得你們在坑我(死神好像說過一樣的說話,算是很明顯的提示了)。

可惜為了將海量的戲情塞進五章遊戲裡劇組用盡了各種方法,二三章的手法也在盡量討好傳統的逆轉粉絲群,奈何訊息量太大,被分了心的劇組在案件設計上漏洞也比過去稍多了一點。但整體來說還是保住了遊戲的完整性,尤其是與一代結合成一個完整的遊戲。

推理

難度算是中高,熟悉逆轉玩法的玩家利用消除法應該大部分時間都能比主角走快一步,剩下就是手法問題。要找出確實的證據除了要把所有可疑的物品自己調查一遍(以前都是劇情強制調查)外還要留意上文下理而不是只是紅字--紅字提示本身可能還沒有其他對話來得有用,而福爾摩斯相關的梗本身也是亦真亦假,剛好印證了他的台詞「大證探有時也會說謊的」。這樣平時當逆轉當電字小說看的玩家可能要多動一下腦子,但我覺得滿有趣的。
美中不足的是本作「逆轉」的成分真的不足。比起6代將幾個「予盾」組合逆轉得出石破天驚的結論(第三章尤其精彩),這次主角大部分時間都是順利得出結論,就算不行大家都知道福爾摩斯都有外掛讓他用,這樣大大降低了玩家找出真相的夾快感(而且犯人還不會暴走這點更是讓人不爽)。與其說是逆轉外傳不如說是像雷x逆那樣,以福爾摩斯為核心的福x逆合作遊戲。

綜觀逆轉系列

大逆轉告一段落,不知道有沒有下一集。逆檢也把大boss做了,不知道有沒有下一集。逆轉本篇王泥喜遠走他方,想寫下去只能看心音放閃。
無數證人犯人被坑,律師被坑(霧人),檢察官被坑(狩魔、夕神...),法官被坑(一下兩個),司法高層被坑(一柳、這次的Voltex)……能坑的都差不多坑過一次了。
這作算是大家想看的集大成之作,然後呢?

然後呢?

正如我提到Mario Maker時提過,如何在前作機制獲得好評時發展續作永遠是一個難題。繼續搞大新聞會不會太浮跨?加新的測謊機(外)制(掛)會不會令遊戲太複雜也喪失本格推理的特質?回歸初衷做日常案件會不會太平凡?填那個七年黑暗期的坑有可能嗎?

反正我不知道,也不需要知道。巧舟已經證明過他寫劇本的能力,之後繼續相信他就好了。

7.5/10

Wednesday 6 September 2017

Cooperative games and the FEH voting event

Consider the following situation.

Two competitors A and B, are selling homogeneous products on the market. (Well not under perfect competition anyway.) Obviously they are enemies that they don't communicate. One day, however, due to unknown reasons they decided to maximize the total profit that they create. The profit of each of the seller can be viewed as a function of the seller's price and the opponent's price, assuming that the demand curve is fixed.

The problem is that they don't communicate. They even do not bother to check the opponent's price (it's time wasting -- profit maximization is only the command from the higher order). The only information they have on their hand is their price and their corresponding profit on that day (note: it relies on the opponent's price on the day too). Is it possible to adjust the price daily in order to edge close to the goal?

Call the price at the $i^{th}$ day $P_{A,i}, P_{B,i}$ and the profit function $f(\cdot, \cdot)$ that takes seller's price and opponent's price and output the profit for the seller (assume that the market is symmetric in the sense that swapping the price results in the same total profit). Is it possible to find such iteration so that $f(P_{A,i}, P_{B,i})+f(P_{B,i}, P_{A,i}) \to L$, the theoratical maximum (such maximum exists by compactness)? Does it help if we know the smoothness of $f$?

My unproved claim: if $f$ is strictly increasing respect to both variables and is Lipschitz (why the hell do we need such assumption?) then such algorithms exists. Don't ask me for further proof...

-------------------

I do not intend to include any explicit mathematics here, but it seems like a simple example is unavoidable, so let us consider the following.

Consider two initial values $A_0, B_0$ from two players A and B. At round $n$, player $A$ will know the his own number $A_n$ as well as the absolute distance $|A_n-B_n|$, and vice versa. Without any communication we want to devise an algorithm so that $|A_n-B_n| \to 0$.

We give the algorithm as follows. For $k>1$ we iterate as follows:

$A_{n+1} = A_n + (-1)^n |A_n-B_n|/k$
$B_{n+1} = B_n + (-1)^{n+1}|A_n-B_n|/k$

then by induction the value $|A_n-B_n|$ decreases every 2 rounds, and hence it converges to zero by the monotone convergence theorem. (Well, if we take $k=2$ we get it sorted out in 2 rounds, and we get the exact solution. However convergence holds for any $k>1$, too.)

Here we used the fact that there are only 2 players, so we implemented something that has period 2. In general when there are $N$ players we want to implement algorithms that are genuinely the same on each of the players.

-------------------

The first example is definitely an interesting case to think about, but $f$ is too vague to deal with. For concrete non-trivial examples we may consider this one instead:

Consider $N$ base stations $X_1,...,X_N \in \mathbb{R}^2$, and the convex polygon created $\Omega = conv(X_1,...,X_N)$. We may assign a radius $r_i$ to each station so that the area $\Omega \cap B(X_i; r_i)$ is now covered by the station $X_i$.

Larger coverage, of course, takes more energy. The energy required to maintain radius $r_i$ is proportional to $r_i^{2+\alpha}$, where $\alpha \in [0,1]$. The goal is to find $(r_i)$ so that 100% coverage is attained in $\Omega$ and the energy consumption is minimized.

Again communication among stations is prohibited. The only information each station $X_i$ knows is the coverage rate in the area $\Omega \cap B(X_i; R_i)$, where $R_i$ is the distance between $X_i$ and the closest station. Can you devise an algorithm for stations to adjust their radius $r_i$ towards the goal? Does it become any simpler in the case $\alpha = 0$, or $\alpha = 1$?

(Note: since we have the information on coverage rates, we allow stations imperfect coverage in the mean time -- we call that beta testing -- the algorithm is fine as long as the coverage rate converges to 100% AND the energy consumption converges to the optimal number.)

-------------------

Above are games where players cooperate under limited information. These type of games are extremely useful in various fields (economics and engineering) and are also actively researched. It is important in the sense that communication is always expensive.

Given linear/convex/smooth/well-behaved functions there are systemic methods to deal with those, or at least approximation-ish result are available. But what if the 'player' is in fact a mix between a selfish self (takes adjustments to maximize sole profit) and a generous self (take adjustments to maximize total profit)? That could well happen during political elections...or game voting events. The only prediction we can make it that things are unpredictable.

That is precisely why flame arised when Camilla beat Lyn with much less 'votes' in FEH's voting event. Things are event worse in the sense that this is a zero sum game so that it is impossible to cooperate after all. People thought that they are going to tweak the result but were only dominated by the 'selfish self' - the large portion of players who simply play on their own pace and not even hardly optimizing - and when things did not go naturally in their way they went annoyed and shit everywhere...

And for me, it is no more than a sleepless currency-earning event because I did not find my favourite characters (Ursula, and perhaps Tana too) there. Hehehe.

Friday 21 July 2017

re:創作者s

最近好多靈感,可以沒法整合成完整的一篇篇文章。主因還是靈感太多了。就像拉麵一樣,一天吃四五碗到最後也記不起那碗比較好吃,只能隨便寫幾句評語了事。

東京……很好玩、景點很好看,可是對我來說與人的互動價值更甚於作為首次踏足大和國參觀固有景點的樂趣,所以硬要篇成遊記放這裡實在有點強人所難。

我的17夏番列表不知不覺間變得越來越長,但最吸睛的還是小說追過來的歡迎來到實力至上主義教室異世界食堂,再加上半年番re:creators。<<實力至上>>和我的理念在一定程度上不謀而合,回頭一看才發現和自家小說的共通點還真不少;<<異世界食堂>>的話就是看比較正常的人間料理(不會吃完會高潮那種),在12集之內可以把異世界側寫到那個程度就和監督的功力了。<>下半部話鋒一轉,將焦點集中於creators和他們的creation上,幾集下來描寫可謂入木三分。當然和軍服小妹妹最後決一死戰在所難免,但是這場戰鬥基本上可以歸納為原創vs二創的影響力(又或者用Chaos;Child的語言來說,情報者的階級概念是否絕對--情報創造/收集/散播的概念是否等價)--如果監督有心在這方面下功夫這部說不定能摸到神作的邊,至少對我來說是這樣。至於blue-ray能不能賣出去當然另作別論,不過以秋葉原的宣傳攻勢來看這部絕對是他們想捧紅的大作。

當然還有棒球,足球休季期間當然就是要看棒球。甲子園又要來了,不過比起三次元的甲子園我更關心的是我的手遊甲子園隊好不容易經過一番整合之後又有人被挖走了。被挖走不是問題,唯獨被同級隊挖人這點我沒法忍受--如果我請得動「她」和「他」代我管理就好了。可惜這個次元的距離有點遙遠,不過我會努力的。

說真的這手遊大概是繼Fanta之後我玩過最需要團隊合作的遊戲了。如果沒玩這遊戲我大概也沒有那個熱誠去創作吧。希望這次我可以徹底完本--套用千川一句話:只有完成第一部創作那一刻,那人才真正成為一個創作者。

希望有一天,我也會成為那種Creator。

*

深夜寫文果然就是會亂寫一通,呢。
21-07-2017

Tuesday 11 July 2017

Functions on ordered set

A simple thing that I encountered during my tutorial sessions so I decided to share it here.

*

Let $(A, \geq)$ be a partially ordered set.

If $(A,+, \times$) is a ring we may add an order $\geq$ that cooperates with the binary operations if

- $a\geq b \Rightarrow ac \geq bc$, if $c \geq 1$.
- $a\geq b \Rightarrow a+c \geq b+c$.

That in fact decide much of the order, and denies the existence of order for any rings with finite characteristic or invertible elements. (That is why complete totally ordered field is so rare, too.) Clearly a finite ring has finite characteristic - and it will be hard to put an partial order on it. If a space has sub-structure that looks like a finite ring it might be bad to have an order as well.

Example 1. We all know that $\mathbb{C}$ has no total order. It is possible to assign a partial order to it that is consistent with the order on the reals? The answer is no, too.

Problem. Consider a poset $(\mathbb{C}, +, \times, \geq)$ that cooperates with the real order. Let $\omega = e^{q\pi i}\neq \pm 1$ where $q\in \mathbb{Q}$. Show that  $\omega$ is not related to 1. Hence or otherwise, show that such an order does not exist.

*

To further demonstrate why orders cannot cooperate with binary operations we look at the following example.

Definition 2. Let $f:(A, \geq) \to (B, \geq ')$ be a function. $f$ is said to be increasing if $a\geq b$ implies $f(a) \geq ' f(b)$.

Since the strength of different orders varies, it is very hard to compare maximality in different spaces.

Proposition 3. Let $f:(A, \geq) \to (B, \geq ')$ be an increasing bijection. Maximality of $a\in A$ does not imply maximality of $f(a)\in B$.

Proof. Take the identity map of $f: (A, =)\to (A, \geq)$ where $A = \left\{ 1,2\right\}$ and consider 1. 1 is maximal under the equality order but not maximal under the $\geq$ order.

But then crafting an example with respective to the same order is much harder.

Proposition 4. Let $f:(A, \geq) \to (A, \geq)$ be an increasing bijection. Maximality of $a\in A$ does not imply maximality of $f(a)\in B$.

Proof. Consider $A = \mathbb{Z}$ with the order $s \geq t$ iff $(s,t) = (2n+1,2n)$ where $n\in \mathbb{N}$ plus the reflexive relations. The function $f(n) = n+2$ is an increasing bijection, but the maximality of $0$ does not imply the maximality of $f(0) = 2$.

The reason behind is that finite poset failed to work here.

Theorem 5. Let $f:(A, \geq)\to (A, \geq)$ be an increasing bijection, where $|A| < \infty$. Then maximality of $a\in A$ implies maximality of $f(a)\in A$.

Proof. For $a\in A$ define $\langle a \rangle = \left\{ f^k(a) \mid k \in \mathbb{Z}\right\}$. If $A$ is finite then so as $\langle a \rangle$, so there exists $p,q\in \mathbb{Z}$ so that $f^p(a) = f^q(a)$. Taking inverses we have $f^k(a) = a$ for some $k \in \mathbb{N}$. [This is a standard algebra argument.]

Suppose there exists partial order $\geq$ so that $a$ is maximal and $f(a)$ is not, then we have $c \in A$ so that $c > f(a)$. But that implies $f^{k-1}(c) > f^k(a) = a$ which is a contradiction.

Problem. The function $f$ is decreasing if $a\geq b$ implies $f(a) \leq f(b)$. Does the above results [3,4,5] holds for decreasing bijection?

Monday 10 July 2017

Ramen, ramen, ramen

An essential part in any trip to Japan. Such a unique class of cuisine that is spread universally, with various form developed in different places, yet delivered by the same type of people -- the professionals who carries the spirit over generations.

My love to noodles does not restrict to ramen. Italian (pasta), Chinese (egg noodles, `river' noodles, vermicelli,... and a lot more), Japanese (udon and soba) -- are all my favourites. You expect different textures and hence different combination of ingredients to go with different kinds of noodles. For example the best way to enjoy Cantonese wonton noodle has to be fine egg noodles with wonton in a clear shrimp based soup, and when it comes to ramen I prefer a rather thick soup acting as a bridge to mix everything together.

During my trip I tried lots of different ramen, but here are six that impressed me, emphasizing two uncommon classes of ramen outside of Japan, chicken soup based ramen and dipping ramen.

[My out of 10 rating system - 6 = adequate 7 = good 8 = excellent]

*

道玄家 蒲田東店 (Dougenya)
東京都 大田区 蒲田 5-28-4
Tabelog: 3.03/5
My rating: 6.5/10


Close to the Keikyu station, Kamata is not a bad place to find some quick food especially in the night time. They are more well known for their chicken ramen which is less common in the foreign world, so I gave it a try.

Chicken soup for ramen does not taste like western broth - instead it is more like the pure taste of chicken - and when it becomes very thick it works well with other strong companions like chopped spring onion and raw onion. The protein - chicken thigh, chicken breast and meatball delivered properly. I like their use of fine noodles as they trap more soup when you take them out; eventually you finished and didn't find much soup left, then you know that must be heck of a thick soup. My only complaint is the quality of the noodle itself - the texture is slightly too soft to match other ingredients [onions and chicken pieces].

(As a said note...their shio-tonkotsu ramen is quite bad...I would rather recommend their strength only.)

*

麺屋 武一 秋葉原店 (Menyatakeichi)
東京都 千代田区 外神田 3-13-5
Tabelog: 3.56/5
My rating: 7.5/10



It's very hard for me to describe how good this is...an evolved version of Dougenya's one. Softer treatment on chicken breast, nice bamboo shoot and soft boiled egg with flavors well penetrated, better noodles...there is a reason for this restaurant to become popular among all the others in the center of Akihabara.

*

天下一品 蒲田店 (Tenkaippin)
東京都 大田区 西蒲田 7-5-13
Tabelog rating: 3.08/5
My rating: 6/10



One of the leading chain stores when it comes to thick soup as well as Kansai ramen. I was strongly encouraged to try this, so why not?

What makes things even more interesting is that the soup is chicken based instead of pork of cow...but you can quite clearly differentiate Tenkaippin's soup from the previous two due to the bulk use of vegetables. The soup looks thick as sludge, and taste thick as sludge...but everything just work, even the sandiness in the soup adds another layer to the overall texture.

You may occasionally find rice as an extra option to go with dipping noodles - that you can dump the rice into the thick soup and enjoy every bit of the meal. You can do the same here, and in fact this is a popular option here. Unlike dipping soup that could be too salty even with rice, the chicken based soup here is very close to our usual leftover juice that you liked to pour over rice...just a much delicious one.

Undoubtedly they have some very solid ramen...but the rest are less satisfying. The barbecued pork is rather dry, the gyoza is kind of bland and the fried chicken...somehow reminded me "America's worst fried chicken of the night" from Masterchef, if you know what I mean.

*

頑者ネクスト レベル アクアシティお台場店 (頑者 NEXTLEVEL)
東京都 港区 台場 1-7-1 アクアシティお台場(Aqua City) 5F
Tabelog rating: 3.06/5
My rating: 6.5/10



Ramen themed food court in shopping mall, Daiba. Well I do have expectations when it comes to dipping noodles but once again I shouldn't have too much expectation over restaurants in malls from a tourist spot.

The motivation for separating soup and noodles is to preserve noodle's texture. But by doing such it will be very hard to keep the soup warm because cold noodles will draw the heat away quickly. This is sometimes compensated by allowing customers to re-heat the soup or adding new boiling soup into the bowl, but they do not seem to be popular solutions in Japan.

At first I thought the noodles here are relatively expensive (about 200 yen higher) because it's inside a mall, but it turns out to be a feast - you will find 3 pieces of pork in this 1100 yen set (2 of them in the soup), each giving a different flavor. The prawn and pork based soup is rather salty, but matches with the well-known thick noodle.

Everything is so good -- you even got the exclusive view of Tokyo Bay from here, but the cold soup could ruin the day. I just do not like the design of the bowl because it gets cold even faster. Or maybe it's only my fault as I failed to communicate with the waiter properly...

*

東京駅 斑鳩 (Ikaruga)
東京都 千代田区 丸の内 1-9-1 東京駅一番街 B1F (Ramen street, "First Avenue" Tokyo Station)
Tabelog rating: 3.58/10
My rating: 7/10



You know that has to be a great one when the tabelog rating is 0.5 higher than the rest...and it is indeed a good one. When I am standing in front of the vending machine a waiter came and unchecked the "sold out" signal for dipping ramen - so I knew I had to go for it.

It was my first time having spicy ramen soup. Never a big fan of any kind of spiciness, but I have to say that it worked well with the fish and pork based soup. Very tender and flavorful pork, good noodles and egg...but again the soup got cold before I could finish all noodles at my greatest pace.

As a rather classy restaurant they did a great deco job and I enjoyed eating there a lot. My only complain was the cloth covering spoons...that failed to match with the rest of the restaurant.

*

はやし (Hayashi)
東京都 渋谷区 道玄坂 1-14-9 ソシアル道玄坂
Tabelog rating: 3.61/10
My rating: 8.5/10



If you have never tried ramen before, take this as your origin.
Then you will fall in love with ramen.

Menu with ultimate simplicity: ramen, ramen with egg and ramen with roasted pork, but they executed every part to perfection: noodles with right thickness and chewiness, fish and clam based soup not boiling but at the right temperature for you to enjoy immediately once served, nicely layered pork slice... The instant reaction from both my friend and me as a first time visitor -- "now I know why people are queuing for this". It's very hard to describe in words but it has to be one of the best ramen restaurant in Shibuya.

*

I really should have written this before the taste fled from my memory...or instead I should have learned to describe good food and not just criticizing.

Wednesday 21 June 2017

夢.十夜 (X1) The xenologue

做了這樣一個夢。

甲子園球場。七局下。二比一領先。對手是巨人。

在空中亂舞的氣球甚至沒有底下的人群般雀躍,在今季已經十三連敗的巨人臉上再扇他們一巴掌絕對是每個虎迷都樂見的事情。黃色的球衣不單淹沒了內野,同樣也將外野填得滿滿的。在右外野應援席上依稀可以看到零零落落沒穿球衣的觀眾,大既是前來朝聖的遊客。從他們的表情和動作明顯可以看出就算他們不黯日職忘了忘了買氣球,整個球場的氣氛也足以將他們融為應援的一分子--唯獨頂排角落的二人彷彿與球場隔絕般不為所動:清涼打扮的黑髮少女膝上枕著一部筆記本,雙手一直在鍵盤上飛舞;旁邊的白髮少年則饒有趣致地盯著那因為背光而根本不可能看清楚的屏幕。

「呦,我說你啊~這樣又不是札幌巨蛋,可沒有那些可以舒適地一邊工作一邊看球的特等席呢。在這裡耗下去還不如早點回去我請你吃大阪燒啦。」

「我要吃KFC。嗯……打率0.438、長打率0.784、對前段班數據是……」少女簡短地回了一句後再次投入自己手上的工作。

0.438當然不是甚麼日職怪物的打擊率,就算放眼全球能這樣打的大概就是有台灣那個大王能做到吧。他們說的其實是最近某隻棒球養成遊戲,而棒球養成遊戲不是職業合作就只能是以甲子園為主題,這個遊戲屬於後者。

Tuesday 20 June 2017

FE Heroes: my blitzkrieg team

(Akashic Records of Bastard Magic Instructor ep.11)

We've been saying that FE Heroes is the simplification of the traditional FE series on game consoles onto the portable platform. In order to set up a minimal battle system we may either allow a team of 3 or a team of 4.

A team of 3 comes naturally from both real ancient battles and novels: one attacking unit, one defending unit and supportive unit. In FE there is a another special correspondence: a team of 3 allows the elemental cycle to be completed. But of course battling with teams of 3 is too boring, and we have the colourless typed unit as well. The fourth unit allows the possibility on the use of tactical units, as well as enforcing one of the above roles.

So here I want to introduce my balanced team that I have been using.


The killer queen: Ursula

"My master has been complaining that I did not receive proper illustration...but that's not a problem because my target will stand no chance to have a single glimpse on me."
A: Death Blow 3 [Fury]
B: Desperation 3 [Quick Ripsote/Vantage]
C: Threaten Res 3
S: Attack 1
D: Reciprocal Aid
SP: Moonbow

Her superior attacking ability allows her to two-hit-KO almost all red, blue melee, cavalry, armored, flying and green melee units. As a cavalry unit her mobility allows convenient use of the reciprocal aid - she can even switch HP among other units! Desperation allows double hits without receiving further damage, although I hesitate to put Fury on her because that affects the use of reciprocal aid. Moonbow is kind of a standard fast-charging SP nowdays, and is very effective given her double hit ability.

The magical tank: Julia

"Oh...someone produced 0 damage on me...yet again."
A: Fury 3 [Resistance 3]
B: G Tomebreaker 3
C: Hone Spd 3 [Breath of Life 3]
S: Fortify Def 1
D: - (To be added. Draw back?)
SP: Iceburg
[] - Skills to use in the trials

Another unit with solid magical stats. She can attract and tank most magical firepower (especially those cavalry magical units), and when unit approaches they will be swiftly killed by Ursula. With Ursula's elemental cover she only needs to face green and blue units, so the G breaker works very well against even the toughest green magicians like Nino.

When she stays at the back she supports the team well with her supportive skills. She can stay directly behind the melee units so that she can at the same time support the unit at the front, and attack.

The specific/tactical solution: Takumi

"I break archers...but not only those."
A: Close Counter
B: Bow Breaker 3
C: Threaten Spd 3
S: HP 3
D: - (To be added)
SP: Vengeance

Problem arises: there are units with high resistances and attacks physically - the fliers. So Takumi is a perfect solution here. Takumi is the ultimate solution to fliers as well as all units with low attack high resistance (typically staff users) that Ursula and Julia cannot quickly eliminate. Bow breaker allows him to finish all archers (in particular Takumi, who is considered the greatest threat usually). When he cannot find specific target he serves as a steady physical damage output as well.

The core/physical tank/red unit: Olivia

"Oh please give no chance to the enemy to have a peek of my dance!"
A: Death Blow 3
B: Sword Breaker 3
C: Hone Atk 3
S: Speed 1
D: Dance
SP: Escutcheon

Ursula, Julia and Takumi are all distant attackers. Once the enemy tanks all the damage and come close the formation can be very restrictive. At the beginning of the battle distant attackers may be exposed if they go beyond the front line too much - so we need Olivia to pull them back. This is the unique unit [besides Azura] that makes the improved hit-and-run tactics possible. Being a red unit she is also capable of dealing with green units that Ursula and Julia cannot properly deal with -- especially the king -- Hector(s). I gave her sword breakers to deal with red units just in case. Hone attack is the perfect skill for her because units always surrounds her as the origin of the blitzkrieg, too.

Two evident weaknesses:
- Hector with Vantage. Olivia is the only unit that can defend his attack. Hector alone is usually fine (Julia hone def + Ursula recovering), but if Hector drags her away the other units will be exposed .
- Dagger users: they have moderate def and resistance yet attacking physically, so all three distant attackers will experience difficulty dealing with them. Again Olivia is the solution, but if that does not work out the team is in great trouble. Precise positioning is often required to wipe them off.

Takumi is a specific solution against bowers, and Kaguro is the specific solution against dagger users so I often switch between them. However Takumi enjoys full skill inheritance and a higher physical stats so he will still be my short term choice. It's not a long term solution because they are only specific solution but not as useful as Ursula and Julia in general. When I look at their skill points (effectively the kill count), the SP of Takumi is less than half of Ursula's -- so he does not really kill a lot.

One last negative on this team: I get used with Olivia too much that I do not know how to play when I have a team without her. That is precisely the case when I was going through the tempest trials where you will need multiple teams (usually), but I only have one Olivia. Eventually I came up with another strong team (Nino, Tharja[+40%], Ryoma and Kaguro) but it's only for the boss stage specifically. I don't think it will stand any chance against any matured 680+ arena team.

Results so far:
- Arena: @690+, tier 18~19
- Clears all 7 stages in the trials event sometimes, 6 stages at least

Wednesday 17 May 2017

FE Heroes: Arena Tiers

Recently FE Heroes adopted a new reward system which is kind of an extension of the classic promotion/demotion system. Players start from the tiers they have been in in the last season. At the end of each season a portion of players are promoted/demoted from their current tier (promotion to tiers more than a rank higher is possible).  Such system is quite popular among games that use tier rewards instead of fixed ranking (that saves the work of calculating the suitable amount of prize you want to give), and it enhances consistent participation. Another game that uses similar structure is the Venus Eleven.

In terms of mathematics, we may transform population into proportion, and instead of a distribution at a certain moment we look at probability distribution of a single node in the system. There are something from conventional mathematics that we can use immediately - the queuing theory.

The whole thing is basically just a birth and death process. You equate the in-flow rate and out-flow rate, set up the equations then it can be solved easily. Results say that the transition matrix has eigenvalues at most 1, so it is going to converge. You can always find the stable state vector by doing some tedious linear algebra work...but well we only care about the numerical result here, so it won't be a shame to solve the stable state vector using numerical method.

We do expect something like a geometric distribution. The reasoning from queuing theory is simple as well: let $p_n$ be the probability (proportion) of object at state 0, and let $\rho = \lambda / \mu$ be the traffic density. By checking the first equation with $\mu p_1 = \lambda p_0$ so that by induction you have $p_n = \rho ^n p_0$. If you have a queue of infinite capacity then $p_n = (1-\rho ) \rho ^n$. Here $\rho _i $ is not fixed but it's still approximately throughout and double promotion is possible, but if we focus at the top (recall the memoryless nature of this process) the process is pretty close to a classic M/M/1.

Below is the plotted graph for the long time distribution:



That could be a pleasant surprise to the players (in terms of its generosity) and to the mathematicians.

Why is it not geometric? Well it is quite geometric if you break it into two parts: tier 7-16 and tier 17-20. On the lower section we have $\rho >1$ so that most players tend to advances from their current tier, and on the upper section we have $\rho < 1$ so players struggles to go up.

What is surprising is that they did not make the top tier unreachable -- tier 20 contains top 7% of the players instead of like, 0.5~1% as (Asian) gaming veterans would have been expecting. This is quite generous --- or overly generous. Consider that there are around 100k active players in the pool currently, 7000 of them could be in the top tier that corresponds to the top 5.5 categories in the old system.

Putting that generosity aside, the idea of loosening award tiers in FEH does fit the philosophy of Nintendo / IS running the game. As mentioned, the game can be treated as part of the their experiment of adopting Japanese styled mobile online into western consumption patterns. They want to attract more consistent light spenders (mid-top players) rather than letting the game being dominated by a small group of heavy spenders.

Note the dynamics in the system: when we say 7% in the system that is for the population at the moment, but the proportion of players that wanders between 19-20 could be a lot more than that. In terms of feather rewards it's linear with tiers except for the top tier with a huge jump (2000 -> 3000), so if we want to draw a spectrum the reward for those high-end players are majored by their time spending in tier 20, and for the rest their average tier would be a good enough approximation.

The actual spectrum relies on the strength of the players that cannot be determined, so here is my approximated spectrum. Square bracketed number indicates the tier where player usually sits in (otherwise we assume they spend about equal amount of time among those tiers):

- Tier 20 Avg. 3000 (2%)
- Tier 19~20 Avg. 2500 (4%)
--------------------------------Top 7% // Tier 20
- Tier 18~[19]~20 Avg. 2200 (4%)
- Tier [18]~19~20 Avg. 2000 (5%)
- Tier 17~[18]~19 Avg. 1800 (5%)
--------------------------------Top 21% // Tier 19+
- Tier [17]~18 Avg. 1720 (5%)
...
--------------------------------Top 44% // Tier 18+
...

Even without drawing the spectrum explicitly you would expect the spike to occur among players who topped 19 but not quite enough to stabilize in 20. That includes 8~12% of all players and they are exactly the mid-top players that the developing team is aiming for -- if they spend some money (and effort) onto the game they might be able to push a bit further and receive a significantly increased award.

And, for me...I am sitting around the upper quartile line, I would expect myself to wander between 17~18 steadily. Of course, 18 gives an orb more so I should push a bit harder, too...

Tuesday 2 May 2017

Two game mechanics (2)

Here are two more observations that was made long time ago but recently came into my mind in some other form again.

Question from a Monopoly-like board game

If you have played Monopoly before you must have met situations where you really want to land on a certain grid for whatever reason (to grab a set of lands, to build houses etc) right? In that case the only thing you can do it to ride you luck and hope that you diced the right number.

Of course, however, in online games these can be easily negotiated. Item comes into play and give certainty on what number you can get from the dice, with some cost as well. You want to use those item wisely, so here is our model:

- A circular board of 22 grids.
- A fair square dice is used each round by default. Items maybe used to specify the dicing outcome.
- 4 bonus grids spreads uniformly over the 21 grids (except the starting grid). One must land on that grid exactly to receive bonus.
- 6 rounds in total. Note that it is theoretically possible to get all 4 bonuses regardless of the bonus distribution.
Goal: we want to land on all 4 bonus grids every time, while minimizing the usage of items.

*

You would expect that 3~5 items are used each time: if the distance from treasure is less than 6 you have no choice but to use an item to make sure that you reach the treasure. Sometimes you have to stretch faraway enough to reach those grids.

But what about the average usage of each of those numbers 1/2/3/4/5/6? Are they the same?


Well, simple simulation shows that the distribution is approximately geometric. But it turns out that my average usage on all 6 items are almost the same, which is an interesting fact to investigate at. Below is my thoughts:

First of all, it's natural to use a lot of 1/2 according to our distribution. At the same time if we uses lots of 1/2 then we might need to use more 5/6 as the rest of the grids are more sparsely spread.  What about 3/4? This is in fact the most mysterious part in my point of view but a possible reason is that the most probable distance that requires multiple rounds is of course the 7-9 range, and there is a high chance that you will need to use 3/4 to correct your position.

(For instance if the distance is 8 then there is a 4/9 chance that you will be using 3/4 once. This can be done by simply listing all possible outcomes. (x) is the correction step:

6 - (2)
5 - (3)
4 - (4)
3 - (5)
2 - 6
2 - 5 - (1)
2 - 4 - (2)
2 - 3 - (3)
2 - 2 - (4)
2 - 1 - (5)
1 - 6 - (1)
1 - 5 - (2)
1 - 4 - (3)
1 - 3 - (4)
1 - 2 - (5)
1 - 1 - (6)

Therefore the chance is 2/6 + 4/36 = 4/9.)

But given the geometric/exponential nature 7-9 won't happen that often after all. It is still very hard to explain my uniform usage of those items.

Of course, this is not even a problem for the developers -- this is something that only the players should worry about. Imagine that the board game comes from an extremely popular online game where 24/7 grinding + unlimited potion is required to get a rank up high, and the actual usage is uneven ("the alternative hypothesis"), knowing the correct distribution would save you several minutes from going back to the shop, hence giving you an edge over other players ---

Luckily the game I mentioned, is not competitive at all.

Exponential effort resulting in linear growth

Systems requiring exponential effort for linear growth is a canonical choice. It appears in most RPG (as well as idle games), based on the fact that exponential growth overwhelms any polynomial growth from whatever percentage bonus. The implementation is usually simple too. EXP bar that grows exponentially, item prices that grow exponentially, time requirements that grow exponentially...

But are there more implicit implementation of this trick? Some may suggest an item forging system so that when you forge A into B, A gains a fraction of the power of B -- you can still see the exponential nature behind: you need $2^N$ items to boost the item $N$ times (proportionally, and if we ignore the higher terms).

But recently there is a game that allows unlimited forging on the same item: on the Nth forge, 1/(N+r)k fraction of the power is merged into the item, where r and k are constants.

The developer is using harmonic series smartly here, with the fact that harmonic series is asymptotic to the log function. Let us do the mathematics here:

Suppose we have $2^N-r$ identical items of power 1. By forging everything into the same item, the new power is given by:

$1 + \sum _{i=r}^{2^N}\frac{1}{ik} \approx 1 + k^{-1}(N\ln 2 - \ln r)$

And if we have $2^N$ items and we forge it in the usual `exponential way' we get

$(1+\frac{1}{rk})^N  \leq 1 + \frac{5}{4}\frac{N}{rk}$

we use the constant 5/4 as for a generous upper bound.

Exponential effort is clearly necessary for linear growth. It prevents players from forging items using the usual `exponential way' as well. This is clear by checking the following equation

$N \ln 2 - \ln r - \frac{5}{4}\frac{N}{r} \geq 0$

to be feasible for most reasonable $r, N$, like $(N,r) = (5,3)$.


Thursday 27 April 2017

夢.十夜 (1) The beginning

做了這樣一個夢。

我手上提著一盒壽司,慢慢地爬上四周貼滿補習社、樓上書店、理髮店以及色情玩具店海報的樓梯,進入一部由更多海報舖成的狹窄空間。前後左右,連頭頂也不放過;唯一可以看見素色的就只有地板了--不、地板上也散滿了掉下來的紙張,只是空白的背面沒那麼刺眼而已。

「叮」一聲,電梯緩緩在四樓打開了門。穿過左邊的文青型樓上書店和右邊的波鞋店,眼前是一條連接著兩梗大廈的橋樑。說是橋也不過是三四米左右的距離而已。兩邊用鐵絲網圍住大概就是防止有人在這裡跳下去吧。站在橋的中間向下望依稀可以看見幾座老舊的唐樓之間剛好空出了一小塊空地,上面排滿了一個個被清理完不久的垃圾筒,飄上來的一絲垃圾味被濃重的油煙味蓋過--魚蛋燒賣、煎釀三寶……還有新有的炸雞?不過我的思緒卻沒有和這些氣味糾纏太久,一個有趣的問題在我腦中閃過:在寸金買不到尺土的這片地方,空出這樣「被遺忘的一畝」是一件很奢侈的事情。到底以前是發生了甚麼事讓大廈圍繞這裡建成?這一格土地又屬於何人、以後又會怎樣--嘛,在這條街衰落之前大概不可能被重建吧。

其實穿過這條橋也就數秒的事。在兩層防火門之間我好好檢查一下這次的的裝備;水手服、有!過膝襪、有!水和毛巾、有!這可是去練舞的必要裝備,無論缺那一樣都會讓我渾身不舒服從而令表現變差。今天就先打兩道DEA(Dance Evolution Arcade)然後練十刀DDR(Dance Dance Revolution),以1100大卡為底限吧。我這樣想著推開了防火門,眼前的景象從破舊的唐樓變成了荒廢的商場:兩尺見方的白方瓷磚大概是唯一比較淨的東西;乾透的醬汁一點點地散落在牆邊的桌子上,幾張膠椅在旁邊東倒西歪;垃圾筒早已超過它所能承載的容量,本來可以旅轉良蓋子現在反面朝天,露出裡面的快餐紙袋,還有顯然是我前天來時留下的空壽司盒。完全空置的三樓從扶手電梯那邊傳來野戰的聲音;有人或許會問到底是軍事宅對這個免租的樓層加以利用,還是一對對小情侶在享受價比千金的happy moment--管它呢,那種地方我死也不會去。

一陣違和感從商場的另一邊傳了過來,明明是死寂的地方卻傳來了不該有的電子聲音。我把貼滿遊戲海報的玻璃門推開,模糊聲音立刻變得清晰可辨:前排是四個一組的街霸、拳王和鐵拳三代格鬥遊戲;中間放了傳統俄羅斯方塊(Classic tetris)、Pang、魂斗羅等中古經典小遊戲;後面貼牆的部分則是秋名山司機三五成群飆車的指定地點。裡面的違和感與其說是各種在發聲的機台倒不如說是機廳人滿為患,拳王等熱門遊戲不消說已經聚集了一群好武之人整裝待發,小眾遊戲如泡泡龍都有兩三人圍著討論機台和GBA版幀數算法不同引致爆彈用法上的分別--這不可能啊!這種平時只有我一個認真玩遊戲其他人都過來做偷偷摸摸的事的地方就算貼出即將結業的公告也沒人來吧!況且在一旁煙癮還沒發作的老闆在一邊老神在在地和小孩玩耍,兌銀機也還活得好好的,根本不像是快要結業的樣子。

真好啊。我想起那家平日人山人海卻被加租逼走、真正承載著滿滿回憶的機廳--


Tuesday 11 April 2017

11-04-2017

The 10-point rating system

According to the announcement, Pixiv removed the 10 point rating system and instead put a "Like" button up there. The reason is that "95% of the evaluation function are currently evaluated at 10 points. Also, some problems rose due to the negative usage of the evaluation function".

Well the reason is not very surprising especially to those Osu! players. The average rating rises with time due to multiple reasons (the actual improvement in quality, fan-based community, points became popularity contests etc) and it's occasionally abused like spammed by 1-pointers (this is less common in pixiv because we don't have a in-built critic circle there, but for Osu! this is really obvious).

Two questions arose: should we modify the 10-point rating system to avoid those problems? Is the "Like" button serves as a better indicator than the rating system?

One important observation is that there's almost zero qualification required for someone to vote in both system. You just need to be a member (and played once, for Osu!) then you can rate the map/picture. That makes the source of voters very suspicious and very vulnerable against manipulation. Whether those manipulated accounts are alts or "followers" from the same community are not important -- it's out of the control of the system itself. The system can do nothing but to serve as what the sources wanted. In Pixiv, people spam 10-points for drawings they like/appreciate and that becomes a popularity contest, so why not? A "Like" system is better as for a popularity contest.

As for Osu! the in-build communication platform allows us to manually adhere some metric on the rating system - one may provide a guideline on giving rating and perhaps some suggested examples. Assuming that players (or at least the officials) reached an agreement on the ratings and players are willing to rate according to the guidelines, it is possible to introduce weighting on how valuable a vote is from a player. Players are still free to rate by their free will but votes that are overwhemingly random will receive a relatively lower weight. Ratings may also be scaled by approximating players' voting curve and make it close to the supposed guideline.

It is not possible to eliminate popularity contest because (1) first of all popularity-ish rating would still be the dominating voters after all (2) the minimal weight can't really be too low because at the end of the still this is "players' rating" not "players' rating on quality" - popularity remains as a non-negligible factor, but what we did is to reduce the power of pure haters/lovers and that gives a more representative overall rating.

A last note: although "my favourite" function exists in both Pixiv and Osu!, I would still prefer the "Like" button for Pixiv and the rating system to Osu! because Osu! system provide possibility of improving the rating system and we really have so many metric that has high correlation to pure popularity - instantaneous and long term play count etc that we don't really need another useless button to show that explicitly.

3D Touhou



Blender these days are powerful to simulate these nasty bullet hell screens and this is one of my favourite. But my question comes from the perspective of the characters themselves.

It's extremely interesting to see how the authors blend a 2-dimensional spell card into a 3-dimensional space so that the bullets (at least apparently) fill the space. But what if we really want to fill the space and wipe those characters off the screen? What kind of spellcards should we use?

- For spherical bombs you would like to pack the space so that no escape route exists. That's essentially the sphere packing problem...that clearly gets harder at higher dimensions.

- If you want to shoot radial danmaku that floods the character without allowing it to move towards you, the thing you will need is to increase the bullet density on the manifold as the tangent plane of the character per Hausdorff measure in the space (?!?) -- in simple terms, it grows in the volume of (n-1)-sphere for Euclidean spaces, which is not looking good either.

- Laser type weapons. Using spherical coordinates it is also clear that aiming with the correct angles in all those angle-based coordinates has exponential difficulty as well.

The best weapon might be Sakuya's ability of freezing time because time as an extra dimension is independent of the space dimension so it works equally well despite the change in space...but well I am not a resident of Gensokyo so I'd better leave the problem to them...

Tuesday 4 April 2017

Two game mechanics

Great game follows from small details and smart mechanics.

As always, game mechanics are great source of giving interesting mathematical questions. Here are another two short examples on games that I've been following.

Fire Emblem Heroes

As a hardcore Nintendo fans this is probably a must, especially when the game is now full of GBA-era characters replenished. Without much money and effort I managed to score 4200~4400 per week in the arena, but this is not what I want to talk today. It is the summoning mechanism that caught my eye --- to be honest the summoning mechanism is quite special as a Japanese game because that can be treated as an attempt to adopt western consumption behavior on gaming, rather than the eastern elitism style, but such qualitative topic does not fit this entry as well.

Let's talk about simple probability. This is the (simplified version of) FEH's summoning mechanism:

- You spend 20 orbs to summon 5 heroes/cards (a complete summoning).
- By default, there will be a 6% chance of getting a 5-star (5*) hero.
- If you get no 5* heroes after a complete summoning, the chance for 5* is raised by 0.5%.
- The chance restores to 6% if a 5* hero is summoned.
- The chance only change after a complete summoning.
- Assume everything else to be independent.

Now the interesting special rule: if you get no 5* in 24 complete summonings, you will automatically get 5 5* heroes in the 25th summoning (i.e. the chance become 100% rather than 18%). The question is, why 24? A simple calculation reveals the truth:

Chance of getting 5 5*s under default chance = 0.06^5 = 0.0000007776 = 7.77*10^-7
Chance of getting 5 5*s via the special way = product (i=0..23) (1-(6+i/2)/100)^5 = 2.79*10^-7

That says, both ways getting 5 5*s in a single summoning process are of equal magnitude in terms of probability! It is quite clear that the chance varies exponentially if we change 24 to something else, so that is quite a slick design that gives mathematician a smile on his face.

A round robin league

I am recently sticking to another Japanese baseball android game, in which has an event where each team is assigned into a group of 5 every day. At the end of the day the rank is calculated and points are given to the team accordingly. At the end of the event (10 days, i.e. 10 rounds) the overall team rank is decided by the total points.

That reminds me of the guild battles from Fantasica -- the old good days where a team of 9 players around the world commit in 35 real time battles, each lasting 1 hr in 7 days that takes numerous hours of preparation work and probably thousands of cash -- that has a very similar system. Each round you fight with another guild and the total victory count determines your rank. The common feature between the two is that, your next opponent depends on your current standing and will not be someone that you have fought before.

Depending on your goals, it has been practically shown that in Fantasica there is a range of standing (typically the mid-high range) that can be achieved by lying dead in the first few battles despite random-ish weak opponents, because you can meet fewer top teams (hence less guaranteed defeat) by doing so.

The core principle in guild battle events -- rise fast, sink slow. You quick edge towards the top by defeating consecutive weak opponents then get crushed by top opponents, but your rank drop slowly because everyone of the same tier is taking defeats at the same time as well.

The question here is, does it work for such system where you are assigned into groups of 5 instead of 2? It is foreseeable that if you always group all top teams together you will be running out of top teams very quickly. Another question is if we alter the matching algorithm will it be cheat-free? At the end of the day, we want to distinguish those heavy spenders (top 5-10), light spenders (top tier) and heavy free players (mid-top) while minimal players are not too important to game revenue. With 35 turns, Fanta somehow (but not quite) managed to put mid-top players to where they should have been, but the sinking phase is still a bit too short.

Here the dev solved this problem by matching 5 teams, each with some distance on the rank but not too far away, ranging from top teams to mid table teams. Each round can be deemed as battling with 4 other teams at the same time: finishing second in the day implies you won against the 3 lower teams and lost against the top team. By such the converging can be done even quicker than the Fanta system. It's also cheat-free in the sense that you are battling with teams of the same tier every round that you don't have much space to lose.

But that's only my prediction -- no one knows how the system exactly works and I doubt if this is systematically studied in this game given its competitiveness, but I look forward very much to those post-event statistics.

*

3 April, 2017

Thursday 9 March 2017

09-03-2017

十年了呢。

6/3/2007 - 6/3/2017

從單純的分享短片和文章到寫自己的筆記和小說,我在這十年裡面發了大約七百篇東西。當然每一篇的價值各有高低:有些比較用腦、有些比較費時、有些就是單純的轉貼而已。以下是一些節綠和感想:

筆記:我成績進步就是從整理筆記開始的。堂上抄下來的總是帶點雜亂,整理一次剛好可以理順各種疑點也可以找出自己的不足。現在看回去的話其實自己整理筆記的能力還有很大的進步空間--可能是關鍵字使然一篇中史筆記成為了這裡人氣最高的其中一篇。不過當你按一看進去就會發現根本只是一堆史實嘛!文科就是這樣:光知道事實是不夠的,將事實整合起來分析對比才是關鍵。如果我還能再寫十年的話結合自己的文史根基鍛練自己的文筆或許是努力的方向之一吧。

數學筆記:這方面其實沒有太花腦力,倒是要想一些有用的範例比較耗神。很多篇的靈感都是從日常生活和接觸到的東西而獲得的:同學/學生問的問題、舊試卷、奧數、新看的書……每一篇除了可能給不知道存在與否的讀者帶來啟發外也給我帶來了不同角度去處理問題的機會。雖然以我現在研究的方向要寫出類似程度的內容不太容易,不過靈感來的時候還是擋不住--最近用線代做實分析那篇就是個很好的例子。

隨著你在大學深入鑽研一個課題,你對基礎的東西理解也會更深。線性代數的舖排一直是近代數學教育家分歧比較大的議題:不同學系的學生對線代有/需要不同的解讀方式,學生的程度則限制了部分的舖排方式。我自己寫的筆記裡面偏好的是純代數的舖排,而且盡量搭上每項工具的幾何意義。無何否認地這種玩法對學生能力要求比較高,但是我覺得至少對數學系的學生來說一個帶有以嚴謹證明築構出來的核心內容的基礎課程是有必要的。這份筆記到現在無論對我來說還是我回答學生疑問時都給予了一定幫助。

隨筆/作品:就是比較輕鬆的作品。當我檢閱這個標籤時發現很多都是旅遊筆記,不過這也不是一件壞事:因為這恰好證明了自己的旅途並不沉悶,充滿了值得書寫的故事。有趣的是與大多數人不同,我單獨出遊時未必對大部分人感興趣的景點感興趣,反而很喜歡找家出名的咖啡店享受一杯用心調出來的咖啡或者一份本地的甜點,然後觀察窗外(匆匆而過的)行人及其點綴的城市。花上幾小時和異地的朋友天南地北的聊也是我每次出游必做的事,因為正是這些人構成了他們的文化和國家,然後才有了(人工)景點。可以在世界各地找到知音人聊天,應該算是自己的福分吧。

我一直覺得自己寫了很多異想天開的東西,卻沒一個可以好好收尾的。我一直有寫長篇小說的夢,不過果然還是從短篇開始寫起比較好吧?

電腦/遊戲:算法(algorithm)的話先歸到數學那邊,這裡講的是一般的網絡觀察和遊戲心得。遊戲心得並不是一般的攻略(嘛,無論是2007還是2017,將攻略口耳相傳的年代已經過去了;在2017獨立的攻略網也成為了過去式;剩下wikia結構和門戶式大型綜合論壇的世界實在有點單調呢)而是結合自己對數學或是人文的理解所做出的宏觀預測。這種我從小學時代就開始做的事到現在還是滿有趣的,可惜之後的十年可以玩的時間肯定比以前少了吧……以下是幾個我用心肝過的網遊

新絕代雙嬌Online (2005-2009)
到現在還會偶而上,但是轉回新斷線把公會搞散後也沒動力肝了。不過有幾位好友到現在還會聯絡。
Ogame (2008-2009)
就……一款很現實很殘酷很耗肝的遊戲,到頭來還是一場空。
Osu! (2008-)
無須多言,可以參考上方的Osu!頁面。在這裡學到很多東西,不單是樂理,更多是做人的技巧--管理、溝通、協調的技巧。還有很多大概是一輩子的朋友。
Fantasica (2012-2015)
一個用肝和用錢打都可以打出一片天的遊戲,極為多元的玩法和自由交易將這個遊戲的吸金能力推到極致;我在這裡認識的人和Osu那邊的熱血青年們稍有分別,但一樣都是值得深交的朋友。
Quiz.「黑貓」.RPG (2013-2017)
剛倒閉。益智養成的先驅,夠大的故事觀和高質日系畫風都相當吸引,可惜英文版實在做不起來。
地城戰棋 (2015-)
休閒玩?比起上述遊戲遠未到要肝的程度。

運動:顯然地我是車路士(Chelsea)的球迷,不過棒球可以算是我一直有興趣看的第二運動。從小時候的超棒球外傳到甲子園(或者各種類似甲子園式的高校競技)相關動畫到種花職棒網上開始直播,我終於將棒球納入我生活的一部分。在我執筆之時台灣種花隊正和韓國隊8-8平手,希望種花隊今晚不用吃鍋貼吧?………吧?

(EDIT: 無生還啊無生還,讓我們一勝也不行?)

*

我真的沒想過這裡可以堅持十年(另一邊廂xanga倒下了又以另一形式復活過來……透過我朋友之手),但是希望接下來十年我都可以透過這裡和大家再會 :)

Forretrio / Chris
9th Mar, 2017

Tuesday 21 February 2017

DDR, the 3rd year


3 years since I start played Dance Dance Revolution (DDR). A short summary on my progress over the last year. Well to be honest I only played 3 months out of 12 last year, since they replaced the ITG machine by the stupid PIU machine.

ITG: Here I started to train those 'crazy foots' - I got 86% with 2 misses on MAX300 ("the gate towards the inner DDR world") that has not been replicated in DDR. Below is my best record:



But those custom maps opened a whole new world to me. There aren't lots of BPM 120~140 1/4 equivalent streams in DDR (BPM 240~280 is too fast and 120~140 is quite slow in general) except for some old maps (you don't expect highly electric songs with pace falling in that range) like Paranoia Survivor, but you can find loads of them in ITG. One of my favourite is Hatsura Yuki's ~Confession~, but sadly I failed to find the corresponding difficulty (SP challenge) in Stepmania :( These songs provide excellent training and eventually allow me to play MAX300 fluently. ITG also include diffs with high number of notes while retaining a relatively low density, and that is a nice training for stamina. (Maps like kokoro contains up to 750 notes which is around 17~18 while the real difficulty is around 14+ or 15-).

In 2 months I managed to go through consecutive Lv. 11 (old extended scale) maps - difficulty of these maps varies greatly but they gave me a good foundation on getting through those real DDR songs.

DDR: I spent 1.5 weeks out of 4 weeks to familiarize DDR again, wasting time on easier maps like 12-13-14 or 11-13-15 on a single credit. These are not my limit so I does not gain a lot except limited accuracy due to repeated gaming. But then I decided to start training myself to adapt higher speed - both real speed and apparent speed ("SV"). Plan 8, NEPHILIM DELTA and 放課後ストライド are three excellent songs (14)  for BPM 220+ range -- with consecutive long streams and huge number of notes you eventually pick up the stamina you need for higher difficulty. Another focus before you can confidently step into Lv.15 is the ability to switch between footing 1/2 and 1/4. Here ちくわパフェだよ☆CKP and POSSESSION are two great trainers in 14.

(Well, I had a lucky 1 miss play last year, but that couldn't be consistent...)

Last year I was able to play a few 15 but I will get exhausted after any single attempt, but now I can step into 15 and confidently play most of the songs - except for weird SV changes that requires extra reciting. Pluto series is always hard to do in that sense -- Pluto relinquish (14) and Pluto the First (14) are still hard for me (my record is still B).

14 to 15 is hard because 15 marks the beginning of the inner DDR world, but 15 to 16 is not as hard as that. Before I started to attempt some easier 16s, one of first two 16 passes was from one that I thought to be quite hard among the 16 songs - VANESSA:


The 1/3 stream is extremely nasty, but once you get used with long stream at that speed it becomes more like a routine. Though I haven't tried it for the second time I am quite confident that I can easily get better result.

I got some other high 15s and mid 16s as well...but passing those technical maps are more satisfying --- Spanish Snow Dance (15) that is supposed to be mid 16, and 灼熱Beach Side Bunny (15) with lots of exhausting jumps.

Talking about jumps that is still my weakest link and hardest bit to improve. I passed 隅田川夏恋歌 (16) (another one out of two first 16s that I passed) but I got the "kiai" part by hammering double arrow every note instead the supposedly every other note. The fact that I can't switch between single and double foot fluently hinder my performance on maps heavily seasoned with such features: 轟け!恋のビーンボール!! (a B+ pass) and 嘆きの樹:


Improving accuracy on double jumps takes a damn lot of practices, so I turned into those harder maps that I can achieve relatively easier -- 恋する☆宇宙戦争っ!! (17) and ドーパミン (17) -- in Taiwan I have fresh machine that allows an almost 10% accuracy boost on songs in the 12-14 range, so I made use of the chance to try those hardcore maps, and turned out with some successes:


In order to get through this diff I played two BPM200 songs before trying this in the final stage...and the plan worked out properly. I passed on the first time without the 4 miss extra stage limitation. Same goes for Dopamine :3

So that's my third year on DDR. Perhaps I can get a light taste of 18 next year?

Statistics, 2016:
18 days in DDR, 129 credits
Ability to pass maps: 14 ~ 15- → 15+ ~ 17-
Ability to AA maps: 11 ~ 13- → 14 ~ 15- (under the new grading scale)
Lv. 15: 23Pass / 2AA
LV. 16: 11Pass
Lv. 17: 2 Pass

Tuesday 31 January 2017

After Dark 4.0 in Windows 7/10

Nostalgia...

Rodger Dodger and Rock Paper Scissor are two main reasons that I keep bringing this antique back to the modern world. Every single time when I adopt a new OS the first mission would be fitting my Chinese input method into the system, and the second mission is to introduce AD4.0 into the machine.

Obviously this is hard because of a few reasons:

1) This is super old. Probably one of the oldest software that people still liked to use in 2017.
2) This is partially for 16-bit system and has limited support for 32-bit system, but machine these days are mainly 64-bit (my Chinese input software failed because of the same reason).
3) The developer decided to integrate the setting page in some very weird position which is then removed in the subsequent Windows version, particularly during the introduction of the Metro UI in 8/10 (and that applies to my Chinese input software...)
4) The installation is flawed - some registry change are missed.
5) This is not the usual kind of screensaver (and again, super old), so you can hardly find support on the Internet except for some people asking the same question every single version of the Windows OS: does AD4.0 fit into Windows xxx?

Anyway I made this entry as to share my way of getting it worked in Windows 7 and 10. Somehow I gave up on doing this on Windows 8 (I only used that computer for a very short time), but the 10-method should work for 8 as well.

Windows 7:

This forum post gave a complete guide on fixing this. It worked for me and should work for every one.

In Windows 7 you have no access to the AD setting page (which was in the monitor page) and you will see "unable to select module..." as the screensaver name. These are minor things (settings can be change directly in the registry and no one cares about the name) but you can fix it following the instructions here.

Windows 10:

(Updated 2/2/17)

EDIT: Somehow I need to perform a recovery on the system hence giving me a second chance to install AD4. Here is a simple solution to get it solved:

- Install AD4 as usual.
- Bring "After Dark.scr" into C:\Windows\System32
- Settings can be done via the registry package from this YouTube video.

Now everything should work the same as what you get in Windows7. The same problem remains -- the 'unable to select module' name and limited access to the settings. Since more registry entries are missed you really have to rely on the package from that video.

But for those AD lovers, I hope the above manual helps you to retrieve what your beloved screensaver that you first met 20 years ago :D

Windows 11:

(Updated 20/11/22) Works the same as in Windows 10!!!!!

Tuesday 3 January 2017

書評 // 時光當舖 01:思念物的歸處

我已經很久沒用中文寫東西了。對上一次用中文寫過千字大概是兩年前,在這裡的話大概就是四年前吧。趁著年末聖誕年假把手上剩下的中文書看了遍,正好寫個書評把自己的手感找回來。(微劇透注意)

時光當舖 01:思念物的歸處
著/ 千川
繪/ Ooi Choon Liang

這種題材在近年可謂大行其道:古書堂事件手帖、咖啡館推理事件簿等等,更不要說我老家還有一套東京下町古書店還沒看。類似的思潮可以看作類似電子書和實體書之間的比較,引伸出人們對書以及圍繞書的一生的反思:兩者之間有諸多分別,但是把人與人的交流算在內的話最大的分別就是買書的體驗,所以以此為題的作品也就很自然地把背景設在書店裡面了。

咖啡店也有類似的情況。當然今時今日高級咖啡廳裡由專職的咖啡師(barista)包辦選擇到烘焙到沖調咖啡仍是理所當然,但是越來越多餐廳已經捨棄這個傳統擁抱低成本高效的即棄膠囊,同時各種連鎖咖啡店則機械式地用普通咖啡豆沖出一杯又一杯空有名牌標籤而缺乏靈魂的飲料。一個問題值得我們反思--我們所購買的,到底是飲料還是咖啡因?我們所其望的,到底是杯上星O克的小人,還是店員早上一句溫暖的問候?諸如此類的問題也催生出了咖啡館甚至是深夜食堂之流的作品。

說了那麼多,我買這本的原因其實和題材幾乎無關:當時我趕著訂下2016我所打算看的書,無意中發現這本由我所喜愛畫師之一所繪的小說而順手放進購物籃而已。但畢竟也是我買下來並帶到異國的書本不看也說不過去,一看之下腦海中無數思潮閃過,於是就有了這篇短文。

何謂當舖?當舖就是以實物為抵押的借貸業。當舖無論在東西方都不是甚麼新奇的玩意,在中國更可以追溯到宋代甚至更早。但在金融與資訊極為發達的今天借貸的成本大為降低,借貸不再依賴抵押之下變成了純粹的金錢交易下整合進銀行的業務之一,當舖的生存空間自然買少見少,成為了老一輩的回憶。我自己沒有當舖相關的經驗,對它們的印象也僅限於路過騎樓底下看見當舖的那道大閘,以及上面那個百無聊賴的掌櫃而已。但是說到當舖相關的文學的話那就必然是前幾年的當紅炸子雞:秦嗣林的三本29張當票。一個真正的大師用老練的文筆用一張張的當票.一件件的典物道盡人生百味--大書局裡它應可歸到文學一欄裡面,在一個萬年不變的文學書櫃裡找一個幾年前出版、現在還在重刷的系列應該不會太難,各位讀者有機會請務必拿起來讀一兩個小故事,必定會對我上面的評語有所共鳴。

相較之下,時光當舖讀到一半時我對這本書的取題是有點不以為然的:明明是當舖卻欠了典當這個行為,只剩下一件件斷當的物品--用英文的說法就是過去完成式--那我要當舖又有何用?為何不是古董舖或者雜貨舖?時光當舖也並不接受時間典當(不然這就和吉田萬理子的回憶當舖重疊了……不過這本也是好書,值得一看),這樣時光當舖裡面四個字不就有三個字和內容對不上了嘛!

嘛,我得承認以上的評論可能過於挑剔了。一是作者本人比我還年輕,要期望他寫出圍繞傳統意義上的當舖的故事也是強人所難;二是我抱著滿頭問號把剩下的一半看完,時光的當舖剛好以另一種出乎意料的形式呈現:整本小說由兩條故事線穿插而成,兩邊的主角因為一些事情上的認知錯誤錯過了本可以更好的人生。用另一個方式去看待這件事的話正好就是將真實的自己當掉、以時光為利息--當舖的主人正是冷酷無情的時間。

人們對一件舊物件的感情會隨時間而變化,對事情的認知也一樣,或淡去、或固化--不幸地它們有些因為某些原因出現缺口或是變得扭曲,我們卻不得不帶著它們渡過餘生。有些人選擇將它們當掉換取一隻救生船,在有如1912年大西洋般的時間洪流裡不知飄向何處;有些人選擇勇敢地面對真實的自己,追求著屬於自己的幸福。先不提這個行為需要多大的勇氣,「追逐著自身幸福的姿態本身就是幸福的模樣」,又有幾多人注意到呢?

回到一些比較日常的觀點。這種小說裡面解謎算是不可或缺的劇情,但因為委託的性質關係提示滿充足的,要猜到高潮以外大部分進展不會很難。不過比起解謎的部分我覺得提示的部分可以進步的空間比較多:用了太多巧合就會變得牽強,而且在故事橫跨兩三代時間的背景下利用科技作弊的程度必須更為小心地參酌。將過時的資訊數位化是一件非常奢侈的時情,越瑣碎的資訊越是如此--這是我這麼多年來在地球村(Geocities)和其他舊網站「淘寶」時所得的重要教訓。

要我來評分的話這本小說絕對可以得到合格以上的分數,也大概足夠讓我拿起續作繼續看下去。很多有趣的巧妙設定,但是我一開始所期待的東西一樣也沒有中:時光當舖以另一種出乎意料的方式被解讀;圍繞當舖的舖陳也幾乎沒有(某靈出場時我還以為我在看科幻小說而不是輕微靈異的小說)。在缺少一堆核心設定的情況下第一本可以過關,但是這終究是續作中繞不開的難題。雖然這是一個不折不扣的缺點,在我的期待下反而變成了我看下一部的誘因……所以希望各位讀者看過這篇書評後能對這本小說產生一個比較合理的期待,然後找個下午茶的時間沖一壼Mariage Frères的Marco Polo或者Harvey & Sons的Paris(恕我品茶知識實在有限,找不出層次和小說相配的茶品……但是用這兩種茶來描述我閱讀時的情緒的話已經足夠貼切了),好好享受作者把故事妮妮道來吧!