{03/01/2023: [日記]MIND TOOLS}←の続き。
単に言葉を書くというそれだけで、実を言えば、数コードの一種なのである。シンボルとしては数記号と文字記号ではたいした違いはない。―――つまり、どちらにしてもみな、手で簡単に書けて、バラバラにして伝えやすい単純な曲線である。27を底とする記数法に関連して、空白スペースとアルファベット二六文字は独立した数字と考えられるし、テキストの断片は27を底とする数字と考えることができる。・・・
(第1章 数、101ページ)
日本語の場合、Alphabet26文字と空白文字だけでは言葉を書けないが、単純化した話として「L27計算システム」を考えてみる。
my %L27 = (# L27 system array '-', '0', 'a', '1', 'b', '2', 'c', '3', 'd', '4', 'e', '5', 'f', '6', 'g', '7', 'h', '8', 'i', '9', 'j', '10', 'k', '11', 'l', '12', 'm', '13', 'n', '14', 'o', '15', 'p', '16', 'q', '17', 'r', '18', 's', '19', 't', '20', 'u', '21', 'v', '22', 'w', '23', 'x', '24', 'y', '25', 'z', '26' ); my @str = split //, $ARGV[0]; my $i; my $j = 0; my $l27 = 0; for($i=$#str;$i>=0;$i--){ print "$j: $str[$i]: $L27{$str[$i]}\n"; $l27 += $L27{$str[$i]}*(27**$j);$j++; } print "$l27\n";
この程度のスクリプトであれば、Perlでもjperlでも動作するわけだが、Rakuで動かそうとすると、結構、難儀をする。ちょろっと調べるぐらいでは書き直せない。そこで、HuggingChatに頼んでみた。Rakuは知っていたが、言葉として知っているだけで、書き直してくれたコードは、Rakuのスクリプトとは言えなかった。javascriptが入り混じったような意味不明のものだった。当然エラーになる。
あきらめて、「Learning Perl 6」{Learning Perl 6 到着 (2018/09/18)}←と首っ引きで、何とか同じ出力をするスクリプトを書くことができた。これで、Rakuに本格的に取り組む準備ができたかもしれない。
my %L27 = # L27 system array '-', '0', 'a', '1', 'b', '2', 'c', '3', 'd', '4', 'e', '5', 'f', '6', 'g', '7', 'h', '8', 'i', '9', 'j', '10', 'k', '11', 'l', '12', 'm', '13', 'n', '14', 'o', '15', 'p', '16', 'q', '17', 'r', '18', 's', '19', 't', '20', 'u', '21', 'v', '22', 'w', '23', 'x', '24', 'y', '25', 'z', '26' ; my @str = @*ARGS[0].comb; my $i; my $j = 0; my $l27 = 0; my $char; my @revn = ( 0 .. @str.elems - 1).reverse; for @revn { $char = @str[$_]; say "$j: $char: %L27{$char}"; $l27 += %L27{$char}*(27**$j); $j++; } say "$l27";
Rakuのコマンドラインと出力。
raku L27calc.raku rudy 0: y: 25 1: d: 4 2: u: 21 3: r: 18 369736
「rudy」という名前は、369736という十進数で表される(102ページ)。「jscripter」なら・・・
raku L27calc.raku jscripter 0: r: 18 1: e: 5 2: t: 20 3: p: 16 4: i: 9 5: r: 18 6: c: 3 7: s: 19 8: j: 10 3024467730090
・・・となる。
PerlからRakuへの特殊変数ガイドは、Perl to Raku guide - special variables | Raku Documentationにある(大元にはPerl to Raku guide - overview | Raku Documentationがある)。「Raku Programming Language」本が出るのを首を長くして待っているのだが、出そうもないなあ・・・自分で書くしかないか・・・しかし、これだけPerlと記法が違うと詳細な移行ガイドが必要だ。Perlユーザーは戸惑ってしまう。思想はそれが発展したものと言えるのではと思うが。もちろん、それ以上に、Rakuを使う必然性を感じさせるものである必要がある。単に同じ機能しかないのなら、移行する必然性はないからだ。実践的な機能と絡めた移行ガイドが必要。記法の比較を示すだけでは何の役に立つのかわからないからだ。
Rudy Ruckerの「Mind Tools」では、現代は情報の時代であり、ポストモダンとされている。
コンピュータは人間の脳のモデルとしてかなり示唆的で、自分が実は何者なのかということを私たちの眼前に呈示してくれる。自分自身を一個の不死身の霊魂であると考えるのではなく、情報を処理する有限のシステムだと考えるのはいまや完全に普通のことである。近代に命を吹き込んでいた宇宙的な不確定性も、今度は人間の情報複雑度にひそむ単なる限界と見られるようになる。
(5 ポストモダン [情報の時代]、46ページ)
もうすぐ8時半、ABEMAの放送が始まる。藤井竜王封じ手、後手56手目9五歩。同歩。後手58手目4七銀打と進む。解説があった手。先手期待勝率が57%と少し上がるが、最善手2四歩。渡辺名人考慮中。
期待勝率が61%まで上がってきた。また59%まで下がる。・・・61%。ABEMA候補手からは、2四歩一択のように見える。形勢が分かれ始めた。62%まで上がった。渡辺名人先手59手目35分考慮中。
ABEMA解説の手順を見てもそれほど単純ではない感じなので、紛れていく可能性もないわけではないだろうが、渡辺名人の考慮時間は伸びている。59手目ということは、最終盤まで読みが入っているのだろうと思われる。考慮56分。
2四歩と指した。考慮62分だった。ここが分かれ目になるかどうか。藤井竜王同歩。渡辺名人ABEMA-AI最善手4五歩を指した。先手期待勝率は62%のまま。いや、58%まで下がった。思考時間とともに、最善手も期待勝率も変動している。後手3六銀成と指した。先手4四歩で期待勝率61%。
4四歩、同銀。65手目同角がABEMA-AIの最善手。後は観戦。
藤井竜王、最年少名人、最年少七冠達成。凄いもんだねー。新名人記者会見が始まった。20:38。いつもの控えめな好ましい発言が続いている。来週はベトナムで棋聖戦第1局があり、王位戦も挑戦者は同じ佐々木大地七段。どのような戦いになるのか楽しみ。
我がぴよ将棋レーティング対局は6級(R570)のピヨ介氏に続いて、5級(R630)のひよか氏に5戦5勝したので、4級(R690)のピヨ士氏との対戦に移行、本日、1勝、レーティング対局復帰後11連勝。以前8勝3敗の3級(R770)のひよん氏との対戦ぐらいから明確な苦戦が出てくるだろうと予想している。一応、過去の実績、初段(R1089)はあるが、まだまだリハビリモードの位置づけ。おそらく、どこかの局面で定跡・序盤をじっくりと研究することが必要になるだろう。