Sign in

mug

@mug.mstdn.maud.io.ap.brid.gy
9 followers 3 following 36 posts

競プロやGeoGuessr、たまにCTFをしていた陶磁器 🌉 bridged from ⁂ mstdn.maud.io/@mug, follow @ap.brid.gy to interact

PostsRepliesMedia
mug @mug.mstdn.maud.io.ap.brid.gy · 02/08/2026
ここがvket会場ですか
club˸hotafoxで自撮りする著者
010
Reposted by mug
のえる @noellabo.fedibird.com.ap.brid.gy · 07/07/2026
mastodon.cloudが8月10日にサービスを終了するとアナウンスしています。 フランスのMastodon古くからあるサーバで、ざっくりいうと、最初の管理者が管理しきれなくなったあと、協力者がヘルプに入り、きぼうソフトが引き継ぎ、DSNOになり、Sujitechが継承したサーバで、登録ユーザーが多く(27万8千)運営期間が長い分だけデータベースは大きいが、アクティブは少なくなっており(MAU 1600程度)、EU基準ということで運営が難しかった面はあると思います。 メンテナンスを引き継いでくれるヨーロッパのパートナーを探していますので、まぁ可能性は低いと思いますが、過去何度か […]
fedibird.com
Original post on fedibird.com
01050
Reposted by mug
てすん†G.NOH☮️ @nu-seat.misskey.design.ap.brid.gy · 10/05/2026
TimeMachine(バックアップ)用の外付けHDDは「FG204」だったりする
101
Reposted by mug
ふぇいと:blobcatphotobomb::ceres_blue192: @stfate.stfate.site.ap.brid.gy · 10/05/2026
ぼくは北欧神話の固有名詞からとっています gungnirとかodinみたいな使われがちなのは外して
111
Reposted by mug
今谷里奈 @mohemohe.mstdn.plusminus.io.ap.brid.gy · 05/04/2026
001
mug @mug.mstdn.maud.io.ap.brid.gy · 28/02/2026
Some services are down Last updated on Feb 28 at 10:33am JST status.akane.blue
status.akane.blue
akane-blue status
Welcome to akane-blue status page for real-time and historical data on system performance.
000
mug @mug.mstdn.maud.io.ap.brid.gy · 01/01/2026
本年も、どうぞよろしくお願いいたします。
「年賀状に2026年の干支のアスキーアートを載せたいです。描いてみてくれますか」というプロンプトに対し、ChatGPT 5.2 が考える馬のアスキーアートを出力している。
150
mug @mug.mstdn.maud.io.ap.brid.gy · 31/12/2025
あけましておめでとうございます!!
020
mug @mug.mstdn.maud.io.ap.brid.gy · 30/12/2025
ハッピーニューイヤー!イヤッッホォォオゥ!! ┏━━┓┏━━┓┏┓┏━━┓ ┃┏┓┃┗━┓┃┃┃┗━┓┃ ┃┗┛┃┏━┛┃┃┃┏━┛┃ ┃┏┓┃┗━┓┃┃┃┗━┓┃ ┃┗┛┃┏━┛┃┃┃┏━┛┃ ┗━━┛┗━━┛┗┛┗━━┛ #shindanmaker shindanmaker.com/854593
010
mug @mug.mstdn.maud.io.ap.brid.gy · 26/12/2025
野沢菜の罠、のざワナ
030
mug @mug.mstdn.maud.io.ap.brid.gy · 13/12/2025
mstdn.maud.io Advent Calendar 2025 13日目の記事です!GeoGuessr で出た場所を実際に巡る話を書きました。 shmug.hatenablog.com/entry/2025/12/…
shmug.hatenablog.com
GeoGuessr に出た場所、ぜんぶ行く
mstdn.maud.io Advent Calendar 2025 13 日目の記事です。昨日の記事は @Coro さんの 好きな動画チャンネル 2025 - blog.coro3.net でした。明日の記事は @zgock999 さんの「たまにはなんか書くか」です。 * * * どうも @mug です。伊豆大島の山奥から失礼します。 AI 生成画像ではありません。念のため。 うーん、素敵な場所ですね!**観光地には見えないくらい** 、ごく普通の山道です。 実際、ここに観光案内板があるわけでもありません。後ろを向いたからといって、絶景が広がっているわけでもありません。 ですが、ここには「ある用事」があって、この場所の写真を撮りにきました。ということで、最近の私の**趣味** を紹介します。 ### 趣味:リアルACW訪問 GeoGuessr というゲームがあります。世界中のストリートビュー画像がランダムに出てきて、その場所を地図上で当てるゲームです。 ちょっとマニアックな話になりますが、GeoGuessr には "World" という名前の公式世界マップがあります。しかし、この World は出題に謎の偏りがあったりして、なんとも「癖の強い」マップでした(※自分がよく遊んでいた 2022 年の話です。今はどうか知りません)。 > 第0回GeoGuessrガチ勢オフ会 > こちらで開催します。 > 希望者は現地集合でお願いします https://t.co/avPcRzr7dJ pic.twitter.com/iBSVyroPKc > > — Daig_O ʅ(・Θ・)ʃ (@Daig_O) 2024年4月30日 マジで、このミッドウェー島南西端ばっかり出ました そこで、World に代わる、出題バランスとゲーム性の担保されたマップを作る動きが有志から出てきます。その中で生まれたのが **ACW (A Community World)** マップです。ACW は人気も高く、一時期は公式の Duels 機能に逆輸入されていたほどです。他と比べても難易度が低めで、遊んでいて楽しいマップです。 ACW マップには世界中から **111,310 地点** が収録されていて(2025年12月現在)、有志が手作業で選んだそうです。すごい。出題地点には、住宅街や農村地帯もあれば、冒頭のような山道、まれに観光スポットも混ざっています。 私はそんな ACW マップが大好きです。なので、**ACW で見た場所を、ぜんぶ訪れようと思います**。というわけで、リアルでACWの出題地点を訪問する、**「リアルACW訪問」**が最近の私の趣味です。 ちなみに、「リアルACW訪問」は自分だけの趣味ではなく、何人か先駆者がいます。 X (旧 Twitter) で #リアルACW訪問 で検索すると、世界のあちこちの写真が出てくるので、あとで眺めてみてください。 さて、冒頭の伊豆大島をゲームのスクリーンショットと比べてみると、こんな感じです。 左:mug撮影、右:出題時のスクリーンショット どうでしょう?脇のガードレールの色や、木の生え方、道の曲がり方を比べてみると、たしかに間違いなく同じ地点です。 実際にゲームと同じ景色が目の前に現れると、なんだかパズルのピースがぴったり合ったような、不思議な**感動** があります。ストリートビューって現実の道を撮影しているんだから、この場所が存在するのは当たり前なんですけどね。どうでしょう、この感動、伝わりますか……? というわけで、~~読者から共感を得られたかに不安を覚えつつ、~~ 今年「リアルACW訪問」した中で印象的だった場所をいくつか紹介していきます。 ### 青森 まずは青森市の住宅街から。Y字路の奥の赤いビルが目立つ、すてきな路地です。 ここを「リアルACW訪問」した時の写真がこちらです。ちゃんと、奥の赤いビルも、左右の建物もそのままあります。うれしいですね……!一方で、道脇や屋根の上に雪が積もっている点が、ストリートビューと違って印象的です。 ちなみに、青森市を訪れた日は、積雪深が113cmでした。訪れた時期にしては、平年の2倍くらい積もっていたようです。ここに来るまでにも、いくつか雪道を通ってきました。 駅前の放置自転車が完全に雪に埋もれており、雪中熟成のニンジンみたいになっていて味わい深かったです。 ついでに、ずっと行ってみたかった三内丸山遺跡にも寄ったのですが、 遺跡って冬に行くと、ただの雪原なんですね……。 Coffee break #1 ☕ ストリートビューの撮影時期 基本的に、ストリートビューは積雪のない時期に撮影されがちです。青森市内のストリートビューも例に漏れず、全て積雪のない時期(5月〜11月)に撮影されています。 ### 利尻島 北海道・利尻島にも ACW マップの出題地点があります。利尻町からオフロードの道を 2km ほど、標高差 60mくらい登ったところの丁字路です。 利尻島の ACW 出題地点 まわりは背の高い草木に囲まれていて、街灯もないような場所です。オフロードの道中も、人とは全くすれ違いませんでした。この丁字路目当てに観光に来る人は自分以外いないだろうと思うと、妙な優越感があります。 こういう謎地点を「リアルACW訪問」するとき、自転車やバイクは小回りが利いて便利です。ここを見に来るためだけに、利尻空港でマウンテンバイクを借りました。ルートの都合上、島一周 60km を走る羽目になったのですが、さすがにパソコンカタカタオタクには苦しかったです。 ちなみに、道中で昆布直売所の奥様から聞いた話ですが、利尻島は**島の風上が雨、風下が晴れ** というふうに天気が全然違うことがあるそうです。この日の風向は南で、島の南側は霧の強風でした。あまりにも向かい風がキツかったので後から調べたんですが、この日の最大風速は 18m/s だったそうです。そりゃあキツい。 島の南東、白い恋人のパッケージに描かれた丘。白すぎて何も見えず ACW の出題地点は島のちょうど真西で、晴れと曇りの境目くらいかなと思って行ったのですが、上の写真の通りこちらは曇りでした。残念に思いつつも、山の方角を見てみると、すーっと晴れ間が広がって、きれいに利尻富士が見えました。徳は積んでおくものですね。 ### 盛岡 盛岡市の ACW 出題地点は、イオンモール裏の住宅街にあります。家が並んで、電柱、歩道や車道もある、生活感あふれる道です。 この辺りには友人と一緒に来ていたのですが、「ちょっとここで待ってて」と言って、ゲームのスクリーンショットとなるべく同じ画角になるように、電柱の位置や奥のマンションの形を微調整しながら、数歩前に出てみたり、半歩下がってみたり、スマホを傾けてみたりして写真を撮っていました。 撮り終わって振り向いたら、「なにしてんだこいつ……」という顔をされていました。 夜は夜で雰囲気があっていいですね。ストリートビューは基本的に昼間に撮られるので、同じ場所の「夜の街並み」を見られるのは、現地訪問ならではの特権だなと思いました。 Coffee break #2 ☕ ストリートビューの画角 日本のストリートビューは、地上高 205cm から 360 度カメラで撮影されています。そのため、手持ちのスマホなどで画角を完全に合わせるのはかなり困難です。 写真を撮るコツですが、実際より少し後ろからズーム気味で撮ると、雰囲気が近くなっておすすめです。広角モードで撮ると、手前の建物にパースが強く効きすぎてしまいます。 ### 与那国 与那国島は日本最西端の島です。そんな与那国島には(おそらく)日本最西端の ACW マップ出題地点があります。与那国島らしい低い起伏と自然を一面に見渡せる、たいへん眺めの良いスポットです。 与那国島の ACW 出題地点 リアルACW訪問をしていると、出題者の意図を感じることがあります。GeoGuessrで出題されたのと同じ場所・アングルで写真を撮ると、ちゃんと「いい写真」に見えてくるんですよね。 ここは立体交差の高架をくぐったすぐ先が撮影地点でした。現地に行った時は、炎天下、汗を流しながら自転車で草木の間を走り抜けて、それはそれで旅の醍醐味なのですが、高架を抜けたこの場所で、一気に青空と与那国島の景色がバーッと広がって、本当に爽やかで美しい景色に見えました。 「たしかに、この島を一枚で切り取るならここかな」という気さえしてきて、この ACW というマップは、出題者が一つ一つ、見せたい景色を苦心して選んだマップなのかなと想像がふくらみます。いや、伊豆大島の山道を考えると、さすがにそれはないか……。 ところで、与那国島には、日本在来種のヨナグニウマという馬がいます。島の何か所かにヨナグニウマの牧場があり、そこで放牧されています。島の面積に対して牧場はかなり広く、牧場の中を道路が突っ切っていたりするので、道路から馬を観察することができます。 ACW 出題地点に向かうには、南牧場の中を通るルートが最短だったのですが、突然現れた馬の集団に道をふさがれて、経路変更を余儀なくされるなどのハプニングもありました。 ### ロンドン・ウェストミンスター ACW は "A Community **World** " の略なので、当然海外にも出題地点があります。なので、出題地点をぜんぶ訪れるには、海外に行く必要もありますね。 最後に、イギリス・ロンドンからの出題地点を紹介します。 ここはウェストミンスターにある、大使館が並ぶ通りの交差点です。ロンドンらしいレンガ造りの町並みに、窓が特徴的な奥の建物、手前右の "36 Buckingham Gate" の文字がチャーミングな場所です。 というわけで、飛行機に乗って…… 日本からはるばる、同じ交差点まで来ました。奥のビルも、"36 Buckingham Gate" の文字もそのままありますね!! さすがに、奥の建物が見えてきた時にはちょっと感動しました。ここはバッキンガム宮殿に近いのもあって、かなり観光客の多い場所でした。 ここで「ゲームで出題された場所だ!」と喜んで写真を撮っていたら、通りがかった観光客の人たちも「ここがフォトスポットなのか?」という顔で同じ方向を撮りはじめて、ちょっと申し訳なくなりました。 Coffee break #3 ☕ 日本の ACW 出題地点数 ACW マップの出題地点は世界中にありますが、日本には全部で 2628 か所あるそうです。1 つの自治体あたり平均 1.5 か所ある計算になるので、あなたの街にも出題地点があるかもしれませんね。 ### おわりに こんな感じで、GeoGuessr の A Community World で出題された地点を訪れる「リアルACW訪問」をやっています。どれも観光ガイドに載るような場所ではありませんが、ゲームの中で一度見た風景に実際に立てたときの達成感は計り知れません。その土地土地の気候や人の気配を肌で感じて、同じ地点からまた新しい印象を受ける喜びもあります。 記事には書ききれなかった地点もいっぱいあり、これまで鹿児島、石垣島、アイラ島など、合計 24 地点を訪れてきましたが、 あと 111,286 地点を巡る必要があるようです。ではまた。 * * * ※本文中のゲーム画面の画像は、GeoGuessr のプレイ画面(Google ストリートビュー画像)を引用したものです。 Map data © Google
042
mug @mug.mstdn.maud.io.ap.brid.gy · 10/12/2025
ストリートビューのペグマンが東京だけ違う理由、これです jetstream.blog/2025/07/19/google-ma…
jetstream.blog
Google マップ「BLACKPINK(BLINK)」ペグマン限定登場
「Google マップ」においてストリートビュー(Google ストリートビュー)を表示する際に使用する「ペグマン」が、2025 年 7 月中旬に限定的に女の子アイコンに変更。韓国の 4 人組ガールズグループ「BLACKPINK」とのコラボレーションの一つ。日本では東京 23 区内でのみ「BLACKPINK」仕様の「ペグマン」に変更。
000
mug @mug.mstdn.maud.io.ap.brid.gy · 04/12/2025
ブログ記事を書きました🎄 「GeoGuessr におけるヘッジ、どこに打つのが最適なのか?」を真面目に計算しました。その海ヘッジ、実は損しているかもしれません shmug.hatenablog.com/entry/2025/12/…
shmug.hatenablog.com
GeoGuessrのヘッジ、どこにピンを刺せばいいのか問題
この記事は 2025 TSG Advent Calendar 4日目の記事です。昨日の記事は、ゆみやさんの 自分がセルフホストしているソフトウェア環境まとめ【2025年12月版】 - Project Fx 2.0 でした。 * * * 突然ですが、ここはどこでしょう? GeoGuessrをやっていると、こういう景色で「**ギリシャ** か**イタリア** か、**スペイン** もあるな……」「とりあえず真ん中あたりの海に刺しておくか~」と悩むシチュエーション、ありますよね❓え、ない? * 2地点のどちらかで迷っているとき * 同じ国の中で、3〜4地点くらい候補があるとき * 「マレーシアのどこか」「インドネシアのどこか」のように、ざっくりしか分からないとき など、悩ましい局面はいろいろありますが、最後はどこか1か所にピンを置くしかありません。こうした場面で有効な戦略が、どこが正解でも平均的に高い点数を取れるような位置にピンを置く**「ヘッジ (hedge)」** です。 この記事では、 > **「GeoGuessrでヘッジするとき、結局どこにピンを置けば一番トクなのか?」** を、シチュエーションごとに解き明かしていきます。 注:この記事において「トク」というのは、スコアの期待値が最大になる、という意味です。点数の分散は考慮しません。また、Duelsなどの対戦モードにおける最適戦略とは厳密には異なります。 ちなみに最初の画像の場所は、**AI生成なので存在しません** (カス) generated by Nano Banana Pro ### TL;DR 先に結論だけ雑に書いておくと: ##### 候補が**2択だけ** のとき 真ん中に置かない方がいい。**「より正解っぽいと思う方に全振り」** が点数期待値最大 ##### 候補が**近い距離で3択以上** あるとき(小さい国の複数都市など) 候補の**真ん中寄り** に置いた方が得になる場合がある ##### 候補が**広い範囲の何か所か** に離れて分布するとき 遠くに外すとどうせ点数はほぼゼロになるので、**一番ありそうな国・クラスターに寄せて刺す**のが得 ##### **海を挟んだ複数の地域が候補になっているとき** 地点分布や距離によって、「どちらかの陸に寄せるのが得」「海にヘッジするのが得」が変わる。 実際の最適地点は **期待値計算ツール** で調べてみよう ### GeoGuessrの点数はどう決まっている? GeoGuessrの点数は、正解地点からの距離に応じて指数関数的に減っていきます。 > 正解から \\( d \\) キロメートル離れると、点数は \\( S(d) = 5000 e^{-K d} \\) * \\( d = 0 \\) だと(正解地点に置けると)5000 点 * 距離が離れるごとに、一定の割合でスコアが減っていく * \\( K \\) は点数のシビアさを決める係数。マップごとに違うが、ACWだと大体 \\( K=0.00054 \\)くらい ACWの距離と点数の相関 ### 2択のヘッジで真ん中に置くのは、損 #### 直感的には真ん中に置きたいかもしれないが…… たとえば、(そんな状況があるかはさておき)「うーんこれ、**ギリシャのあそこ**か、**イタリアのあそこ** の2択に見えるな……」という状況があったとします。 ここで 🤔「じゃあ間を取ってアドリア海あたりにピンを刺しておこう!どっちに転んでも平均的にはいいスコアでしょ!」という、真ん中ヘッジをすると、**期待値的にはこれは常に損** です。 #### ざっくり数値を見てみる 以下は概算の例ですが、雰囲気は掴めます。ギリシャ→中間地点→イタリアで、スコアが3割ずつ減っていくとすると、 ピンを置く位置 | 正解がギリシャ | 正解がイタリア | 期待値(確率50%ずつ) ---|---|---|--- ギリシャ | 5000点 | 2450点 | **3725点** 中間 | 3500点 | 3500点 | 3500点 イタリア | 2450点 | 5000点 | **3725点** 真ん中に置くと「当たったときの最大点(5000点)」を自分で削りにいってしまう一方、外れたときに救える点は指数関数の性質上ほとんど増えません。したがって期待値的には、**どちらかに全振りした方が得** です。 アテネとヴェローナで2択な場合の得点期待値 正解地点近くの点数の減衰が大きいので、なんとなく納得はできると思います。極端な例(日本とスイスの二択)で考えたりしてみると、直感が生えやすいかもしれません。 #### 結論:2択ならどちらかに寄せるのが期待値最大 候補が2地点だけなら: > **「自分がより当たりそうだと思う方」にピンを置くのが、常に期待値最大** (中間には置かない) 「51% vs 49%でこっちかな?」くらいでも、 **真ん中より、51% 側に全振りした方がスコア期待値としては得** です。 ### 3択以上のヘッジだと、どこが最適かは場合による さて、ここからが本題です。候補が**3か所以上** あっても、常にいずれかの候補地点が最適なヘッジ地点になるでしょうか? ……答えは **No** です。では具体例を見てみましょう。 #### 3点が互いに近い場合、「真ん中」に置くのが最適 たとえば、東京、名古屋、新潟の3か所を同じくらいの確率で悩んでいたとします。 このように、候補の3点が互いに近い距離の場合、ある1点にクリック地点を寄せようとすると、他の2点が正解だった場合の減点の影響のほうが大きくなります。 東京、新潟、名古屋の3点で迷った場合の得点期待値。長瀞あたりに刺すのが最適 ということで、こういうケースでは、 > いずれかの候補の上にピンを置くより、**候補の真ん中らへんに置いた方が得** になったりします。詳しくは「それぞれの候補からの距離の平均が最も小さくなる場所」が最適ヘッジ地点の近似としてよいです。そのあたりの理由は最後の付録で解説します。 ざっくり感覚としては、ACWの場合は直径600kmくらいの範囲に候補が固まっていれば、その中の真ん中寄りに置いた方が得です。 それぞれの候補が複数地点のクラスタになった場合も同様です。このケースでは**真ん中をねらって打つのが強い** です。 東京都、新潟県、愛知県で迷った場合の得点期待値、最適な地点 #### 候補が世界に散らばっているときは、どれかに寄せて打つ 一方で、これが**1000kmを越えるスケール** になってくると話が変わります。たとえば、バンコク、ダッカ、コロンボの3か所で迷っているとします。 それぞれ互いに**めちゃくちゃ離れている** (約1500~2000km)ので、 * どこか 1 つの真上に置いて当たったとき:5000 点 * それ以外の 2 つが当たりだったとき:千km 単位で外す → どうせ数百点しかもらえない という構造になります。 このとき、「3国の真ん中」あたりに刺しても、当たりに対しても外れに対しても数千km 外すので、結局どれに対しても大きく外してしまい、**平均すると「どれか1国に振り切って当たるのを祈った方がマシ」** です。 バンコク、ダッカ、コロンボで迷った場合の得点期待値、最適な地点 ここで効いてくるのが、最初に説明したスコア計算式 \\( S(d) = 5000 e^{-K d} \\) です。 外した距離 \\( d \\) が数千km単位になってくるとほぼ 0 点扱いになるため、「遠い候補は無視してOK」という雰囲気がより強くなります。 なので、世界マップのような広いスケールでは、こういう結論になります。 > 離れた複数か所の候補で迷っている場合は、**「どのクラスターを信じて刺すか」が大事** それぞれの候補が複数地点のクラスタになった場合も同様です。このケースでは**どれか一つのクラスタを選んで打つのが強い**です。ただこの例は候補の配置がやや悪いので、バングラデシュ一択ですが……。 タイ、バングラデシュ、スリランカで迷った場合の得点期待値、最適な地点 ### 実践的なケースを見てみよう:その海ヘッジ、実は損? ここまでの話はかなり手計算っぽいノリで、簡単な状況だけを考えてきました。最後に、もっと実践的なケースで、どこに刺すと期待スコアが最大になるか?をすこし計算してみましょう。 今回の記事のために、**「地点一覧を読み込んで、どこに刺すと期待スコアが最大になるか?」** を計算するツールを作ってみました。突貫工事なのでシンプルです。 github.com 実際にここから試せます。 mug.sh 機能はこれだけです。 * GeoGuessrのカスタムマップJSON(地点一覧)を読み込む * 得点期待値が一番大きい地点を探す * ついでにヒートマップを描画する では、このツールを使って、陸地と陸地の間にヘッジする、いわゆる**「海ヘッジ」** の是非を解析してみます。 対象は**マレーシア** と**インドネシア** とし、地点分布のデータには、いくつかのマップの出題地点を混ぜて使います。 #### 海ヘッジ 1:マレーシア編 — 半島側に置くべし。海ヘッジは損 マレーシアはざっくり、大陸側の**半島マレーシア** とボルネオ島の**東マレーシア** の 2 つの地域に分かれています。この2つのエリアで迷って、マレー沖にピンをヘッジしたことがある人もいるのではないでしょうか? しかし、得点の期待値を計算してみると、 > 「ボルネオか本土かで迷って海にヘッジする」より、**バッサリ半島側に寄せて、その真ん中に刺した方が得** という結果になります。 マレーシアのヘッジ得点期待値。半島上の青い点が期待値最大 というのも、マレーシアの出題地点は、**本土側に地点が偏っており、ボルネオ側は少なめ** という構成のマップが多いです。その結果、 * 「半島マレーシア」の真ん中付近に置いたときの期待値が最大 * 「半島とボルネオの間の海あたり」に刺した場合: * 半島が当たりなら、それなりの距離を外してしまう * ボルネオが当たりならちょっとおいしいが、そもそもボルネオ地点の数が少ない * → トータルの期待値としては**半島側の真ん中に負ける** ボルネオ側にロマンを感じて海ヘッジしたくなりますが、**期待値的には半島全振りが合理的** です。 #### 海ヘッジ 2:インドネシア編 — 海ヘッジが強い 一方、インドネシアは事情がだいぶ違います。 多くの島を持つ国土ですが、**スマトラ** 、**ジャワ** 、**カリマンタン** 、**スラウェシ** など、GeoGuessrの地点も**島ごとにかなり分散して** 配置されているマップが多いです。 この場合、 > **「真ん中」あたりのジャワ海** に置くと、どの島が当たっても「そこそこ中距離の外し」にできる という状況になります。 実際に、インドネシアの地点リストで期待値ヒートマップを描くと、**ジャワ海あたり** に「期待値的に一番おいしいゾーン」が出てきます。要するに、インドネシアでは**海ヘッジがちゃんと合理的な戦略になりえます** 。 インドネシアのヘッジ得点期待値。ジャワ海上の青い点が期待値最大 マレーシアと見比べると、 > * マレーシア:本土に地点が偏っている → ボルネオ/海に寄せるのは損 > * インドネシア:島ごとに地点が分散 → 海ヘッジがむしろ最適寄り > という、同じ「海を挟んだ国」でもかなり違う性質が見えてきます。 ### まとめ:実戦でどう使うか ここまでの話をまとめると: * GeoGuessr のスコアは距離に応じて指数関数的に減る * **2択** ヘッジでは「中間」は常に損で、**確率が高い方に全振りが正解** * **3択以上** で、 * **近い範囲** に固まっているなら、**真ん中寄りが勝つ** こともある * 候補が**世界に散らばっている** ときは、**「一番ありそうなクラスターに寄せる」方が得** * 海ヘッジについては: * 地点が一方の地域に偏っているマップ(**マレーシア** など)では**海ヘッジは損** * 地点が島ごとに分散しているマップ(**インドネシア** など)では**海ヘッジが有力** あとは、自分のプレイスタイルに合わせて、 * 期待値最優先で攻めに行くか * あえてロマン込でちょっと損なヘッジを楽しむか を選ぶのが良いかなと思います。 ### 付録:得点期待値最大化のもう少しちゃんとした計算 ここからは少しだけ数式多めで、お気持ちの議論をします。 #### モデルのおさらい * 距離空間 \\( (M,d) \\) を考える。 * 正解の位置 \\( X \\) は候補点 \\( x_1,\dots,x_n\in M \\) のいずれかで、 \\( \mathbb{P}(X=x_i)=p_i \\)、ここで\\( \sum p_i=1 \\)。 * ピンを置いた位置を \\( g\in M \\) とする。 * 距離 \\( d(g,x) \\) に対して、得点を \\( S(g,x) = 5000 e^{-K d(g,x)},\quad K>0 \\) で定める。 このとき得点の期待値は $$ \mathbb{E}[S(g,X)] = 5000 \sum_{i=1}^n p_i e^{-K d(g,x_i)}. $$ > 「期待値最大化問題」は > > $$ \max_{g\in M}; F(g),\quad F(g):=\sum_{i=1}^n p_i e^{-K d(g,x_i)} $$ > > を解くことになる。 #### 候補が2択だけのとき:端点が必ず最適 候補が A,B の2択のみで、それぞれの確率を \\( p \\) と \\( 1-p \\) とする。 * A,B 間の最短経路を弧長パラメータ \\( t\in[0,D] \\) で書いて \\( \gamma(0)=A,\ \gamma(D)=B \\) * クリック位置 \\( g=\gamma(t) \\) に対して $$ d(g,A)=t,\quad d(g,B)=D-t $$ すると、得点期待値(以下、5000 は定数なので省く)は $$ f(t) = p e^{-Kt} + (1-p) e^{-K(D-t)}. $$ これを \\( d \\) に関する1変数関数として見る。 ##### 凸性の計算 $$ \begin{aligned} f'(t) &= -Kp e^{-Kt} + K(1-p) e^{-K(D-t)},\\\ f''(t) &= K^2\left(p e^{-Kt} + (1-p) e^{-K(D-t)}\right) > 0. \end{aligned} $$ したがって \\( f \\) は区間 \\( [0,D] \\) 上で**厳密に凸** 。 凸関数の性質として、区間上の凸関数の最大値は端点でとる。よって、 > **命題 1(2択ヘッジ)** 2点 A,B のみが候補のとき、 期待スコアを最大にする点は必ず A か B のどちらかであり、 A–B の「中間」に置くのが最適になることはない。 どちらの端点が良いかを比べるには、 $$ f(0)=p+(1-p)e^{-KD},\quad f(D)=pe^{-KD}+(1-p) $$ を比較すればよい。差は $$ f(0)-f(D) = (2p-1)(1-e^{-KD}). $$ * \\( D>0\Rightarrow 1-e^{-KD}>0 \\) * よって \\( p>1/2 \\) なら A が最適、\\( p<1/2 \\) なら B が最適、\\( p=1/2 \\) ならどちらでも同じ。 #### 3点以上で、かつ「互いに近い」場合:geometric medianに近づく 今度は候補が \\( n\ge 3 \\) 点、全部近くに固まっている状況を考える。 簡単のため * 空間は \\( \mathbb{R}^2 \\)(ユークリッド平面) * 確率は等しい \\( p_i=1/n \\) * 全ての候補が半径 \\( R \\) 程度の円盤内にあり、\\( KR\ll 1 \\)(距離スケールが小さい) とする。 ##### 指数関数を一次まで展開する 距離 \\( d(g,x_i) \\) が十分に小さいときは $$ e^{-K d(g,x_i)} = 1 - K d(g,x_i) + O( (Kd)^2) $$ とテイラー展開できる。これを期待値に代入すると、 $$ \begin{aligned} \mathbb{E}[S(g,X)] &\approx \frac{5000}{n}\sum_{i=1}^n (1 - K d(g,x_i))\\\ &= 5000\left( 1 - K\cdot\frac{1}{n}\sum_{i=1}^n d(g,x_i) \right) + O(K^2R^2). \end{aligned} $$ 定数項と係数は最適化には関係ないので、一次近似レベルでは > **期待スコア最大化** \\( \Leftrightarrow \\) **平均距離** > > $$ \Phi(g) := \frac{1}{n}\sum_{i=1}^n d(g,x_i) $$ > > を最小化する問題 したがって、GeoGuessr のスコアは指数関数だが、候補点が比較的近い範囲にある場合、指数を一次近似すると **“距離の和を最小化する点” (geometric median)** が最適ヘッジ地点の近似になる。 ##### 3点の場合とフェルマー点 特に \\( n=3 \\) のとき、三角形 \\( \triangle x_1x_2x_3 \\) の * 全ての角が \\( 120^\circ \\) 未満:各頂点からの距離和 \\( \sum|g-x_i| \\) を最小化する、三角形内部の一点(**フェルマー点**)が存在する * どこかの角が \\( 120^\circ \\) 以上:その鈍角頂点が各頂点からの距離和最小 になることが知られている。 小距離・小 \\( K \\) の近似のもとでは、 * 前者のケースでは → 期待値最大の点は 3 頂点の真上ではなく三角形内部(フェルマー点付近) * 後者のケースでは → 期待値最大の点は鈍角頂点の真上 になる、という対応になる。 #### 付録まとめ * 2択ヘッジ * → 凸性から「必ず端点が最適」 * 3点以上・近距離 * → 線形近似で「距離の和の最小化」に帰着 * → geometric median(3点ならフェルマー点 or 鈍角頂点) * 3点以上・一般配置 * → geometric median問題+指数重み付き * → 解析的解法は基本あきらめて数値最適化 本文で出てきた実戦ルールは、このあたりの性質をざっくり噛み砕いたもの、という位置づけになる。
040
Reposted by mug
mitsuki @mitsuki64.fedibird.com.ap.brid.gy · 12/09/2025
> 2) 「艦これ」システムセキュア化(https)移行! ​:baka_question:​ x.com/KanColle_STAFF/status/1966298…
002
mug @mug.mstdn.maud.io.ap.brid.gy · 13/05/2025
好きな難解プログラミング言語、Mines の Web インタプリタを作りました。言語仕様を知らなくても、動作を眺めるだけで楽しいと思います ちなみに盤面の各操作(左・右クリックや、盤面のクリックで開くマスの数字など)が命令に対応しています mug.sh/mines-editor
020
mug @mug.mstdn.maud.io.ap.brid.gy · 26/03/2025
サムネの場所ようやく見つけた maps.app.goo.gl/abeSxFY7TvrygCM77 news.denfaminicogamer.jp/news/25032…
google.com
Street View · Google Maps
Explore a place in a more immersive way in Google Maps.
000
Reposted by mug
ナンさん @nann-new.mstdn.maud.io.ap.brid.gy · 26/03/2025
「Googleストリートビュー」を使った人気ゲーム『GeoGuessr』の「Steam版」が発表。4月に基本プレイ無料でリリース news.denfaminicogamer.jp/news/25032…
news.denfaminicogamer.jp
「Googleストリートビュー」を使った人気ゲーム『GeoGuessr』の「Steam版」が発表、4月に基本プレイ無料でリリース決定。あらゆる情報を手がかかりをもとに、自分がどこにいるのかを推測する地理ゲーム
世界のどこかに落とされ、パノラマ画面から標識、看板、自然環境など、あらゆる手がかりをもとに世界地図のなかで自分の位置を推測する地理ゲーム
001
mug @mug.mstdn.maud.io.ap.brid.gy · 20/03/2025
:infinite-hamburger:
000
Reposted by mug
Az @azaika.bsky.social · 28/02/2025
フロイト博物館に行ったらエゴ風船 (エゴを膨らませられる) があって爆笑してしまった
0111
mug @mug.mstdn.maud.io.ap.brid.gy · 25/02/2025
フーディストビーチ(みんなフードをかぶっている)
030
mug @mug.mstdn.maud.io.ap.brid.gy · 19/01/2025
あーっ、今発注しても春節までに間に合わないのか。それなら設計をもうちょっと練ろう
000
mug @mug.mstdn.maud.io.ap.brid.gy · 19/01/2025
$54.20 まじか、すごいなあ 想像より 0.5~1 個くらい桁が小さい
000
mug @mug.mstdn.maud.io.ap.brid.gy · 19/01/2025
そんなに安いのか!
000
mug @mug.mstdn.maud.io.ap.brid.gy · 19/01/2025
おおなるほど、ありがとうございます~ どこかで切削するつもりで内角に R をつけていましたが、たしかに 3D プリンタで印刷してもらうのもいいかもしれないです
000
mug @mug.mstdn.maud.io.ap.brid.gy · 19/01/2025
ところで、どこに行けばこの形の物体を作れるんですかとなっている
000
mug @mug.mstdn.maud.io.ap.brid.gy · 19/01/2025
ケースらしき物体のデータができた 基板の形を変更したので、前ポストとの互換性はない
010
mug @mug.mstdn.maud.io.ap.brid.gy · 16/01/2025
左手用の基板を作っているつもりが、実はパーツの表裏が逆で、右手用の基板になるなどの心温まるハプニングもあった
000
mug @mug.mstdn.maud.io.ap.brid.gy · 16/01/2025
わからね~~って言いながら基板設計までやった つぎはケース :weary_baby:
110
mug @mug.mstdn.maud.io.ap.brid.gy · 12/01/2025
作っていくぞの気持ち
https://www.keyboard-layout-editor.com/ で作成したレイアウト案
100
mug @mug.mstdn.maud.io.ap.brid.gy · 31/12/2024
あけましておめでとうございます!2025 年もよろしくお願いします!
020
mug @mug.mstdn.maud.io.ap.brid.gy · 31/12/2024
ハッピーニューイヤー!イヤッッホォォオゥ!! ┏━━┓┏━━┓┏━━┓┏━━┓ ┃┏┓┃┃┏━┛┗━┓┃┃┏┓┃ ┃┗┛┃┃┗━┓┏━┛┃┃┗┛┃ ┗━┓┃┗━┓┃┃┏━┛┗━┓┃ ┏━┛┃┏━┛┃┃┗━┓┏━┛┃ ┗━━┛┗━━┛┗━━┛┗━━┛ #shindanmaker shindanmaker.com/854593
000
mug @mug.mstdn.maud.io.ap.brid.gy · 27/12/2024
:erait:
000
mug @mug.mstdn.maud.io.ap.brid.gy · 20/12/2024
東京ドーム換算、大まかに 200m×200m×25m(面積 4万㎡、体積 100万㎥)の気持ちでいるとオーダーを外さない 実際は 4.7万㎡、124万㎥らしい
010
mug @mug.mstdn.maud.io.ap.brid.gy · 14/12/2024
去年のワールドカップはオンラインで見てたんですが、やっぱり現地でしか味わえない熱気というのはありますね!
000
mug @mug.mstdn.maud.io.ap.brid.gy · 14/12/2024
アドカレ記事を書きました!今年の GeoGuessr World Cup を見に行った話です shmug.hatenablog.com/entry/2024/12/…
shmug.hatenablog.com
GeoGuessr World Cup 2024 観戦旅行記
<p>この記事は <a href="https://adventar.org/calendars/10167">mstdn.maud.io Advent Calendar 2024</a> 14 日目の記事です。昨日は localmin さんの <a href="https://localmin.github.io/posts/1733933793946/">にわかskebファン </a> でした。</p> <p>こんにちは、<a href="https://mstdn.maud.io/@mug">sh-mug</a> です。末代鯖三年目になります。私ごとですが、先日 VRChat をやってみたところ、30 分くらいでめちゃくちゃに酔いました。みなさん酔いにどう対処しているのか気になっています。それはそうと、よろしくお願いします~。</p> <h2 id="GeoGuessr-はいいぞ">GeoGuessr はいいぞ</h2> <p>さて、「みんなの『すき』を自由に書き連ねて発信してください」ということで、<strong>GeoGuessr</strong> について書いてみようと思います。12/5 の記事とネタ被ってすみません!!(あと、おつよんさん、ぜひ対戦しましょう!)</p> <p><figure class="figure-image" title="あわせてこちらの記事もお読みください"> <iframe class="embed-card embed-blogcard" frameborder="0" loading="lazy" scrolling="no" src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fotyn0308.hateblo.jp%2Fentry%2F2024%2F12%2F04%2F235711" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" title="GeoGuessrプレイヤーが増えてほしい - Tyrannosaurus rex の生成した駄文の集まり"></iframe> <figcaption>あわせてこちらの記事もお読みください</figcaption></figure></p> <p>GeoGuessr はリリースされた 2013 年から何度か流行の波が来ているので、長年コンピュータのオタクをされている皆様におかれましては、一度は見かけたことのある方も多いのではないでしょうか。</p> <p>そんな息の長い GeoGuessr ですが、攻略情報(いわゆる「メタ」)の発展や、競技シーンの活発化など、数年前には想像もできなかったような進化を遂げており、いま非常に盛り上がっています🔥🔥</p> <p>特に、今年 9 月に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%A6%A5%A7%A1%BC%A5%C7%A5%F3">スウェーデン</a>・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>で開催された <strong>GeoGuessr <a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 2024</strong> はそんな GeoGuessr の盛り上がりを凝縮したような大会でした。世界中の選手が圧倒的な技量をぶつけ合うなか、特に決<a class="keyword" href="https://d.hatena.ne.jp/keyword/%BE%A1%C0%EF">勝戦</a>は試合運びも含め非常に見応えがあり、個人的には過去最高の一戦でした。</p> <p><figure class="figure-image" title="The Greatest GeoGuessr Game Of All time - Grand Finals 24"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/4TQeElIot-4?feature=oembed" title="The Greatest GeoGuessr Game Of All time - Grand Finals 24" width="560"></iframe> <figcaption>The Greatest GeoGuessr Game Of All time - Grand Finals 24</figcaption></figure></p> <p>実はこの大会、私も現地に行って観戦してきました。今回はその旅行の思い出を、写真とともに振り返りたいと思います。</p> <h2 id="旅行記"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%CE%B9%B9%D4%B5%AD">旅行記</a></h2> <h3 id="2024-03-旅行前">2024-03: 旅行前</h3> <p>何気なく <a class="keyword" href="https://d.hatena.ne.jp/keyword/Twitter">Twitter</a>(旧 X)を見ていると、GeoGuessr <a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 2024 の告知が流れてきました。なんと、早くにチケットを購入するとチケットが <strong>4 割引で 40 ユーロも安い</strong>とのこと。なんてお得なんだ! と思い、0.5 秒くらい熟考したあとに購入しました。</p> <p><figure class="figure-image figure-image-fotolife" title="買っちゃったからにはもう...ネ..."><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="804" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213172216.png" title="" width="1192"/></span><figcaption>買っちゃったからにはもう...ネ...</figcaption></figure></p> <p>冷静に考えると、チケットが 40 ユーロ安くなったところで、ヨーロッパと往復するだけで 20 万円近くするんだよな……。</p> <p>ちなみに、一人旅で海外に行くのは初めてです。せっかく高い航空券を買ってヨーロッパに行くならということで、大会のある<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>以外の都市もめぐることにしました。旅行の日程は 9/10 から 9/15 までの 6 日間で、ミラノ → <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%EA%A5%C3%A5%D2">チューリッヒ</a> → <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A5%DA%A5%F3%A5%CF%A1%BC%A5%B2%A5%F3">コペンハーゲン</a> → <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>というルートで旅行してきました。</p> <iframe height="480" src="https://www.google.com/maps/d/u/3/embed?mid=1vtYAqn7PKPYjQVfaEdC6o9pk_gu3zCI&amp;ehbc=2E312F&amp;noprof=1" width="640"></iframe> <p>知人に「ミラノから<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>に行くよ!」という話をしたら、「めっちゃ離れてるけど地図確認した?」と心配されました。はい、私は GeoGuessr プレイヤーなので毎日地図を見ています。</p> <h3 id="2024-09-10-Tue-ミラノイタリア">2024-09-10 (Tue): ミラノ(イタリア)</h3> <p><figure class="figure-image figure-image-fotolife" title="ミラノ中央駅"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="899" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213221520.jpg" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DF%A5%E9%A5%CE%C3%E6%B1%FB%B1%D8">ミラノ中央駅</a></figcaption></figure></p> <p>朝 9 時ごろ、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DF%A5%E9%A5%CE%C3%E6%B1%FB%B1%D8">ミラノ中央駅</a>に到着しました。この写真を撮っていると知らないおじさんが近付いてきたので、白いリンゴの周りをぐるぐる走って逃げていました。こわいね。</p> <p>そうこうしているうちに、Anu さんと合流しました。Anu さんはミラノに住んでいる、仲のいい GeoGuessr プレイヤーです。ミラノとの時差は 8 時間ありますが、日本の生活習慣崩壊オタクと、ミラノの正常なオタクで、ちょうど遊ぶ時間が一緒になるってワケですね。</p> <p>Anu さんには、今日 1 日ミラノを案内してもらえることになっています。やったー!</p> <p><figure class="figure-image figure-image-fotolife" title="Anu さんとエンカ"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="901" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213221447.jpg" title="" width="1200"/></span><figcaption>Anu さんとエンカ</figcaption></figure></p> <p><figure class="figure-image figure-image-fotolife" title="クロワッサンとコーヒー"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="899" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213221452.jpg" title="" width="1200"/></span><figcaption>クロワッサンとコーヒー</figcaption></figure></p> <p>ややお腹が空いていると話すと、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%BF%A1%BC%A5%D0%A5%C3%A5%AF%A5%B9">スターバックス</a>に連れてきてくれました。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%BF%A1%BC%A5%D0%A5%C3%A5%AF%A5%B9">スターバックス</a>と言っても、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%EA%A5%B6%A1%BC%A5%D6">リザーブ</a>ロースタリーというちょっと特別な店舗で、焙煎とか色々違うらしいです。</p> <p>スタバではマグ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AB%A5%C3%A5%D7">カップ</a>を買って、クロワッサンとコーヒーをいただきました。パンは近くの有名なパン屋さんとのコラボだそうです。美味しかったです。</p> <p><figure class="figure-image figure-image-fotolife" title="ドゥオーモ広場"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="898" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213221504.jpg" title="" width="1200"/></span><figcaption>ドゥオーモ広場</figcaption></figure></p> <p>近くのドゥオーモ広場に来ました。ミラノで一番有名な観光地です。ハトが尋常じゃない数たむろしていました。Anu 情報によると、観光客がエサをやるせいで繁殖しているそうです。</p> <p><figure class="figure-image figure-image-fotolife" title="ヴィットーリオ・エマヌエーレ2世のガッレリア"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1200" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213221513.jpg" title="" width="900"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%F4%A5%A3%A5%C3%A5%C8%A1%BC%A5%EA%A5%AA%A1%A6%A5%A8%A5%DE%A5%CC%A5%A8%A1%BC%A5%EC2%C0%A4">ヴィットーリオ・エマヌエーレ2世</a>のガッレリア</figcaption></figure></p> <p>すぐ隣の「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%F4%A5%A3%A5%C3%A5%C8%A1%BC%A5%EA%A5%AA%A1%A6%A5%A8%A5%DE%A5%CC%A5%A8%A1%BC%A5%EC2%C0%A4">ヴィットーリオ・エマヌエーレ2世</a>のガッレリア」に来ました。名前なげえ。ここは高級ブランドの店が並ぶアーケード街です。</p> <p>Anu 情報によれば、クリスマスシーズンになると、アーケードの中心にある巨大クリスマスツリーの入札を巡って有名ブランドが競り合うらしいです。見てみたかったなあ。</p> <p><figure class="figure-image figure-image-fotolife" title="ミラノ盛り合わせ"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1200" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213221516.jpg" title="" width="900"/></span><figcaption>ミラノ盛り合わせ</figcaption></figure></p> <p>歩いているときに見つけた、イタリアのナンバープレート(県コード MI 付き)、ミラノの市外局番 02、イタリアの特徴である黒い標識裏、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C9%A5%E1%A5%A4%A5%F3">ドメイン</a> .it の GeoGuessr メタ盛り合わせです。これすごくないですか??</p> <p>ちなみに、ナンバープレートに県コードを入れるかどうかは任意らしく、ミラノの車(特に自動車)は入れないことが多いそうです。ミラノを含むイタリア北部は比較的裕福なため、ナンバープレートから地域がわかると車を狙われるリスクが高まるらしいです。世知辛い。</p> <p><figure class="figure-image figure-image-fotolife" title="イタリアの横断歩道標識"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="799" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213221456.jpg" title="" width="1200"/></span><figcaption>イタリアの横断歩道標識</figcaption></figure></p> <p>みんな大好き、イタリアの横断歩道標識もありました。イタリアの歩行者マークは手足も丸っこくてかわいいね。</p> <p>そんなこんなで色々巡りつつ、夕食までの時間をつぶすために近代美術館に入りました。Anu さんに解説してもらいながら展示を見て回ったのですが、ここがすごく面白かったので、いくつか印象に残っている作品を紹介します。</p> <p><figure class="figure-image figure-image-fotolife" title="『空間における連続性の唯一の形態』"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1199" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213221508.jpg" title="" width="1200"/></span><figcaption>『空間における連続性の唯一の形態』</figcaption></figure></p> <p>これは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CC%A4%CD%E8%C7%C9">未来派</a>という芸術運動のなかで、1910 年代に作られた彫刻です。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%CC%A4%CD%E8%C7%C9">未来派</a>の作品は、動きや速度感を表現することに特徴があるそうです(違ったらすみません)。勢いがあるね。</p> <p><figure class="figure-image figure-image-fotolife" title="謎"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1199" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213221524.jpg" title="" width="1200"/></span><figcaption>謎</figcaption></figure></p> <p>これはかわいい感じの……なんだっけ?</p> <p><figure class="figure-image figure-image-fotolife" title="Dance First, Think Later"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="900" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213221528.jpg" title="" width="1200"/></span><figcaption>Dance First, Think Later</figcaption></figure></p> <p>Dance First, Think Later. いい標語ですね。</p> <p><figure class="figure-image figure-image-fotolife" title="ミラノ風カツレツ"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1199" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213221459.jpg" title="" width="1200"/></span><figcaption>ミラノ風カツレツ</figcaption></figure></p> <p>最後に、予約してもらったレストランでイタリア料理をいただきました。写真はミラノ名物のカツレツです。写真にはないんですが、パスタも絶品でした。もうここに住みたい。</p> <p>夕食の後は、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DF%A5%E9%A5%CE%C3%E6%B1%FB%B1%D8">ミラノ中央駅</a>で Anu さんと別れ、ホテルに戻りました。すごく楽しい 1 日でした。明日は<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%EA%A5%C3%A5%D2">チューリッヒ</a>に向かいます。</p> <p><figure class="figure-image figure-image-fotolife" title="ボラード(画面左側)"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="898" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213231128.jpg" title="" width="1200"/></span><figcaption>ボラード(画面左側)</figcaption></figure></p> <p>ホテルでニュースを見ていたら、ボラードが出てきました。「ボラードを現地で見る」実績を解除です(それでええんか)</p> <h3 id="2024-09-11-Wed-ミラノ--チューリッヒスイス-コペンハーゲンデンマーク">2024-09-11 (Wed): ミラノ → <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%EA%A5%C3%A5%D2">チューリッヒ</a>(スイス)→ <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A5%DA%A5%F3%A5%CF%A1%BC%A5%B2%A5%F3">コペンハーゲン</a>(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C7%A5%F3%A5%DE%A1%BC%A5%AF">デンマーク</a>)</h3> <p><figure class="figure-image figure-image-fotolife" title="ミラノ中央駅"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="900" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213225058.jpg" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DF%A5%E9%A5%CE%C3%E6%B1%FB%B1%D8">ミラノ中央駅</a></figcaption></figure></p> <p>朝 8 時すぎの列車に乗って、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%EA%A5%C3%A5%D2">チューリッヒ</a>に向かいます。1 人旅になると寂しいね。</p> <iframe allowfullscreen="" height="450" loading="lazy" referrerpolicy="no-referrer-when-downgrade" src="https://www.google.com/maps/embed?pb=!1m28!1m12!1m3!1d1408086.901593602!2d7.565830035592658!3d46.42551530992772!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!4m13!3e3!4m5!1s0x4786c6c54ff75843%3A0x2226b1141a97cf2a!2zTWlsYW5vIENlbnRyYWxlLCBQaWF6emEgRHVjYSBkJ0Fvc3RhLCDjg5_jg6njg44g44Kk44K_44Oq44Ki!3m2!1d45.487137!2d9.204822!4m5!1s0x47900a08cc0e6e41%3A0xf5c698b65f8c52a7!2zWsO8cmljaCBIQiwgQmFobmhvZnBsYXR6LCDjg4Hjg6Xjg7zjg6rjg4Pjg5Ig44K544Kk44K5!3m2!1d47.3781458!2d8.540251699999999!5e0!3m2!1sja!2sjp!4v1734097221041!5m2!1sja!2sjp" style="border:0;" width="600"></iframe> <p><figure class="figure-image figure-image-fotolife" title="カプチーノ"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="959" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213225453.jpg" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AB%A5%D7%A5%C1%A1%BC%A5%CE">カプチーノ</a></figcaption></figure></p> <p>車内販売で<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AB%A5%D7%A5%C1%A1%BC%A5%CE">カプチーノ</a>をいただきました。さすが国際列車、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%AB%A5%C3%A5%D7">カップ</a>にも多言語表記です。</p> <p>完全に余談ですが、今回の旅行で現金を使ったのはここだけでした。あとは全部クレジットカードのタッチ決済です。旅行客としてはめちゃくちゃ便利でよかったです。</p> <p><figure class="figure-image figure-image-fotolife" title="車窓"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="900" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213225102.jpg" title="" width="1200"/></span><figcaption>車窓</figcaption></figure></p> <p>残念ながら、この日の天気はあいにくの曇り模様で、期待していた<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%EB%A5%D7%A5%B9%BB%B3%CC%AE">アルプス山脈</a>の景色はほとんど見えませんでした。でも、雨の中の景色もまた一興です。とはいえ、いつか機会があれば晴れた日にリベンジしたい。</p> <p>ちなみにジオゲプレイヤー向け情報ですが、湖畔の線路と道路が並走する<a class="keyword" href="https://d.hatena.ne.jp/keyword/%B6%E8%B4%D6">区間</a>でスイスのボラードを観察することができます。ぜひ乗車して探してみてください。</p> <p><figure class="figure-image figure-image-fotolife" title="チューリッヒの街並み"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1200" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213225046.jpg" title="" width="900"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%EA%A5%C3%A5%D2">チューリッヒ</a>の街並み</figcaption></figure></p> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%EA%A5%C3%A5%D2">チューリッヒ</a>は小雨の似合う街かもしれません。ミラノとはまた違った雰囲気で、ここもまたいいですね。それはそうと、昨日の 30 度のミラノとは打って変わって、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C1%A5%E5%A1%BC%A5%EA%A5%C3%A5%D2">チューリッヒ</a>は 10 度前後でめちゃくちゃ寒かったです。</p> <p><figure class="figure-image figure-image-fotolife" title="スイスの横断歩行標識"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1199" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213225050.jpg" title="" width="1200"/></span><figcaption>スイスの横断歩行標識</figcaption></figure></p> <p>スイスの標識といえば 7 本線の横断歩道標識ですね。かなり探し回って見つけました。</p> <p><figure class="figure-image figure-image-fotolife" title='"I WANT $2,000,000.00"'><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="899" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241213/20241213225054.jpg" title="" width="1200"/></span><figcaption>"I WANT $2,000,000.00"</figcaption></figure></p> <p>刃物屋の壁に 200 万ドル欲しい!と落書きしてあった。俺も 200 万ドル欲しい。</p> <iframe height="480" src="https://www.google.com/maps/d/u/3/embed?mid=1tBvbCAdGUy_kaz9eNAtfGfzmCkPVgRA&amp;ehbc=2E312F&amp;noprof=1" width="640"></iframe> <p>この日は飛行機で<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A5%DA%A5%F3%A5%CF%A1%BC%A5%B2%A5%F3">コペンハーゲン</a>に移動して終了です。</p> <h3 id="2024-09-12-Thu-コペンハーゲン夜行列車">2024-09-12 (Thu): <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A5%DA%A5%F3%A5%CF%A1%BC%A5%B2%A5%F3">コペンハーゲン</a>→夜行列車</h3> <p><figure class="figure-image figure-image-fotolife" title="デンマークの横断歩道標識"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1199" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214001141.jpg" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C7%A5%F3%A5%DE%A1%BC%A5%AF">デンマーク</a>の横断歩道標識</figcaption></figure></p> <p>おはようございます。これは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A5%DA%A5%F3%A5%CF%A1%BC%A5%B2%A5%F3">コペンハーゲン</a>中央駅前の横断歩道標識です。反射板タイプのノーマルな横断歩道標識を探していましたが、ライト内蔵タイプしか見つかりませんでした。</p> <p><figure class="figure-image figure-image-fotolife" title="人魚姫の像"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="898" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214001145.jpg" title="" width="1200"/></span><figcaption>人魚姫の像</figcaption></figure></p> <p>「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C0%A4%B3%A6%BB%B0%C2%E7%A4%AC%A4%C3%A4%AB%A4%EA">世界三大がっかり</a>」と言われがちな人魚姫の像。でも、大量の観光客に囲まれているおかげか、何だか立派な像に見えます。</p> <p><figure class="figure-image figure-image-fotolife" title="デンマークの標識"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="899" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214002841.jpg" title="" width="1200"/></span><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="898" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214002845.jpg" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C7%A5%F3%A5%DE%A1%BC%A5%AF">デンマーク</a>の標識</figcaption></figure></p> <p>個人的には、人魚姫像近くの駐車場に<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B7%A5%A7%A5%D6%A5%ED%A5%F3">シェブロン</a>と案内標識があって激アツでした。郊外に行かないと見られないと思ってた。ここ、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A5%DA%A5%F3%A5%CF%A1%BC%A5%B2%A5%F3">コペンハーゲン</a>の観光スポットです!!</p> <p><figure class="figure-image figure-image-fotolife" title="コペンハーゲンの街並み、奥にラウンドタワーを望む"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1200" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214001136.jpg" title="" width="960"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A5%DA%A5%F3%A5%CF%A1%BC%A5%B2%A5%F3">コペンハーゲン</a>の街並み、奥にラウンドタワーを望む</figcaption></figure></p> <p>それはそうと、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A5%DA%A5%F3%A5%CF%A1%BC%A5%B2%A5%F3">コペンハーゲン</a>は街並みの色合いというか、雰囲気がとても素敵でした。歴史的な建造物も多く、無限に歩けます(これで脚が破壊されました)。</p> <p><figure class="figure-image figure-image-fotolife" title="ラーメン"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="899" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214001154.jpg" title="" width="1200"/></span><figcaption>ラーメン</figcaption></figure></p> <p>夕飯は日本料理屋でラーメンをいただきました。ここだけの話、自分は海外でどんな日本料理が作られているのか興味があります。異文化圏の方が日本料理を解釈して、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%ED%A1%BC%A5%AB%A5%E9%A5%A4%A5%BA">ローカライズ</a>された味付けの料理に落とし込むんですよ。どんな料理ができるか気になりませんか?</p> <p>このラーメンも、メンマの代わりにニンジンが載っていて、愛しいですね。味は、その………勉強になりました。</p> <p><figure class="figure-image figure-image-fotolife" title="ストックホルム行きの夜行列車"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1200" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214001202.jpg" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>行きの夜行列車</figcaption></figure></p> <p>今晩のお宿は、最終目的地、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>行きの夜行列車です。かっけ〜</p> <iframe allowfullscreen="" height="450" loading="lazy" referrerpolicy="no-referrer-when-downgrade" src="https://www.google.com/maps/embed?pb=!1m28!1m12!1m3!1d2199876.193061309!2d12.665695688201884!3d57.421832560435426!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!4m13!3e3!4m5!1s0x4652530d5d607ef7%3A0x3c0ef78b25259ef8!2zQ29wZW5oYWdlbiBDZW50cmFsIFN0YXRpb24sIEvDuGJlbmhhdm4sIOODh-ODs-ODnuODvOOCrw!3m2!1d55.672761099999995!2d12.5649245!4m5!1s0x465f9d60f602f26d%3A0x97c553dab672ba3d!2z44K544Km44Kn44O844OH44OzIFN0b2NraG9sbSwgQ2VudHJhbHBsYW4sIOOCueODiOODg-OCr-ODm-ODq-ODoOS4reWkrumnhQ!3m2!1d59.3301476!2d18.0582377!5e0!3m2!1sja!2sjp!4v1734101482504!5m2!1sja!2sjp" style="border:0;" width="600"></iframe> <p><figure class="figure-image figure-image-fotolife" title="スウェーデン国鉄の検索画面"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="405" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214005304.png" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%A6%A5%A7%A1%BC%A5%C7%A5%F3">スウェーデン</a><a class="keyword" href="https://d.hatena.ne.jp/keyword/%B9%F1%C5%B4">国鉄</a>の検索画面</figcaption></figure></p> <p>完全に雑談ですが、「<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B3%A5%DA%A5%F3%A5%CF%A1%BC%A5%B2%A5%F3">コペンハーゲン</a>」は英語 (Copenhagen)、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%C7%A5%F3%A5%DE%A1%BC%A5%AF">デンマーク</a>語 (København)、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%A6%A5%A7%A1%BC%A5%C7%A5%F3">スウェーデン</a>語 (Köpenhamn) で全部綴りが違うんですよね。これを知らずに列車の予約に苦労しました。なんで綴りが全部こんなに違うんだ。</p> <h3 id="2024-09-13-Fri-World-Cup-前日-ストックホルムスウェーデン">2024-09-13 (Fri, <a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 前日): <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%A6%A5%A7%A1%BC%A5%C7%A5%F3">スウェーデン</a>)</h3> <p>おはようございます。朝 6 時です。早起きして車窓を楽しむぞと意気込んでいたはずが、目が覚めたら<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>中央駅に到着していました。</p> <p><figure class="figure-image figure-image-fotolife" title="赤と黄色のスウェーデン標識"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="799" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214072512.jpg" title="" width="1200"/></span><figcaption>赤と黄色の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%A6%A5%A7%A1%BC%A5%C7%A5%F3">スウェーデン</a>標識</figcaption></figure></p> <p>駅前には赤黄の標識がたくさんあって、いよいよ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%A6%A5%A7%A1%BC%A5%C7%A5%F3">スウェーデン</a>に来たんだなという気持ちになります。今更ながら、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%EA%A1%BC%A5%C8%A5%D3%A5%E5%A1%BC">ストリートビュー</a>でしか見たことのない標識が目の前に存在しているのが不思議です。</p> <p><figure class="figure-image figure-image-fotolife" title="https://www.sj.se/en/about-the-journey/food-and-drinks/food-on-sj-night-train を翻訳して引用"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="349" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214071543.png" title="" width="1200"/></span><figcaption><a href="https://www.sj.se/en/about-the-journey/food-and-drinks/food-on-sj-night-train">https://www.sj.se/en/about-the-journey/food-and-drinks/food-on-sj-night-train</a> を翻訳して引用</figcaption></figure></p> <p>とりあえず朝食を食べに行きます。自分が乗った<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>〜マルメ線の場合、近くのホテルで朝食ビュッフェを食べられるそうですが、本当かな。この Web ページ以外に情報がないんだけど……。あと翻訳もなんか変だし……。</p> <p><figure class="figure-image figure-image-fotolife" title="朝食会場 (Scandic Continental)"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="900" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214072501.jpg" title="" width="1200"/></span><figcaption>朝食会場 (Scandic Continental)</figcaption></figure></p> <p>本当でした。最高。ここまでずっと物価が狂っていたので、無料の朝食は本当にありがたく感じ〼。モリモリ食べ〼。</p> <p><figure class="figure-image figure-image-fotolife" title="Odenplan"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="799" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214081928.jpg" title="" width="1200"/></span><figcaption>Odenplan</figcaption></figure></p> <p>おでんプラン🍢</p> <p><figure class="figure-image figure-image-fotolife" title="krämbulle とリンゴジュース"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="900" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214072457.jpg" title="" width="1200"/></span><figcaption>krämbulle とリンゴジュース</figcaption></figure></p> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%A6%A5%A7%A1%BC%A5%C7%A5%F3">スウェーデン</a>の伝統菓子、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BB%A5%E0">セム</a>ラで有名なパン屋にきました。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BB%A5%E0">セム</a>ラといえば、そう、<strong>ブルー<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A1%BC%A5%AB%A5%A4%A5%D6">アーカイブ</a>のイベント『-ive aLIVE!』</strong>に出てくるスイーツですね!!!(というか<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BB%A5%E0">セム</a>ラって実在するんですね)</p> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%BB%A5%E0">セム</a>ラは春のお菓子ということで、残念ながら 9 月には売っておらず、その代わりに krämbulle というクリームパンをいただきました。美味しい。この直後に蜂に襲われました。</p> <p><figure class="figure-image figure-image-fotolife" title="ミートボール"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="900" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214072505.jpg" title="" width="1200"/></span><figcaption>ミートボール</figcaption></figure></p> <p>食べ物の話 4 連続ですみません。ランチは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%A6%A5%A7%A1%BC%A5%C7%A5%F3">スウェーデン</a>料理、ミートボールをいただきました。例えが下手くそで申し訳ないんですが、小さいハンバーグみたいで美味しかったです。</p> <p>このレストランから、予選に参加していた選手(sp4ghet さん、しいなさん)と、日本からの <a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 観戦勢に合流しました。実はこのレストランも、観戦勢の方に予約していただいた場所です。ありがとうございます!</p> <p>他のみんなは 9/11, 12 の予選も観戦したり、参加したりしており、その時の話を聞いたりしていました。試合のあのラウンドの guess はどういうことを考えていたとか、そういう裏話がいっぱい出てきて面白かったです。</p> <p><figure class="figure-image figure-image-fotolife" title="Hop-on Hop-off Boat"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="898" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214081916.jpg" title="" width="1200"/></span><figcaption>Hop-on Hop-off <a class="keyword" href="https://d.hatena.ne.jp/keyword/Boat">Boat</a></figcaption></figure></p> <p>他の方の提案で、ボートで<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>の街を回りました。これはかなりいい体験でした。</p> <p><figure class="figure-image figure-image-fotolife" title="GeoGuessr 本社(画面中央)"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="799" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214072509.jpg" title="" width="1200"/></span><figcaption>GeoGuessr 本社(画面中央)</figcaption></figure></p> <p>あのガラス張りの建物に GeoGuessr 本社があるそうです。選手のお二人はアジア予選の際に訪問したことがあるとか。いいなあ。</p> <h4 id="GeoGuessr-Community-Meet-Up">GeoGuessr Community Meet-Up</h4> <p>夜は、<a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> の前夜祭的なイベントがありました。有名配信者や、この大会に招待された選手がそこら中を歩いており、すごい空間でした。rainbolt って実在したんだ……。</p> <p><figure class="figure-image figure-image-fotolife" title="会場の Duels コーナー"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="898" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214081920.jpg" title="" width="1200"/></span><figcaption>会場の Duels コーナー</figcaption></figure></p> <p>ちなみに会場の一角に Duels コーナーが用意されていたのですが、ここの人口密度が一番高かったです。左奥の席に Kodiak(ドイツ代表)っぽい人が参戦してました。</p> <h3 id="2024-09-14-Sat-World-Cup-当日-スウェーデンストックホルム">2024-09-14 (Sat, <a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 当日): <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%A6%A5%A7%A1%BC%A5%C7%A5%F3">スウェーデン</a>・<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a></h3> <p>この日は、昼から観戦勢の 4 人でスカンセンという屋外博物館に来ました。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%A6%A5%A7%A1%BC%A5%C7%A5%F3">スウェーデン</a>っぽい建築のエリアと、動物園のエリアで半々くらいです。</p> <p><figure class="figure-image figure-image-fotolife" title="ホッキョクギツネの分布"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="800" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214120548.jpg" title="" width="1200"/></span><figcaption>ホッキョクギツネの分布</figcaption></figure></p> <p>動物園エリアでは、北欧の動物が飼われていました。看板に分布図が描いてあって、plonk it のあれじゃん!!と盛り上がってました。arctic fox meta、いつか使える日は来るんでしょうか。</p> <p><figure class="figure-image figure-image-fotolife" title="参考画像:plonk it のあれ"><a class="http-image" href="https://images.squarespace-cdn.com/content/v1/60f6054f4e76b03092956de8/0d1c7ac1-9425-4106-8f79-432dc0dacded/fjall.png?format=1500w"><img alt="https://images.squarespace-cdn.com/content/v1/60f6054f4e76b03092956de8/0d1c7ac1-9425-4106-8f79-432dc0dacded/fjall.png?format=1500w" class="http-image" src="https://images.squarespace-cdn.com/content/v1/60f6054f4e76b03092956de8/0d1c7ac1-9425-4106-8f79-432dc0dacded/fjall.png?format=1500w"/></a><figcaption>参考画像:plonk it のあれ(<a href="https://www.plonkit.net/sweden">https://www.plonkit.net/sweden</a> より引用)</figcaption></figure></p> <p>ちなみに柵の中にキツネはいませんでした。見たかったね……😢</p> <p><figure class="figure-image figure-image-fotolife" title="スウェーデンの横断歩道標識"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1200" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214120543.jpg" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%A6%A5%A7%A1%BC%A5%C7%A5%F3">スウェーデン</a>の横断歩道標識</figcaption></figure></p> <p>あとは横断歩道の標識を再現したりして、はしゃいでました。</p> <h4 id="GeoGuessr-World-Cup-2024">GeoGuessr <a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 2024</h4> <p><figure class="figure-image figure-image-fotolife" title="World Cup 入場ゲート"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="900" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214120539.jpg" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 入場ゲート</figcaption></figure></p> <p>ついに今回の旅の目的地、GeoGuessr <a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 2024 の会場に来ました! といっても、試合の内容については <a class="keyword" href="https://d.hatena.ne.jp/keyword/YouTube">YouTube</a> で見られるのと、自分の浅い知識であれこれ書くとマサカリが飛んできそうなので、あまり触れません。会場の雰囲気などを中心に書こうと思います。</p> <p><figure class="figure-image figure-image-fotolife" title="ストックホルム市庁舎内観"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="898" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214120553.jpg" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>市庁舎内観</figcaption></figure></p> <p>今年の会場は<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B9%A5%C8%A5%C3%A5%AF%A5%DB%A5%EB%A5%E0">ストックホルム</a>市庁舎です。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%CE%A1%BC%A5%D9%A5%EB%BE%DE">ノーベル賞</a>の晩餐会とかを行う格式高い建物なのですが、こんなゲームの大会に使っちゃっていいんだ。</p> <p>ホールの中の空間はかなりうまく使われていて、たとえばホール後方に 1 階と 2 階をつなぐ階段があるのですが、選手は登場時にここを降りてくるようになっていて、かなり盛り上がる演出になっていました。(文字で書くとあんまり伝わらないなあ……)</p> <p><figure class="figure-image figure-image-fotolife" title="ポーランドのリージョンゲス情報を教えてくれる二人組"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="799" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214120530.jpg" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%DD%A1%BC%A5%E9%A5%F3%A5%C9">ポーランド</a>のリージョンゲス情報を教えてくれる二人組</figcaption></figure></p> <p>会場では応援用の手旗が配られていたのですが、途中から<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C2%E7%B4%EE%CD%F8">大喜利</a>大会になっていました。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C2%E7%B4%EE%CD%F8">大喜利</a>連携プレーも発生していてアツかったです。</p> <p><figure class="figure-image" title="The Greatest GeoGuessr Game Of All time - Grand Finals 24"> <iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="315" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/4TQeElIot-4?feature=oembed" title="The Greatest GeoGuessr Game Of All time - Grand Finals 24" width="560"></iframe> <figcaption>The Greatest GeoGuessr Game Of All time - Grand Finals 24</figcaption></figure></p> <p>すみません、やっぱり決勝だけちょっとだけ紹介させてください。決勝は、膨大な知識量に裏打ちされた圧倒的ピンポイント力のフランス代表 <strong>Blinky 選手</strong>と、即 guess という超攻撃的なプレイスタイルが武器の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%E1%A5%EA">アメリ</a>カ代表 <strong>MK 選手</strong>(Blinky の平均 guess time が 40 秒に対し、MK は 20 秒)との対決でした。ある意味で対極的な 2 人で、試合はこれ以上ないほどの緊張感と興奮の連続でした。しかし対極とはいえさすが <a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 決勝、どちらの選手も guess の精度はとんでもなくて、国当てとか州当てというレベルではなく、お互い道単位で寄せて勝つラウンドもありました。試合運びもまた手に汗握る展開で、これが決勝の面白さの 7 割くらいを担っているのですが、これ以上のネタバレを回避しつつ面白さを伝える文章力は自分にないので、これくらいにしておきます。</p> <p>ぜひ決勝だけでも観ていただきたいですが、とはいえ 56 分あるから勧めづらいんだよなー。でもフルで観る方が多分面白い……。心がふたつある~<span style="font-size: 80%"><span style="color: #999999">(強いて一部分を選ぶとしたら、12:30~14:30 あたりの Blinky が強すぎて面白いのでオススメです)</span></span></p> <p><figure class="figure-image figure-image-fotolife" title="大会終了後の市庁舎"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1200" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214120534.jpg" title="" width="960"/></span><figcaption>大会終了後の市庁舎</figcaption></figure></p> <p>大会終了後も試合の興奮を忘れられず、ホテルに戻るまでずっと試合の感想を話していました。</p> <h3 id="2024-09-15-Sun-帰国日">2024-09-15 (Sun): 帰国日</h3> <p>あっというまに帰国日になってしまいました。寂しい。</p> <p><figure class="figure-image figure-image-fotolife" title="GeoGuessr World Cup 2023 会場周辺"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="900" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214125313.jpg" title="" width="1200"/></span><figcaption>GeoGuessr <a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 2023 会場周辺</figcaption></figure></p> <p>朝早く目が覚めてしまったので、なんとなく去年の <a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 会場を見に来ました。来年はどこでやるんでしょうか。楽しみです。</p> <p><figure class="figure-image figure-image-fotolife" title="お土産の帽子"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="1200" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214125325.jpg" title="" width="1199"/></span><figcaption>お土産の帽子</figcaption></figure></p> <p><figure class="figure-image figure-image-fotolife" title="アバター"><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="564" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241214/20241214125319.png" title="" width="1200"/></span><figcaption><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%D0%A5%BF%A1%BC">アバター</a></figcaption></figure></p> <p>会場の物販で買った、GeoGuessr <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%D0%A5%BF%A1%BC">アバター</a>とお揃いの帽子を買ってかぶって帰りました。旅行はこれで終わりです。</p> <h2 id="おわりに">おわりに</h2> <p>や〜〜楽しかった。間違いなく一生の思い出です。ちなみに、来年の <a class="keyword" href="https://d.hatena.ne.jp/keyword/World%20Cup">World Cup</a> 出場権を争う戦いはすでに始まっていて、日本代表として 4 人の選手が参加しています。今後の活躍を楽しみにしています!</p> <p>明日は、ぬぬ299 さんの『VRChat末期中毒患者が、知識ゼロから1年で英語が話せるようになった話』です。お楽しみに!</p>
031
mug @mug.mstdn.maud.io.ap.brid.gy · 14/12/2024
アドカレ記事書き終わりました、読み直してから投稿します(遅れてすみません🙇🙇🙇)
000
mug @mug.mstdn.maud.io.ap.brid.gy · 08/12/2024
ぞい
010
mug @mug.mstdn.maud.io.ap.brid.gy · 04/12/2024
GeoGuessr だ!!
000
mug @mug.mstdn.maud.io.ap.brid.gy · 02/12/2024
ブログ2本目です。前の記事を書いているときに見つけた小ネタです🎄🎄 shmug.hatenablog.com/entry/2024/12/…
shmug.hatenablog.com
Python 3.13 から「兆」が 10 の 6 乗になっている
<p>この記事は <a href="https://adventar.org/calendars/10134">2024 TSG Advent Calendar</a> 3日目の記事です。昨日の記事は @__dAi00 さんの記事 <a href="https://qiita.com/__dAi00/items/8698c42780db26d6159a">AivisSpeechを使ったDiscordボットの作成 ①AivisSpeechをGoogle Cloud Runにデプロイする</a> でした。12/5 公開予定の続編も楽しみです。</p> <p>今回は、初日に公開した以下の記事の副産物です。</p> <p><iframe class="embed-card embed-blogcard" frameborder="0" loading="lazy" scrolling="no" src="https://hatenablog-parts.com/embed?url=https%3A%2F%2Fshmug.hatenablog.com%2Fentry%2F2024%2F12%2F01%2F000000" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" title='Python の isnumeric() の謎を追う:"兆" は True、"垓" は False? - マグマグ (起動音)'></iframe></p> <pre class="code lang-python" data-lang="python" data-unlink=""><span class="synPreProc">import</span> unicodedata <span class="synComment"># Python 3.12 まで 1000000000000.0</span> <span class="synComment"># Python 3.13 から 1000000.0</span> <span class="synIdentifier">print</span>(unicodedata.numeric(<span class="synConstant">"兆"</span>)) </pre> <p>大変だ。<a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> 3.13 から「5000 兆円」が 50 億円になってしまう(?)</p> <h3 id="unicodedatanumeric-メソッドと-Unicode">unicodedata.numeric メソッドと <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a></h3> <p>例によって <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> が関係してきます。前編でも触れたとおり、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> はそれぞれの文字がどんな性質を持つのかを「<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 文字データベース (UCD)」<sup id="fnref:1"><a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fn:1" rel="footnote">1</a></sup> に記録しています。データベースには「絵文字かどうか (Emoji)」や「大文字かどうか (Uppercase)」といった属性が文字ごとに記録されています。</p> <p>今回の記事で鍵になる情報は <strong>Numeric_<a class="keyword" href="https://d.hatena.ne.jp/keyword/Value">Value</a> プロパティ</strong><sup id="fnref:2"><a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fn:2" rel="footnote">2</a></sup> です。このプロパティは、文字がどういう数を表しているかを示したものです。<a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> の <code>unicodedata.numeric</code> メソッドは、文字データベースに Numeric_<a class="keyword" href="https://d.hatena.ne.jp/keyword/Value">Value</a> プロパティの登録があった場合にその値を返します<sup id="fnref:3"><a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fn:3" rel="footnote">3</a></sup>。</p> <p>漢字の Numeric_<a class="keyword" href="https://d.hatena.ne.jp/keyword/Value">Value</a> を決めるのは、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> の CJK 統合漢字の性質を管理する Unihan データベースの <strong>kPrimaryNumeric プロパティ</strong>です。ひとつの漢字に複数の kPrimaryNumeric が登録されている場合、Numeric_<a class="keyword" href="https://d.hatena.ne.jp/keyword/Value">Value</a> には最初の値が採用されます<sup id="fnref:4"><a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fn:4" rel="footnote">4</a></sup>。</p> <blockquote><p><strong>kPrimaryNumeric</strong></p> <p>... If an ideograph has more than one numeric <a class="keyword" href="https://d.hatena.ne.jp/keyword/value">value</a>, the first one is to be considered the <a class="keyword" href="https://d.hatena.ne.jp/keyword/most">most</a> common one, and that <strong>first <a class="keyword" href="https://d.hatena.ne.jp/keyword/value">value</a> is used for the Numeric_<a class="keyword" href="https://d.hatena.ne.jp/keyword/Value">Value</a> property</strong> of the ideograph.</p></blockquote> <h3 id="なぜ変わったのか">なぜ変わったのか?</h3> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> 3.13 から <code>unicodedata.numeric("兆")</code> の結果が変わったのは、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 15.1 で「兆」(U+5146) の kPrimaryNumeric が変更されたためです。参考までに、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 15.0<sup id="fnref:5"><a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fn:5" rel="footnote">5</a></sup> と <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 15.1<sup id="fnref:6"><a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fn:6" rel="footnote">6</a></sup> での Unihan データベースで「兆」の扱いを掲載しておきます。</p> <table> <thead> <tr> <th> バージョン </th> <th> kPrimaryNumeric </th> <th> Numeric_<a class="keyword" href="https://d.hatena.ne.jp/keyword/Value">Value</a> </th> </tr> </thead> <tbody> <tr> <td> 15.0 </td> <td> <code>1000000000000</code> </td> <td> <code>1000000000000</code> </td> </tr> <tr> <td> 15.1 </td> <td> <code>1000000 1000000000000</code> </td> <td> <code>1000000</code> </td> </tr> </tbody> </table> <p>10<sup>6</sup> が新しく追加されたのは、「兆」を 10<sup>6</sup> として扱う中国や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%C8%A5%CA%A5%E0">ベトナム</a>などのでの慣例がもとになっています<sup id="fnref:7"><a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fn:7" rel="footnote">7</a></sup>。なお、中国では現在でも SI 接頭語の「メガ」を表す漢字として使われているようです<sup id="fnref:8"><a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fn:8" rel="footnote">8</a></sup>。</p> <p>これは日本における 10<sup>12</sup> を表す「兆」の用例とは衝突しますが、こういった場合は<strong>中国本土における中国語の用例が優先される</strong>傾向があるようです<sup id="fnref:9"><a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fn:9" rel="footnote">9</a></sup>。おそらく中国語での用例が優先された結果、「兆」の Numeric_<a class="keyword" href="https://d.hatena.ne.jp/keyword/Value">Value</a> が 10<sup>6</sup> に上書きされたと考えられます。</p> <div class="footnotes"> <hr/> <ol> <li id="fn:1"> <a href="https://www.unicode.org/reports/tr44/">Unicode® Standard Annex #44 - Unicode Character Database</a>、参照日: 2024-11-17<a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fnref:1" rev="footnote">↩</a></li> <li id="fn:2"> <a href="https://www.unicode.org/reports/tr44/#Numeric_Value">Unicode Character Database - Numeric_Value</a>、参照日: 2024-12-02<a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fnref:2" rev="footnote">↩</a></li> <li id="fn:3"> <a href="https://docs.python.org/3.13/library/unicodedata.html">unicodedata --- Unicode Database</a>、参照日: 2024-11-23<a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fnref:3" rev="footnote">↩</a></li> <li id="fn:4"> <a href="https://www.unicode.org/reports/tr38/">Unicode® Standard Annex #38 - Unicode Han Database (Unihan)</a>、参照日: 2024-11-23<a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fnref:4" rev="footnote">↩</a></li> <li id="fn:5"> <a href="https://www.unicode.org/Public/15.0.0/ucd/extracted/DerivedNumericValues.txt">DerivedNumericValues-15.0.0.txt</a>、参照日: 2024-11-24<a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fnref:5" rev="footnote">↩</a></li> <li id="fn:6"> <a href="https://www.unicode.org/Public/15.1.0/ucd/extracted/DerivedNumericValues.txt">DerivedNumericValues-15.1.0.txt</a>、参照日: 2024-11-24<a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fnref:6" rev="footnote">↩</a></li> <li id="fn:7"> <a href="https://www.unicode.org/L2/L2022/22223-unihan-numeric.pdf">L2/22-223: Proposed Updates and Expansions of Unihan Numeric Fields</a>、参照日: 2024-11-17<a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fnref:7" rev="footnote">↩</a></li> <li id="fn:8"> <a href="https://www.samr.gov.cn/jls/zcfg/jlfg/art/2023/art_ae845eb2f7de414c958188ec617d7f5b.html">国务院关于在我国统一实行法定计量单位的命令</a>、参照日: 2024-12-02<a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fnref:8" rev="footnote">↩</a></li> <li id="fn:9"> <a href="https://x.com/ken_lunde/status/1858549548530155914">Twitter</a>、参照日: 2024-11-24<a href="https://shmug.hatenablog.com/entry/2024/12/03/000000#fnref:9" rev="footnote">↩</a></li> </ol> </div>
010
mug @mug.mstdn.maud.io.ap.brid.gy · 01/12/2024
ブログ記事を書きました。Python の挙動の謎を追い、Unicode のえらい人に質問しに行きました🎄 shmug.hatenablog.com/entry/2024/12/…
shmug.hatenablog.com
Python の isnumeric() の謎を追う:"兆" は True、"垓" は False?
<p>この記事は <a href="https://adventar.org/calendars/10134">2024 TSG Advent Calendar</a> 初日の記事です。</p> <p><span itemscope="" itemtype="http://schema.org/Photograph"><img class="hatena-fotolife" height="675" itemprop="image" loading="lazy" src="https://cdn-ak.f.st-hatena.com/images/fotolife/s/sh-mug/20241119/20241119233235.png" title="" width="1200"/></span></p> <p><span style="font-size: 300%">…………🤔❓</span></p> <h3 id="Python-の数値文字列判定ロジックを探る"><a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> の数値文字列判定ロジックを探る</h3> <h4 id="strisnumeric-メソッドとは">str.isnumeric() メソッドとは?</h4> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> の <code>str.isnumeric()</code> メソッドは、文字列内のすべての文字が数値を表すものであれば True を、そうでなければ False を返します。<a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#f-3ca21f31" id="fn-3ca21f31" name="fn-3ca21f31" title='つまり、文字列全体が数の表現として正しいかとは無関係です。たとえば、"123.45".isnumeric() は False、"兆兆".isnumeric() は True を返します。'>*1</a> まず、このメソッドの基本的な動作を見てみましょう。</p> <pre class="code lang-python" data-lang="python" data-unlink=""><span class="synComment"># Python の isnumeric() の動作例</span> <span class="synIdentifier">print</span>(<span class="synConstant">"123"</span>.isnumeric()) <span class="synComment"># True; 1, 2, 3 は数字</span> <span class="synIdentifier">print</span>(<span class="synConstant">"123a"</span>.isnumeric()) <span class="synComment"># False; a は数字ではない</span> <span class="synIdentifier">print</span>(<span class="synConstant">"五千万"</span>.isnumeric()) <span class="synComment"># True; 五、千、万 は数値</span> </pre> <p>漢数字にも対応しており、一見よさそうに見えます。ところが……</p> <pre class="code lang-python" data-lang="python" data-unlink=""><span class="synIdentifier">print</span>(<span class="synConstant">"兆"</span>.isnumeric()) <span class="synComment"># True</span> <span class="synIdentifier">print</span>(<span class="synConstant">"垓"</span>.isnumeric()) <span class="synComment"># False</span> </pre> <p>「兆」と「垓」はどちらも漢数字に使われる文字なのに、なぜ <a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> の str.isnumeric() は異なる結果を返すのでしょうか?</p> <h4 id="Python-と-Unicode-文字データベース"><a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> と <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 文字データベース</h4> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> の文字列メソッド <code>str.isnumeric()</code> は、内部的に <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> の情報を活用しています。<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> とは、世界中の文字を一元管理するための国際的な規格で、それぞれの文字がどんな性質を持つのかを「<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 文字データベース (UCD)」<sup id="fnref:1"><a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fn:1" rel="footnote">1</a></sup> という形で記録しています。データベースには「絵文字かどうか (Emoji)」や「大文字かどうか (Uppercase)」といった属性が文字ごとに記録されています。</p> <p>その中で、この記事で鍵になる情報は <strong>Numeric_Type プロパティ</strong> です。このプロパティは、文字が「数値」として扱われるかを示したもので、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> の <code>str.isnumeric()</code> もこの情報を元に判断を行っています。</p> <p>Numeric_Type プロパティには以下の 4 種類があります。<code>str.isnumeric()</code> の正式な仕様<sup id="fnref:2"><a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fn:2" rel="footnote">2</a></sup> には、文字がこのうち <strong>Decimal, Digit, Numeric</strong> のいずれかである場合に True を返す、というふうに定めてあります。</p> <table> <thead> <tr> <th> Numeric_Type </th> <th> 説明 </th> <th> 例 </th> </tr> </thead> <tbody> <tr> <td> <strong>Decimal</strong> </td> <td> 十進法 (0~9) で使われる基本的な数字 </td> <td> U+0030~U+0039(アラビア数字 "0"~"9")<br/>U+0660~U+0669(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%A2%A5%E9%A5%D3%A5%A2%B8%EC">アラビア語</a>の数字) </td> </tr> <tr> <td> <strong>Digit</strong> </td> <td> 数字として機能するが、十進法の桁として直接使用されない特殊な数字 </td> <td>U+2070(上付きゼロ "⁰")<br/>U+2460(丸付き数字 "①")</td> </tr> <tr> <td> <strong>Numeric</strong> </td> <td> それ以外の数値を表す文字。整数や分数、負の数など幅広い数値が含まれる </td> <td> U+2155(1/5の分数 "⅕")<br/>U+4E00(漢数字 "一") </td> </tr> <tr> <td> None </td> <td> 上記に該当しない文字 </td> <td> U+0041(<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%E9%A5%C6%A5%F3%CA%B8%BB%FA">ラテン文字</a> "A")<br/>U+3042(ひらがな "あ") </td> </tr> </tbody> </table> <h4 id="実際に数詞の-Numeric_Type-を見てみる">実際に数詞の Numeric_Type を見てみる</h4> <p>では、これをふまえて、「兆」「垓」を含む日本語の数詞の Numeric_Type をまとめてデータベース<sup id="fnref:3"><a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fn:3" rel="footnote">3</a></sup> で確認してみましょう。</p> <table> <thead> <tr> <th> 文字 </th> <th> <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> </th> <th> Numeric_Type </th> <th> str.isnumeric() </th> </tr> </thead> <tbody> <tr> <td> 万 </td> <td> U+4E07 </td> <td> <strong>Numeric</strong> </td> <td> <strong>True</strong> </td> </tr> <tr> <td> 億 </td> <td> U+5104 </td> <td> <strong>Numeric</strong> </td> <td> <strong>True</strong> </td> </tr> <tr> <td> 兆 </td> <td> U+5146 </td> <td> <strong>Numeric</strong> </td> <td> <strong>True</strong> </td> </tr> <tr> <td> 京 </td> <td> U+4EAC </td> <td> <strong>Numeric</strong> </td> <td> <strong>True</strong> </td> </tr> <tr> <td> 垓 </td> <td> U+5793 </td> <td> None </td> <td> False </td> </tr> <tr> <td> 𥝱 </td> <td> U+25771 </td> <td> None </td> <td> False </td> </tr> <tr> <td> 穣 </td> <td> U+7A63 </td> <td> None </td> <td> False </td> </tr> <tr> <td> 溝 </td> <td> U+6E9D </td> <td> None </td> <td> False </td> </tr> <tr> <td> 澗 </td> <td> U+6F97 </td> <td> None </td> <td> False </td> </tr> <tr> <td> 正 </td> <td> U+6B63 </td> <td> None </td> <td> False </td> </tr> <tr> <td> 載 </td> <td> U+8F09 </td> <td> None </td> <td> False </td> </tr> <tr> <td> 極 </td> <td> U+6975 </td> <td> None </td> <td> False </td> </tr> </tbody> </table> <p>すると確かに、「兆」は Numeric_Type=Numeric に分類されている一方、「垓」は分類されていないことがわかります。これが、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> の str.isnumeric() メソッドが「兆」と「垓」で異なる結果を返すことへの直接的な理由です!</p> <p>……しかしながら、上の表を見ていると、新たに一つの疑問が沸き上がってきます。なぜ、<strong><a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> は「垓」以上の数詞に Numeric_Type を割り当てていない</strong>のでしょうか?この謎を解くため、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> の数詞の扱いについてもう少し掘り下げていきます。</p> <p></p><fieldset style="padding: 8px 15px; border: 2px solid #6699CC; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px;"> <legend><span style="font-size: 15px; color: #6699CC; font-weight:bold;"> Coffee break ☕ <a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>の扱いが変わった? </span> </legend> すこし面白いのは<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>の扱いです。<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>(U+4EAC) は、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 15.1 で Numeric_Type が None から Numeric に変更されました。この変更が <a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> 3.13 から取り入れれられたため<sup id="fnref:4"><a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fn:4" rel="footnote">4</a></sup>、これ以降のバージョンで <code>"京".isnumeric()</code> が True を返すようになりました。 <pre class="code lang-python" data-lang="python" data-unlink=""><span class="synComment"># Python 3.12 以前なら False</span> <span class="synComment"># Python 3.13 以降なら True</span> <span class="synIdentifier">print</span>(<span class="synConstant">"京"</span>.isnumeric()) </pre> <p></p></fieldset> <h3 id="京と垓を分けた-Unicode-の判断を探る"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>と「垓」を分けた <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> の判断を探る</h3> <p>現行の <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> は<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>までの数詞に Numeric_Type を付与しているのにも関わらず、<strong>「垓」以上の数詞には付与していません</strong>。この線引きは、どのような基準で決まったのでしょうか? それを知るためにも、まずは <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> における漢字と Numeric_Type の関係を知っておく必要があります。</p> <h4 id="漢字の-Numeric_Type-を決める仕組み">漢字の Numeric_Type を決める仕組み</h4> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> の漢字(CJK 統合漢字)に関する情報は、UCD とは別の <strong><a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> Han Database (Unihan)</strong><sup id="fnref:5"><a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fn:5" rel="footnote">5</a></sup> というデータベースに収録されています。このデータベースには、各漢字の読みや意味、部首だけでなく、数値に関する情報も格納されています。</p> <p>Unihan には kPrimaryNumeric という項目があり、ここにはその漢字が表す数値(たとえば「万」は10<sup>4</sup>)が定義されています。 ある漢字に kPrimaryNumeric が付与されると、それに対応して UCD で Numeric_Type=Numeric が設定される、つまりその漢字が <strong>「数を表す文字」として扱われる</strong>仕組みになっています。</p> <p></p><fieldset style="padding: 8px 15px; border: 2px solid #6699CC; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px;"> <legend><span style="font-size: 15px; color: #6699CC; font-weight:bold;"> Coffee break ☕ Unihan と Numeric_Type </span> </legend> 漢字に Numeric_Type を付与する仕組みは、実際はもう少しいろいろあります。Unihan には kPrimaryNumeric の他にも <ul> <li>kAccountingNumeric: 領収書などで使われる<strong>「壱」「弐」「参」</strong>などの文字</li> <li>kOtherNumeric: 数字として扱うのが一般的でない<strong>「幺」「㠪」</strong>などの文字</li> </ul> <p>などの数値に関するフィールドがいくつかあり、これらのどれかが設定されている場合に Numeric_Type=Numeric が付与される、という仕組みになっています。 </p></fieldset> <h4 id="京と垓の境界線L222-223-提案と-Unicode-技術委員会の判断"><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>と「垓」の境界線:L2/22-223 提案と <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 技術委員会の判断</h4> <p>つい最近の <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 15.0(2022 年 9 月制定)まで、「万」「億」「兆」までが Numeric_Type を持つ数詞として扱われ、<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>「垓」以降の数詞は Numeric_Type が付与されていませんでした。</p> <p>ここでターニングポイントとなるのが、2022 年 10 月に <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 技術委員会 (<a class="keyword" href="https://d.hatena.ne.jp/keyword/UTC">UTC</a>) に提出された <strong>L2/22-223</strong><sup id="fnref:6"><a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fn:6" rel="footnote">6</a></sup> という提案です。L2/22-223 は、Unihan の数値フィールドに関する様々な修正を提案しています。</p> <p>特にその中で、<strong><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>以上の数詞(京、垓、𥝱、穣、溝、澗)など文字</strong> にも日本語で数値としての用例があることから、kPrimaryNumeric プロパティを追加する、すなわち<strong>新たに Numeric_Type を付与する</strong>ことを提案しているのです! 下の表の太字は、実際に L2/22-223 で追加が提案された kPrimaryNumeric の値です。</p> <table> <thead> <tr> <th> 文字 </th> <th> <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> </th> <th> kPrimaryNumeric(提案は太字) </th> </tr> </thead> <tbody> <tr> <td> 兆 </td> <td> U+5146 </td> <td> 10<sup>12</sup>, <strong>10<sup>6</sup></strong> <a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#f-3d6c48f0" id="fn-3d6c48f0" name="fn-3d6c48f0" title="中国やベトナムで 106 を「兆」と書く慣習があり、現在でも中国本土で SI 接頭辞 106 を表す文字として「兆」を使うようです。">*2</a> </td> </tr> <tr> <td> 京 </td> <td> U+4EAC </td> <td> <strong>10<sup>16</sup></strong> </td> </tr> <tr> <td> 垓 </td> <td> U+5793 </td> <td> <strong>10<sup>20</sup></strong> </td> </tr> <tr> <td> 𥝱 </td> <td> U+25771 </td> <td> <strong>10<sup>24</sup></strong> </td> </tr> <tr> <td> 穣 </td> <td> U+7A63 </td> <td> <strong>10<sup>28</sup></strong> </td> </tr> <tr> <td> 溝 </td> <td> U+6E9D </td> <td> <strong>10<sup>32</sup></strong> </td> </tr> <tr> <td> 澗 </td> <td> U+6F97 </td> <td> <strong>10<sup>36</sup></strong> </td> </tr> </tbody> </table> <p>そして、この L2/22-223 提案をとりまとめた <a class="keyword" href="https://d.hatena.ne.jp/keyword/UTC">UTC</a> の CJK &amp; Unihan 作業部会も、<a class="keyword" href="https://d.hatena.ne.jp/keyword/UTC">UTC</a> に対して上表のすべてを受け入れるよう勧告しました<sup id="fnref:7"><a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fn:7" rel="footnote">7</a></sup>。</p> <p>しかしながら、最終的な <a class="keyword" href="https://d.hatena.ne.jp/keyword/UTC">UTC</a> での議論の結果<sup id="fnref:8"><a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fn:8" rel="footnote">8</a></sup>、「兆」の 10<sup>6</sup> と<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>の 10<sup>16</sup> のみが <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 15.1 に追加され、他の数詞への kPrimaryNumeric 付与は見送られることとなりました。この決定により、<strong><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>(U+4EAC) が数値として扱われる最後の文字として認められ</strong>、それ以上の数詞(垓、𥝱など)は対象外となってしまいました。</p> <blockquote><p>[173-A45] Action Item for John Jenkins, CJK: Apply the adjustments to the kAccountingNumeric, kOtherNumeric, and kPrimaryNumeric properties, based on document L2/22-223, as amended in Section 11 of document L2/22-247, and <strong>excluding any property values greater than that for U+4EAC</strong>, for <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> Version 15.1.</p></blockquote> <h4 id="結局なぜ京だけが追加されたのか">結局、なぜ<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>だけが追加されたのか?</h4> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>までが採用された顛末について、公開資料から読み取れるのはここまでです。しかし、これらの記録を読んでも、具体的に「なぜ『垓』以降が除外されたのか?」という理由は記されていません。</p> <p>そこで、この疑問を解消するために、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> の専門家であり、先ほどの勧告を行った CJK &amp; Unihan 作業部会の議長でもある <strong><a class="keyword" href="https://d.hatena.ne.jp/keyword/Ken%20Lunde">Ken Lunde</a></strong> 博士に直接問い合わせを行いました。氏の返信によれば、<strong><a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>(10000000000000000) より上の数詞が除外された理由は、オーバーフローの懸念にある</strong>とのことです。以下は博士からの返信の引用です:</p> <p></p><blockquote class="twitter-tweet" data-conversation="none" data-lang="ja"><p dir="ltr" lang="en">See Consensus 173-C11 from <a href="https://twitter.com/hashtag/UTC173?src=hash&amp;ref_src=twsrc%5Etfw">#UTC173</a>, along with the associated action items, specifically 173-A45. Summary: Any <a class="keyword" href="https://d.hatena.ne.jp/keyword/value">value</a> over 10000000000000000 was explicitly excluded due to overflow concerns. <a href="https://t.co/4mlIljLhhl">https://t.co/4mlIljLhhl</a></p>— <a class="keyword" href="https://d.hatena.ne.jp/keyword/Ken%20Lunde">Ken Lunde</a> 小林剣 (@ken_lunde) <a href="https://twitter.com/ken_lunde/status/1857834598178370041?ref_src=twsrc%5Etfw">2024年11月16日</a></blockquote> <script async="" charset="utf-8" src="https://platform.twitter.com/widgets.js"></script> <p>このような判断が行われた背景には、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> が幅広いシステムや環境で採用されていることが影響しています。オーバーフローのリスクを抱える値を Numeric_Type に含めると、数値処理を行う多くの実装に影響を及ぼす可能性がある、という判断がなされたと考えることができます。</p> <p>実際、64 bit 符号なし整数型が表現できる 0~2<sup>64</sup> -1(およそ 1.8×10<sup>19</sup>)の上界は<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>(10<sup>16</sup>) と「垓」(10<sup>20</sup>) の間に位置します。さらに、一部のシステムでは数値を倍精度<a class="keyword" href="https://d.hatena.ne.jp/keyword/%C9%E2%C6%B0%BE%AE%BF%F4%C5%C0%BF%F4">浮動小数点数</a>型で表現しますが、この型で安全に整数を表現できる上限 <a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#f-7815dffe" id="fn-7815dffe" name="fn-7815dffe" title="JavaScript の Number.MAX_SAFE_INTEGER のことだと思ってください。">*3</a> は約 9×10<sup>15</sup> です。この範囲を超える<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>(10<sup>16</sup>) が Numeric_Type を持つのは、この制約を直接反映したものではないかもしれませんが、それでも比較的小さな値として許容された可能性はあります。</p> <p>あくまで推測ですが、128 bit 整数や任意精度演算が一般的になるような環境が普及すれば、「垓」以降の数詞にも Numeric_Type が付与される可能性があるかもしれません。たとえば、128 bit 符号なし整数を使えば、およそ 3.4×10<sup>38</sup> までの値を安全に表現できます。この範囲なら「澗」(10<sup>36</sup>) も含めることができます。<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> における数詞の扱いも変わっていくには、すなわち <a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> の <code>str.isnumeric()</code> が「垓」以降の数詞を数値として扱うようになるには、さらなる計算機環境の進化を待つ必要があるかもしれません。</p> <h3 id="まとめ">まとめ</h3> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/Python">Python</a> の <code>str.isnumeric()</code> メソッドは、文字列内のすべての文字が「数を表す文字」であるかを判定しますが、<code>"兆"</code> には True、<code>"垓"</code> には False を返します。この理由は、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> の Numeric_Type プロパティが「垓」以上の数詞には付与されていないことにありました。</p> <p>さらにその理由を探ると、「垓」~「澗」に対する <a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> の数値フィールド修正の提案があったものの、オーバーフローのリスクを懸念して<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A1%D6%B5%FE%A1%D7">「京」</a>までの数詞のみが採用されたことがわかりました。</p> <p><a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> のプロパティ設定には文字の意味以上に、技術的制約など多様な観点から仕様が検討されているのです。</p> <h3 id="謝辞">謝辞</h3> <p>本記事の執筆にあたり、<a href="https://x.com/ken_lunde">Ken Lunde</a> 博士から貴重な情報提供をいただきました。特に、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> の数値扱いに関する技術的な背景についての理解を深めることができましたことに感謝しています。また、<a class="keyword" href="https://d.hatena.ne.jp/keyword/Unicode">Unicode</a> 議事録の<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%B5%A1%BC%A5%D9%A5%A4">サーベイ</a>などに、幅広く助力していただいた <a href="https://x.com/hakatashi">hakatashi</a> 氏にもここに謝意を表します。</p> <h3 id="ゴママヨコーナー">ゴママヨコーナー</h3> <p>気軽に読める記事を目指していたのに、すごくまじめな内容になってしまったので、ゴママヨコーナーで中和したいと思います。</p> <ul> <li>「垓」以上 ←⁉</li> <li>Numeric_Type プロパティ ←⁉</li> </ul> <p>他に見つけたらぜひ教えてください。</p> <div class="footnotes"> <hr/> <ol> <li id="fn:1"> <a href="https://www.unicode.org/reports/tr44/">Unicode® Standard Annex #44 - Unicode Character Database</a>、参照日: 2024-11-17<a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fnref:1" rev="footnote">↩</a></li> <li id="fn:2"> <a href="https://docs.python.org/3.14/library/stdtypes.html#str.isnumeric">Python documentation - Built-in Types</a>、参照日: 2024-11-17<a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fnref:2" rev="footnote">↩</a></li> <li id="fn:3"> <a href="https://www.unicode.org/Public/16.0.0/ucd/extracted/DerivedNumericType.txt">Unicode Character Database - Numeric_Type</a>、参照日: 2024-11-17<a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fnref:3" rev="footnote">↩</a></li> <li id="fn:4"> <a href="https://docs.python.org/3/whatsnew/3.13.html#unicodedata">What's New in Python 3.13 - unicodedata</a>、参照日: 2024-11-17<a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fnref:4" rev="footnote">↩</a></li> <li id="fn:5"> <a href="https://www.unicode.org/reports/tr38/">Unicode® Standard Annex #38 - Unicode Han Database (Unihan)</a>、参照日: 2024-11-17<a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fnref:5" rev="footnote">↩</a></li> <li id="fn:6"> <a href="https://www.unicode.org/L2/L2022/22223-unihan-numeric.pdf">L2/22-223: Proposed Updates and Expansions of Unihan Numeric Fields</a>、参照日: 2024-11-17<a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fnref:6" rev="footnote">↩</a></li> <li id="fn:7"> <a href="https://www.unicode.org/L2/L2022/22247-cjk-unihan-group-utc173.pdf">L2/22-247: CJK &amp; Unihan Group Recommendations for UTC #173 Meeting</a>、参照日: 2024-11-17<a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fnref:7" rev="footnote">↩</a></li> <li id="fn:8"> <a href="https://www.unicode.org/L2/L2022/22241.htm#173-A45">UTC #173 Minutes</a>、参照日: 2024-11-17<a href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fnref:8" rev="footnote">↩</a></li> </ol> </div> <div class="footnote"> <p class="footnote"><a class="footnote-number" href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fn-3ca21f31" id="f-3ca21f31" name="f-3ca21f31">*1</a><span class="footnote-delimiter">:</span><span class="footnote-text">つまり、文字列全体が数の表現として正しいかとは無関係です。たとえば、"123.45".isnumeric() は False、"兆兆".isnumeric() は True を返します。</span></p> <p class="footnote"><a class="footnote-number" href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fn-3d6c48f0" id="f-3d6c48f0" name="f-3d6c48f0">*2</a><span class="footnote-delimiter">:</span><span class="footnote-text">中国や<a class="keyword" href="https://d.hatena.ne.jp/keyword/%A5%D9%A5%C8%A5%CA%A5%E0">ベトナム</a>で 10<sup>6</sup> を「兆」と書く慣習があり、現在でも中国本土で SI 接頭辞 10<sup>6</sup> を表す文字として「兆」を使うようです。</span></p> <p class="footnote"><a class="footnote-number" href="https://shmug.hatenablog.com/entry/2024/12/01/000000#fn-7815dffe" id="f-7815dffe" name="f-7815dffe">*3</a><span class="footnote-delimiter">:</span><span class="footnote-text"><a class="keyword" href="https://d.hatena.ne.jp/keyword/JavaScript">JavaScript</a> の Number.MAX_SAFE_INTEGER のことだと思ってください。</span></p> </div>
1104
mug @mug.mstdn.maud.io.ap.brid.gy · 26/11/2024
@moratorium.bsky.social 未来地図はどこ?
100
mug @mug.mstdn.maud.io.ap.brid.gy · 20/11/2024
まだ知らないこと たくさんある
120
Reposted by mug
月音 @tukine.fedibird.com.ap.brid.gy · 20/11/2024
Bridgy Fed、太平洋時間の深夜頃からキューが300万件以上に達したのが大幅遅延の原因だったとのこと。 そしてそのキューの増大は自然的なものではなく、何らかの異常が起きてのことだそうです。 Bridgy Fedは開発者さん個人のプロジェクトなんだけど、ちょうど体調を崩してしまって確認はまだできていないとのこと。 […]
fedibird.com
Original post on fedibird.com
0214
mug @mug.mstdn.maud.io.ap.brid.gy · 18/11/2024
はろー
011