SSブログ

気楽に出来る無限大升目&駒数将棋の作成方法(長さん)

前に何度か、同じような題でゲームを紹介した。
が、人間にはゲームがしやすく、原理的に着手
空間が、無限に大きい事が、余り気にならない
将棋というのは、少なくとも、極めて簡単に作
るという所まではいかなかったかった。そこで

今回は、この難問に挑戦してみた。

 両軍の開始時の自陣同士の間隔が、今までの
例と違い、無限大で、配列がほぼ本ブログの西暦
1390年タイプの普通唱導集大将棋のパターンの
繰り返しで、覚えやすいゲームが出来たので報告
する。なお、繰り返しの基本単位が、普通唱導集の
大将棋というのは、やりやすい為以外に、理由は
無い。ポイントは、

走り方であり、別の駒の直前でしか止まれず、
かつ、間の升目数が気にならないように、縦横
走りだけにして、駒の個性は、付加的な小さな
升目数の動きに改変かつ限定すれば良という点

である。
 なお、普通唱導集大将棋の構成駒は、そのよう
な駒の動かし方ルールでは当然ない。そのため
玉将と太子を除いて、ほぼ全部、駒の動かし方
ルールも、系統的に変えてみた。
 では、以下に説明を続ける。
 以下の図が、初期配列図である。

無限普通唱導集初期.gif

 中間に:の升目が有るが、両軍で同じ数だけ
無限に升目が有るとする。エクセル表で示した
ので、番号をエクセル表の番号で言うと、16
列の所が、中央段になり、無限に大きな盤だが、
縦横奇数升目であると仮定する。図のように、
歩兵列から見て、3段下の中央に玉将が配列さ
れ、その下には、玉将が近王に、桂馬が八方桂
の騎兵に代わるだけで、同じパターンで、段が
配列される。横は、車列の外側から、龍馬列の
繰り返しとなる。ただし、龍馬はカッコ付けに
方行に変えてある。
 つまり、浅い所に玉駒が配列されている、無
限大升目、駒数将棋になっている。駒の名前は
普通唱導集大将棋の、類似の動かし方の駒名で、
代用してある。ただし、玉将と酔象の成ってで
きる太子を除いて、普通唱導集大将棋とは、
走り駒が3升目走りになるという点。
歩兵と仲人を除いて、縦横に停止点限定走りの
動きが加わるという点。
仲人は停止点限定走りが、後退する場合だけで
ある点。
歩兵と仲人は前方走りが出来るが、中段-1で、
一旦停止のある停止点限定走りである点。
かつ、仲人と歩兵は残りの縦横方向へは、走れ
ないという点。
以上が違う。

つまり元々の走りが3升目になった上で、
歩兵と仲人と玉将と太子以外は皆、飛車のよう
に走るが、止まれる升目が普通の走りとは違う

という意味である。

 本来の動きは、走り駒以外は同じ

としよう。
 そこで次に、新たに加わる、玉、太子、歩兵、
を除き、仲人については後ろ動きだけに限定さ
れる飛車状の走りについて、以下に説明する。
 ルールは以下のようになる。
 元々の動きの最大升目数を超えて、縦横に遠
くへ行くときには、走りの動きであるが、止ま
れる升目は、別の駒の直前か、一つ置いて手前
の升目のどちらかに、限定されるものとする。
つまり、別の駒が相手駒でも、その動きのとき
には取れない。ただし、元々行けない方向につ
いては、隣接升目動きには、このルールは適用
されず、隣接升目では止まるケースが無く、2
升目以上に関して、特殊な走りの対象とする。
 簡単な飛車について例として述べると、相手
の駒が、縦横6升目先に有るときには、飛車は

走りの動きでかつ、隣、2つ向こう、3つ向こ
う、4つ向こう、5つ向こうの何れへも走れる。
ただし、相手の駒は取れない。

次に、7升目先に相手駒があるときには、

走りの動きでかつ、隣、2つ向こう、3つ向こ
う、5つ向こう、6つ向こうへ走り、4つ目で
は止まれない。また、相手の駒は取れない

となる。ちなみに横走りの際問題になるが、別
の駒が無い場合には、今述べた特殊な走りが、
出来ないとする。つまり別の駒が無いと、全て
の駒は3升目を越えては、走れ無いものとする。
 なお、初期配列で、自陣の最前列から相手陣
の最前列まで、この将棋では無限升目有ると
考える。しかし、走りは無限升目でも走りきれ
るので、相手駒の手前まで、殺到できるルール
になっていて、無限大将棋に対応出来ているの
である。
 なお、仲人は普通の駒と異なり、この走り方
で前後しか走れない。歩兵は前しか走れない。
しかも、歩兵と仲人の前走りには、上に述べた、
止まりの制限に加えて、他に駒が無くても、
中央ラインより手前に、着手前に居る場合には

中央段の一升目、自陣側の隣接段で、1回停止
してから、更に別の手で、他の駒のある升目の
手前ないし、一升目手前まで走らなければなら
ない

というルールが有るとする。ただし、現実には
有り得ないが中段までは、その先に、別の駒が
無くても歩兵、仲人は関係なく、中央一つ手前
升目まで行けるとする。
 次に、それぞれの駒の動きについて述べる。
今述べた特殊な飛車走りの他は、普通の走りが
3升目、限定走りに変わる点を除いて、それぞ
れの駒名で表せるルールで、動く。角行は斜め
に3升目走って、縦横に取れない無限走り飛車
動きが加わるという、感じにしよう。
 なお、飛龍と猛牛は2升目まで踊りとしたから、
この将棋ではかなり強い。特に猛牛は、元々の
普通唱導集では、唄われないほど地味だったが、
この無限大将棋では、重要な守り駒となる。
 成りは、酔象が太子で、太子は玉将と共に、
走ら無いとする。ので相手陣から、戻れない。
麒麟が獅子、鳳凰が奔王であるが、取れない十
字走りが加わり走れるので、全部ルールが変わ
る。歩兵と仲人と反車と一段目駒は、玉と金将
と近王、騎兵以外は基本的に金将に成る。
近王は、前旗が普通だが、結局奔王といっしょ
なので、この将棋では、奔王に成るものとする。
騎兵は騎総だが、不成で良いだろう。その他
は不成で、本ブログの言う、西暦1290年型
普通唱導集大将棋の、成りパターンとしよう。
なお、金将は縦横に、今述べた特殊な走りが加
わる。
 以下に、指し終わりの一例を示す。たぶん、
この局面で、先手玉が詰んでいるはずである。

無限普通唱導集指終.gif

 この将棋は、人間には、
後手陣について言うと、H11の位置の横行前
の歩兵の位置で、麒麟が成った獅子を作って、
相手陣を喰い荒らして勝つという、普通唱導集
の大将棋の唱導唄に、唄われているとみられる
定跡類似の戦法を、いかに取るかを考える将棋
に、しばしばなるようである。
 しかし、以下の理由でコンピュータには、予
め用意しなければならない、配列型の必要なメ
モリー数そのものの、把握の難しい、

演算の、土俵に乗るまでが、たいへんな将棋

のはずである。元々駒も升目数も無限に有るか
らである。つまり、たとえば右横行の頭攻めを
しようとして、遠くの方から方行を、幾つか中
央に寄せて置く事を考える際、人間ならどこか
ら持ってくるのかを、余り気にしないはずであ
る。

どこか、遠くの方からまたは、その辺の近くの、
どうでも良い所から、予め前出しして、J20
からJ19へ上げておいた仲人の横まで方行を
持ってくる手を、何回か指して・・

という感覚で処理するはずだ。しかし、コンピュ
ータは、モンテカルロなり、何処から持ってき
ても同じの同一視の概念を、予め導入するなり
して、

使用するメモリー容量を、気にしながらでない
と、ミニマックス等の演算作業に入れない

はずである。そこで、”ディープラ-ニング”
させるときに後々を考えて、意地悪く人間が、
攻め駒の方行を、近くから持ってきたり、遠く
から持ってきたり、取り混ぜたり、規則性や
不規則性が判りにくくしながら指せば、学習は
不能のはずだ。つまり、新聞等で話題の、G社
の量子コンピュータを用いたとしても、

プログラミング手法が、遠い未来型では無くて、
今の方式であるから、所詮、”必要な配列数”
を予め指定しなければ、プログラミングできず、

このゲームは、ゲームを定義する事自体が、
コンピュータには苦手なタイプなので、
人間の方が有利なのではないかと、私は思う

のである。
 だから、今回述べたゲームは、単純に演算が
早いコンピュータが出てきても、今のプログラ
ミング手法が続くうちは、将棋ソフトは

エラーを出しまくりながら、だましだまし着手
を出力してくるのが落ちと見る。ので人間には、
さほど難しいゲームではないが、コンピュータ
が、人間には勝ちにくいゲームの典型

なのではないかと、私は予想しているという事
なのである。(2019/10/21)

nice!(1)  コメント(0) 
共通テーマ:趣味・カルチャー