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に投稿したこちらの絵が発見されてました
果たして読める文になってくれていたのか……?

2012年3月12日月曜日

赤目じゃなくなった


何回か描き続けているキャラクター。
花形のバッジをつけている通り、一応の看板娘です。
名前は一応あるので直にどこかに載せるつもり。

上の絵の場面設定は当初は寝起きだったのですが、没になったので描き直したら結果的に寝起きじゃなくなってよく分からない状況になってしまったという流れ。

2011年7月19日火曜日

二重根号が外れる条件

高等学校で習う(かもしれない)二重根号の外し方

が適用できる条件を探る。

色々と式を弄ると、二重根号を外す操作は最終的に

となりました。

このとき
 a2- 4b
が有理数の平方であれば根号が外れるので、つまり条件は
 『 a2- 4b = c2 を満たす有理数 c が存在する』
となるようです。

2011年7月3日日曜日

方程式解 -Algebraic Equation-

代数方程式ソルバーです。(→http://goo.gl/Ig7UG

1~4次までは代数的な方法で、5次からはDK法で計算します。
多倍長精度とかではありませんので悪しからず。

2011年4月1日金曜日

大きい方・小さい方

JavaScriptのMath.max・Math.min関数のような、与えられた二つの引数のうち大きい方・小さい方を返すような関数を、数式で表現できないかなと思ったら出来たのでその結果を↓


使いどころは特にありません。

2011年3月9日水曜日

移転しました(HP)

FREESPACEの挙動がアレなので今のうちに移転しました。
http://arckey.6.ql.bz/

ついでにほんの少し改装されました。

2011年1月26日水曜日

複素数の平方根・立方根

複素数の平方根・立方根を代数的に求めてみる。


①平方根
とおくと、 x ,y はそれぞれ複二次式
の根。


②立方根
とおくと、 x ,y はそれぞれ複三次式
の根。


恐らく合ってるでしう

2010年12月31日金曜日

ssqrt関数

ランベルトのW関数を使わずに
 2x = a
の根を求める為、ニュートン法で漸化式を立ててみる。

2010年12月19日日曜日

テトレーションのグラフ+α

実部(青)と虚部(赤)を合わせて写してみる。

y = 2x

y = 3x

2010年12月18日土曜日

テトレーションのグラフ

テトレーションに興味を持ったのでグラフを描いてみる。

y = 2x

y = 3x

左の方から複素数を感じる。


< 追記 >
英語版Wikipediaのテトレーションの項目がとても充実していた。
Tetration - Wikipedia, the free encyclopedia

2010年11月28日日曜日

DSi AirPort

DSiブラウザで見ると色々動きます。→

2010年11月18日木曜日

ネイピア数


を使ってn=100の値を手計算してみたら、筆算の過程で上手く桁がずれて

1.01^2 = 1.0201
1.01^3 = 1.030301
1.01^4 = 1.04060401

とパスカルの三角形が現れそうになったので

を思いついた次第。

ちょっと計算し易い(?)

2010年11月1日月曜日

Formula

という数式表示のサービスを見つける。→



便利。

2010年8月12日木曜日

HSPプログラムコンテスト2010

に作品を出しました。


融塊棒-Dangerous Rod-
一言でいうなれば弾幕系イライラ棒とでも。弾は出ませんが。

当たったら死にそうな棒から、矢印をストーキングしてくる赤い物を逃れさせることが目的です。

今回は前回以上に乱数をふんだんに用いているので、レベルが進むほど運と直感のゲームへと変貌していきます。そのため、ちょっとした見落としは確実に命取りとなります。注意。

ちなみにレベルの上限は20です(その前に人間の壁が訪れますが)。