2014年7月17日木曜日

シェルトの手の略記と初手について

初手を指さないことには何も始まらないので、まずは初手から考えることにした。

以下試しに手を次のようにして記号に置き換えて表記する。
  • beezel 1 paal (移動)
    → b1pal
  • beezel 1 paal eketone (取得)
    → b1pal/ket
  • kak raldura umtona (相手が動かした駒を直後に取る)
    → ..ral/tan
  • ilva 1 paal hix (方向転換)
    → i1palx
  • ilva 1 paal has (方向転換解除)
    → i1pal+
  • beezel 2 milf ann beezel 3 faava (随伴)
    → b2mik=b3fav
  • ev kun (張る)
    → +kun
  • sed kun (戻す)
    → -kun
  • fut kun a mat (換える)
    → -kun+mat
また、手の数え方の規定が見当たらなかったため非公式的に将棋方式(先手と後手を別々にカウント)で数えている。(※追記参照)
駒の表示は初期状態における駒種名を用いている。
局面図における先手と後手の色はシェルトテンプレに倣った。

~~~~~~~~~~~~~~~~~~~~~~~~~~
将棋の「▲7六歩」、チェスの「1.e4」に共通していることは、どれも「大駒の利きを早めに展開する」手であるということ。将棋の場合は角の利きを、チェスの場合はナイトとクイーンの利きを初手で解き放っている。

このことからシェルトにおいても大駒の利きを解放する初手が良いのではと考えられ、すると次のような初手が浮かび上がってくる。
  • 1.b4fav
    2つの扉駒の利きを同時に解き放つ一手。
    斜駒を随伴すると片方の扉駒だけを開放する手になる。
    第1手 ■b4favまで
    □( )
    1234567  
    □色□跳□扉□月□扉□跳□色 V
    □縦□横□斜□塔□斜□横□縦 E
                   S
          ∽永       T
          ■塔       B
    ■縦■横■斜  ■斜■横■縦 I
    ■色■跳■扉■月■扉■跳■色 P
    ■( )

  • 1.b2mik=b3fav または 1.b6zan=b5fav
    扉駒と塔駒の利きを同時に解き放つ一手。
    第1手 ■b2mik=b3favまで
    □( )
    1234567  
    □色□跳□扉□月□扉□跳□色 V
    □縦□横□斜□塔□斜□横□縦 E
                   S
          ∽永       T
      ■斜■塔         B
    ■縦■横    ■斜■横■縦 I
    ■色■跳■扉■月■扉■跳■色 P
    ■( )

  • 1.b3lis または 1.b5vio
    跳駒の利きを中央に展開しつつS6(S2),S4を睨む一手。
    ただしこの初手は2.s4kun=s3mat以降の展開が怪しい。
    第1手 ■b5vioまで
    □( )
    1234567  
    □色□跳□扉□月□扉□跳□色 V
    □縦□横□斜□塔□斜□横□縦 E
                   S
          ∽永       T
            ■跳     B
    ■縦■横■斜■塔■斜■横■縦 I
    ■色■跳■扉■月■扉  ■色 P
    ■( )

  • 1.b1pal または 1.b7ruj
    色駒の展開を狙う手。
    第1手 ■b7rujまで
    □( )
    1234567  
    □色□跳□扉□月□扉□跳□色 V
    □縦□横□斜□塔□斜□横□縦 E
                   S
          ∽永       T
                ■縦 B
    ■縦■横■斜■塔■斜■横   I
    ■色■跳■扉■月■扉■跳■色 P
    ■( )

  • 1.b4mik=b3ful または 1.b4fav=b5gil
    B2(B6)を守りつつ斜駒を上げ、片方の扉駒を開放する手。
    第1手 ■b4fav=b5gilまで
    □( )
    1234567  
    □色□跳□扉□月□扉□跳□色 V
    □縦□横□斜□塔□斜□横□縦 E
                   S
          ∽永       T
          ■斜■横     B
    ■縦■横■斜■塔    ■縦 I
    ■色■跳■扉■月■扉■跳■色 P
    ■( )

  • i2fulxi6gilx
    横駒の頭を守る手。
    大駒を展開する手ではないが、斜駒の動きが自由になる。
    第1手 ■i6gilxまで
    □( )
    1234567  
    □色□跳□扉□月□扉□跳□色 V
    □縦□横□斜□塔□斜□横□縦 E
                   S
          ∽永       T
                   B
    ■縦■横■斜■塔■斜◆横■縦 I
    ■色■跳■扉■月■扉■跳■色 P
    ■( )

この手のゲームの上達には実戦経験の蓄積と棋譜並べと抜けのない読みと定跡・戦略の勉強が欠かせないと思うので、定跡・戦略の研究と棋譜の蓄積が進むといいなと思った(他力本願)

~~~~~~~~~~~~~~~~~~~~~~~~~~
2014.07.22 追記
以下のセレン氏のブログにおいて「47手で勝負がつき」(当核対局の手数は先手と後手を別々に数えると47になる)とあるので、将棋方式でカウントして問題無いと思われる。
http://kakis.cocolog-nifty.com/blog/2007/08/post_09f4.html

2014年5月27日火曜日

シェルトの随伴移動について

シェルトでは前一列の駒のことを前衛(salantis)と呼ぶ。
シェルトの手は大きく分けて4つ(移動,方向転換,随伴,張替え)に分けられるが、盤上の前衛については以下の三種類の手が考えられる。
  1. 普通に動かす、または移動先の駒を攻撃しながら動かす(移動)
  2. 方向転換状態にする、または元に戻す(方向転換)
  3. 前後左右に隣接する味方の前衛と共に移動する(随伴)
このうち特に最後の随伴(okke)について以下に述べる。

まず随伴ができる条件として、次の三つがある。
  1. 両者は前後左右に隣接している。
  2. 両者は共に前衛、あるいは一方が前衛でもう一方が前衛を張ったテームスである。
  3. 両者は共に味方、あるいは一方が味方でもう一方がテームスである
2.3.について、慣れるまではテームスが絡んでくる場合を見落とす恐れがあるので注意。

随伴ができるとして、さらに移動先の条件として次の四つがある。
またここで、随伴する側の駒を随伴駒、随伴される側の駒を被随伴駒と呼ぶことにする。
  1. 被随伴駒は随伴駒と共に平行移動する。
  2. 両者の移動先は空きマスである。
  3. 随伴駒の移動先は自身の行けるマスである。
  4. 随伴駒は被随伴駒がある方向へは移動できない。
2.について、これは随伴する際に「相手の駒を取る」または「駒が盤外に出る」ことが許されないことを意味している。
3.について、これは移動できるマスが随伴駒の動きによってのみ決まることを意味している。つまり移動の結果、被随伴駒が本来許されないような動きになっていたとしても関係ないということである。
4.について、これは例えば被随伴駒が右または左にある場合に横軸方向への移動が行えなくなることを意味している。

その他、個人的に以下の不明・疑問点がある。
  • 塔または橋駒が随伴する際、随伴相手が他の駒を飛び越えるのは許されるか。

【参考文献】

もし間違いがあれば教えてください(

2014年3月28日金曜日

シェルトの棋譜

シェルトの棋譜の書き方を考えている。

アルカの場合、移動・取得・回転に関しては恐らく次のようになっている。

  • 移動: [移動先の座標] [移動する駒]
    (例: beezel 1 paal)
     
  • 取得: [移動先の座標] [移動する駒] [取られる駒]
    (例: teeve 4 faava axx)
     
  • 回転: [駒がある場所の座標] [回転する駒] [回転後の駒種]
    (例: ilva 3 milf stent)
ただし幻日辞典の「シェルト」において、将棋の「同」にあたる単語が「kak」、随伴手を表す語として「ann」が用いられている一方、これらの語が辞書には見当たらなかったり、またそもそもこれが書かれている段落のタイトルが「座標の読上」であることもあってか、テームスの張換えに関する記述が見当たらないなど幾つか疑問が生じている。

そこで今のところ随伴・張り・剥し・換えについては、あくまで仮のものとして以下の様な表記で手の表示を実装している。
  • 随伴: [随伴駒の移動先] [随伴駒] ann [被随伴駒の移動先] [被随伴駒]
    (例: beezel 4 milf ann beezel 5 faava)
     
  • 張り: ev [張る駒]
  • 剥し: sed [剥がす駒]
    (例: sed mat)
     
  • 換え: fut [剥がす駒] a [張る駒]
    (例: fut rava a kunon)
また、シェルトの横軸名は
Velm, Erva, Satii, Teeve, Beezel, Ilva, Palt
と頭文字が被らないので、頭文字を使うと例えば
 beezel 1 → b1
みたいに略したりもできるかもとか考えていたりする。

この略し方を使って「人工言語憩いの場(teacup)」でのセレン氏とクロ氏の対局を書いてみると次のような感じになる。
(tem→teems)
  1. b5 vio
  2. s5 lin
  3. b4 fav
  4. s4 mat
  5. b2 mik
  6. s6 lax
  7. kak vio lax
  8. s3 ket
  9. v7 vio len
  10. kak tan vio
  11. i3 ful ann b3 zan
  12. s1 lin ann s2 rez
  13. ev lax
  14. e4 ket
  15. s5 tem lin
  16. kak ket tem (違法手?)
  17. s4 fav mat
  18. kak kun fav
  19. b1 lis
  20. s3 rez
  21. p2 dyu
  22. t3 kun
  23. t2 mik
  24. s2 rez
  25. t2 mik soma
  26. s3 nen
  27. s2 mik rez
  28. kak kun mik
  29. kak lis kun
  30. e1 rav
  31. v3 lis pin
  32. kak mir lis
  33. i4 mel
  34. e7 tan
  35. t2 mel
  36. t5 nen
  37. i7 ruj hix
  38. t1 lin
  39. b4 zan ann b5 gil
  40. s7 nen
  41. ev kun
  42. e4 ket tem
  43. kak mel ket
  44. kak mir mel
  45. t2 dia
  46. e5 mir
  47. t3 dia
    以上アルシェのハルマチェック3点勝ち
折角なのでnias氏作のプログラムで再生できる(はず)の棋譜データも上げてみる→棋譜

今人工言語憩いの場の対局が行われた過去ログを見ようとしたらデータが無くなっていた。
どこかに残ってないのかな。

2013年12月31日火曜日

ゆく年くる年

今年はあまり絵を投稿しなかったと思った。
来年からは多分時間ができると思うので普通に投稿できるといいな。

シェルトは搭載したいと思ってた機能は全部載っかった。
なのであとは細かいバグ取りとかをしないといけない。
今年度中は時間が全然ないので、次にプログラムをいじるのは4月以降になる模様。
スパゲッティ化が著しいので早めに完成させたい。

拙作の人工言語(ハーレンリーゼ)を作り直し始めた。
といっても辞書を作り直すだけなので、殆ど単語の見直しみたいになる。
文法とか言い回しも若干いじる。
 前:vi gatuiren di gahtex. [vi gatuun di gaatxe]
 後:vi gaduez di gahtie. [vi gadyuu di gaatii]
 訳:私は力強く立ち上がる。
なお文法書作りも来年度の模様。

来年の抱負(理想)は幾つかのゲームを完成させることと、看板娘にもっと活動してもらうことです。
あと一時間くらいで年が明けるので、今年最後の食事(そば)を済ませることにします。

それではよいお年をー

2013年12月21日土曜日

ロシア語入力

ロシア語を入力したかったので設定した。
привет спасибо хорошо

タイピングサイトで暫く練習してキー配置を指に焼き付けた。
まだтやбの入力がスムーズに行かない。
片手タイピングへの道は長い。

あとシェルトの局面数(自由に配置してできる局面の総数)を求めたいと思った。
出来たと思ったら問題点を見つけて最初から立式し直すのを4,5回くらい繰り返した。
最終的に場合分けが複雑な式が出てきて困った。

棋譜に埋め込んだ可逆盤面ハッシュが00-99とxxを29個並べて局面を表せてるので、その 10129 ≒ 1.33x1058局面からルール上許されない局面(一つのマスに複数の駒があるなど)を除いたくらいの値になる予定。

Googleで検索したところチェスの場合は1047局面程度、将棋の場合は1070局面程度の模様。これくらいが相場か。

2013年4月23日火曜日

複素数の平方根

お久しぶりです。

タイトルの通り、複素数の平方根を導きます。
導出過程は分かりませんが、結果は多分合っていると思います(

なお、文中の謎の長文はページ全体が読み終わった途端数式の画像に変化する魔法の呪文です。
変化しない場合はリロードしてみて下さい。

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

《 方針 》
一般に複素数zを実数の組で表す方法には次の2つがあります。
ⅰ. 実部aと虚部bによる表示(直交形式)
z = a+bi
ⅱ. 絶対値rと偏角θによる表示(極形式)
z = re

このうちⅰの直交形式からそのまま導く方法は大分前に書いたので、今回はⅱの極形式を用いて導くことにします。

ここで、ⅱの極形式の平方根は
\pm\sqrt z = \pm\sqrt{re^{i\theta}} = \pm\sqrt{r} e^{i{\theta/2}}
と表わされるので、今回は±√r eiθ/2を最終的に直交形式にするのが目標となります。


《 導出 》
-π<θ≦πとする.
オイラーの公式より
 \pm\sqrt r e^{i\theta/2} = \pm\sqrt r \cos{\theta\over 2}\pm i\sqrt r \sin{\theta\over 2} ・・・①
この式の三角関数を取り除けばよい.

半角の公式より
 ⅰ. -π<θ<0のとき
 \sqrt r \cos{\theta\over 2}=\sqrt{{r+r\cos\theta}\over 2}\sqrt r \sin{\theta\over 2}=-\sqrt{{r-r\cos\theta}\over 2}
 ⅱ. 0≦θ≦πのとき
 \sqrt r \cos{\theta\over 2}=\sqrt{{r+r\cos\theta}\over 2}\sqrt r \sin{\theta\over 2}=\sqrt{{r-r\cos\theta}\over 2}
ここで, 直交形式と極形式の変換から
 r\cos\theta=a
であるので, これを代入して
 ⅰ. -π<θ<0のとき
 \sqrt r \cos{\theta\over 2}=\sqrt{{r+a}\over 2}\sqrt r \sin{\theta\over 2}=-\sqrt{{r-a}\over 2}
 ⅱ. 0≦θ≦πのとき
 \sqrt r \cos{\theta\over 2}=\sqrt{{r+a}\over 2}\sqrt r \sin{\theta\over 2}=\sqrt{{r-a}\over 2}
したがって
 ⅰ. -π<θ<0のとき
 \sqrt r \cos{\theta\over 2}=\sqrt{{\sqrt{a^2+b^2}+a}\over 2}\sqrt r \sin{\theta\over 2}=-\sqrt{{\sqrt{a^2+b^2}-a}\over 2}
 ⅱ. 0≦θ≦πのとき
 \sqrt r \cos{\theta\over 2}=\sqrt{{\sqrt{a^2+b^2}+a}\over 2}\sqrt r \sin{\theta\over 2}=\sqrt{{\sqrt{a^2+b^2}-a}\over 2}

また
 -π<θ<0 ⇔ b < 0
 0≦θ≦π ⇔ b ≧ 0

であることを確認する.

以上より,得られた式をそれぞれ式①に代入すると, 求める方程式

ⅰ. b < 0のとき
\pm\sqrt{a+bi} = \pm\sqrt{{\sqrt{a^2+b^2}+a}\over 2}\mp i\sqrt{{\sqrt{a^2+b^2}-a}\over 2}
ⅱ. b ≧ 0のとき
\pm\sqrt{a+bi} = \pm\sqrt{{\sqrt{a^2+b^2}+a}\over 2}\pm i\sqrt{{\sqrt{a^2+b^2}-a}\over 2}

を得る.(終)

2012年9月17日月曜日

古城みの

お久しぶりです。

このたびハンドルをArckeyから古城みのに改めました。
やっぱり日本語式のほうが落ち着きますね。個人的に。

あと結構前になりますが、pixivに投稿したこちらの絵が発見されてました
果たして読める文になってくれていたのか……?