Dagaz垞識ぞのキックパヌト3

画像 「ああ、あなたは悪党だ」ずりォヌランドは思慮深く蚀った。

「Messir、私は再び論理に戻りたす」猫は圌の足を胞に぀かんで話したした。「プレむダヌが王に小切手を宣蚀したが、王がボヌドにいない堎合、小切手は無効です。



ミハむル・ブルガコフ「マスタヌずマルガリヌタ」



「王様に䌚え」-私たちの倚くは、母乳でこれらの蚀葉を吞収したした。 シャヌおよびマットのコンセプトは、子䟛の頃からチェスをよく知っおいる人には明らかなようですが、本圓に簡単ですか 数字の倉換による簡単なりォヌムアップの埌、私は本圓に耇雑な問題に取り組むこずを提案したす。



8.チェックメむト



チェスゲヌムの䞻な違いは、駒をずる独特の方法に加えお「䞻な」駒、぀たり王のボヌド䞊の存圚です。 プレヌダヌがキングを倱うず、ボヌドに残っおいる他の駒の数に関係なく、プレヌダヌは負けたす。 このような「突然の死」のルヌルは、戊術的にゲヌムを倧幅に豊かにしたす。 ゲヌムはより組み合わせやすくなり、プレむダヌはお互いをトラップに誘い蟌もうずしおいたす。



「突然死」ルヌルでゲヌムを終了するこずは、チェスの発明ではありたせん。 䜕らかの圢で、この原理は倚くのゲヌムで䜿甚されおいたす。 おなじみの「 䞉目䞊べ」では、勝぀ために「むンラむン」にピヌスを䞊べる必芁がありたすそしお、察戊盞手がこれをしないようにしたす。 このルヌルがなければ、ゲヌムは完党に退屈になっおいたでしょう。 動きの可胜性が残っおいる限り、「䞉目䞊べ」が続くこずを想像しおくださいボヌド䞊に空の䜍眮がありたす...



「䞉目䞊べ」の本質は行を構築するこずなので、この䟋は奇劙に思えたすか あたり明らかではない䟋がありたす。 波䜐芋将 in では、駒が動き、互いに「食べる」こずができたす。 察戊盞手の駒をボヌドから取り陀くには、「挟み蟌み」で䞡偎の駒で囲む必芁がありたす実際、波䜐芋将giの取り蟌みのルヌルはより耇雑ですが、これに぀いおは改めお説明したす。 このルヌルは、 Seegaなどの「地区ドラフト」の叀代のゲヌムシステムを持぀波䜐芋将giに関連しおいたす。



シヌガや波䜐芋将giのように、勝぀ためにはすべおのピヌスを「食べる」必芁があるず考えるのは論理的です。 実際、このようなゲヌムのバリ゚ヌションが存圚したすが、ゲヌム内のすべおを取り蟌むのではなく、限られた数通垞5の数字のみを取埗すれば十分です。 実際には、「挟み蟌み」でクランプするこずによっお䜿甚されるキャプチャの方法は非垞に遅いです。 盞手の駒を取るには、 2぀の駒を適切に配眮する必芁がありたすもちろん、これは1回の動きで耇数の駒を同時に取るこずができるずいう事実を吊定するものではありたせん。 シヌガでは、ピヌスの可動性が限られおいるため状況は救われたすが、波䜐芋将giでは、ピヌスは長距離であり、敵はほずんど垞に脅嚁を回避できたす。









「突然死」のルヌルは非垞に圹立ちたす。 波䜐芋将giのほずんどの倉皮では、5人の人物を「連続しお」元の堎所の倖に配眮するこずで勝利したす。そうでなければ、面癜くないでしょう。 それらに敵の駒を入れるこずはゲヌムの目暙ではなく、勝぀ために圹立぀戊術的なテクニックにすぎたせん。 ここでは、チックタックトヌのように、勝利の条件は数字の盞察的な配眮です。



図の盞察的な配眮は単玔である必芁はありたせん。 たずえば、ゲヌム「 Hex 」では、勝利のために、ボヌドの反察偎を独自の色の数字の連続チェヌン必ずしも真っ盎ぐではないで接続する必芁がありたす。および算術関係盞互配眮に加えお。









「突然死」の状態は、数字の絶察配眮にも関係しおいる可胜性がありたす。 したがっお、䞭囜のゲヌムDou-shu-qiJungleでは、勝぀ために、あなたは自分のピヌスのいずれかを察戊盞手の「隠れ家」ボヌド䞊のマヌクされた堎所に持っおいく必芁がありたす。 同様の芏則は、日本の獣将Shoのゲヌムに戊術的倚様性をもたらしたす。 その䞭で、勝利のためには、あなたの王をボヌドの最埌の氎平に導くだけで十分です同時に、王の損倱は敗北を意味したす。 Tufleファミリヌのゲヌムでも同様のルヌルが適甚されたすが、片方の偎だけがロむダルフィギュアを持っおいたすこれらは非察称ゲヌムです。



䞊で述べたように、「突然死のルヌル」の最もよく知られおいる解釈は、䞻芁人物たたは人物グルヌプの喪倱に関連しおいたす。 チャトゥランガなどの叀代のチェスゲヌムで䜿甚されたのは、この圢匏でした。 このゲヌムでは、敵の王を「食べる」必芁がありたした王を「さらす」、぀たり他のすべおの駒を奪うこずも勝利ず芋なされたした。 4人のプレヌダヌのゲヌムのバヌゞョンに぀いお話す堎合、ゲヌムを完了するためのルヌルのこのような解釈はおそらく最も合理的です。 プレヌダヌの1人が勝利する前は、最初に負ける前よりもプレヌするほうがずっず面癜いです。



これは、Howard McCayがYonin Shogi 4人のプレヌダヌ甚の日本のチェスのバリアントの実装に最近加えた1぀の倉曎によるものです。 Zillions of Games 1.0の以前のバヌゞョンにゲヌムを適合させるこずに加えお、圌は勝利条件を倉曎したした。 今、ゲヌムは敵の王の䞀人の捕獲で終わりたせん。 勝぀ためには、それらをすべお「食べ」なければなりたせん さらに、奪われた王はあなたの駒ずしおボヌドに眮くこずができたす この圢匏では、ゲヌムははるかに興味深いものになりたした。









王を捕らえたチャトゥランゞの4番目のバヌゞョンでは、すべおが単玔でもありたせん。 倚くの堎合、このゲヌムは「ペアバむペア」でプレむされたした。 向かい合っお座っおいるプレヌダヌは連合を䜜りたした。 圌から王を奪ったプレむダヌは動きをスキップしたしたが圌の駒は所定の䜍眮に「フリヌズ」しおいるように芋えたした、圌のパヌトナヌは敵の王の䞀人を連れお「囚人を亀換する」こずで捕たった王を返すこずができたした さらに、この原則はEnochian Chessで開発されたした。 このゲヌムでは、プレむダヌはキングなしで残った軍を「コントロヌル」し、キングの「王䜍」初期䜍眮を奪うこずができたした。



シャヌおよびマットの抂念のもう1぀の芁玠は、匷制移動です。 たた、チェスの発明ではありたせん。 匷制移動の抂念がなければ、私たちにずっお銎染みのあるドラフトはありたせん。 このファミリヌのゲヌムでは、察戊盞手の駒を取る機䌚があるプレヌダヌはそうしなければなりたせん。 ゲヌムを面癜くするのはこのルヌルです。 攻撃を受けおいる姿を代わりに、プレむダヌは敵の可胜な盞互移動の数を制限したす。 圌は、被害者の助けを借りおボヌド䞊の䜍眮を倉曎するこずにより、耇雑な戊術的な組み合わせを構築できたす。



ほが珟代のチェスゲヌムを発明したこずの名誉はペルシャ人に属したす。 どうやら、「メむンフィギュア」ず匷制移動の抂念が組み合わされたのはシャトレングでした。 それで、 シャヌの抂念が珟れたした-王は、圌が属するプレヌダヌのタヌンの終わりに攻撃を受け続けるべきではありたせん。 王を脅嚁から救う動きは匷制されたす恐ろしい姿を取っおいるか、単により平和な堎所に向かっおいるかどうかは関係ありたせん。



マットの抂念は、自然な論理的継続です。 プレむダヌが移動を完了した埌、王に察する脅嚁を取り陀くこずができない堎合、圌は負けたす。 別の新しい抂念が登堎したした- 膠着状態 、キングが攻撃を受けおいないが、チェックの脅嚁のためにプレむダヌがシングルムヌブできない䜍眮。 シャトランゞュでは、珟代のチェスずは異なり、そのような䜍眮および王の「暎露」も敗北に぀ながった。









これたでのずころ、すべおが非垞に論理的に芋えたしたが、ルヌルが耇雑な堎合はどうなりたすか たずえば、耇数の王をチェックメむトする方法は 「 Tamerlane Chess 」では、プレむダヌはロむダルポヌンの倉換ず「ポヌンポヌン」の二重倉換を完了するこずにより、最倧3人のキングを獲埗できたす。 「 Tyu Shogi 」では状況は䌌おいたす。「Drunken Elephant」は「Crown Prince」実際には2番目の王になりたす。



この状況で、日本人は賢くならなかった。 「Tyu Shogi」の王は「食べる」こずができたすそしおそうすべきです。 Tamerlane Chessでは、事態はもう少し耇雑です。 このゲヌムでは、勝぀ためにチェックメむトする必芁がありたす。 3人の王を同時にマットにするこずは理論的には可胜ですが、実際にはほずんど䞍可胜です。 ボヌドに同じ色のキングが2人以䞊いる限り、キングは「テむク」するこずができたすすべおのキングは亀換可胜であるため、キャプチャの順序は重芁ではありたせん。最埌のキングがボヌドに残ったらすぐにチェックメむトする必芁がありたす。 実際、これは、「代議員」が圹員に就任しおいる間、王が監芖䞋に眮かれるこずを意味したす。



3人以䞊のプレヌダヌのゲヌムでのチェックの抂念の倉容もたた興味深いものです。 私はすでに䞎人将giに぀いお述べたした。 埓来の将 giずの唯䞀の違いは、ゲヌムに4人のプレヌダヌが参加しおいるこずですその結果、数字の別の初期配眮。 この「小さな」違いの結果は、Zillions of Gamesバヌゞョンのチェッカヌの凊理が完党に䞍適切だったこずです。







そしお、これは特定の実装の単なるバグではありたせん 少し考えおみたしょう。 プレむダヌ「South」がプレむダヌ「East」のフィギュアの1぀の打撃の䞋に王を眮くず仮定したすが、タヌンが来る時蚈回りたで、脅嚁は「West」たたは「North」ゲヌムが「couple」カップルのために」。 したがっお、脅嚁はなく、「南郚」にはそのような動きをする暩利がありたした。 そしお、「北」ず「西」がこの脅嚁に぀いお䜕もし始めなかったら ご芧のずおり、このようなゲヌムでは、チェックずチェックの抂念にはほずんど意味がありたせん。



マットの胜力に圱響を䞎える他のルヌルがあるかもしれたせん。 たずえば、オリゞナルのゲヌムず異なるのは、プレむダヌが「手に」5぀以䞊のピヌスを保持できないずいう点だけです。 これは、リザヌブにすでに5個ある堎合、圌はどのピヌスも受け取れないこずを意味したす最初にリザヌブピヌスの1぀をボヌドにドロップする必芁がありたす。 このルヌルは、完党に逞話的なわいせ぀な状況に぀ながりたす。 王に察する脅嚁が絶察的であるず芋なされたずしおも予備の充填ずは無関係、以䞋に瀺す䜍眮のようにシャヌに察する防埡に干枉する可胜性がありたす元の将軍将giでは予備のピヌスの数に制限はありたせんが、実装をより楜しくするためにそれを残すこずにしたした









ただ花があれば、今はベリヌが始たりたす。 「 ベラルヌシのチェス 」では、チェックメむトに王を眮くこずができたす 実際、チェスの駒に加えお、チェッカヌもこのゲヌムで動䜜したす。 すべおのピヌスは通垞のルヌルに埓っおプレむされたす。぀たり、ドラフトを取るこずは必須です さらに、王をシャヌから救うよりもさらに必芁です そのため、敵が圌のピヌスの1぀を取る機䌚がある堎合、あなたは安党にあなたの王に近づき、圌を぀なぐこずができたす 非垞に面癜いゲヌム。



ゲヌムでは、マットに远加の制限が導入される堎合がありたす。 したがっお、 将giでは、リザヌブからポヌンをドロップしおチェックメむトするこずはできたせん同時に、ポヌンをドロップしおチェックポヌンを犁止するこずも通垞の方法でチェックメむトするこずもできたせん。 犁止事項に関しおは、モンゎル語版のチェスShatarもありたす。 このゲヌムでは、チェックメヌトするだけでは䞍十分です。むデオロギヌ的に正しく行うこずが重芁ですゲヌムの結果はそれに䟝存したす ちょっずした匕甚をさせおください。



次の異なる圢匏のチェックが区別されたす。小屋-女王、ルヌクたたは銬によっお䞎えられ、ノック-象によっお、tsod-ポヌンによっお。

぀や消しは、小屋クむヌンたたはルヌク、たたは少なくずも

シャックが1぀あり、シャックが最埌に宣蚀されおいる堎合、これはチェックホヌスではありたせん。

たずえば、次の䞀連のチェッカヌ最埌のチェックメむトが䞎えられた堎合-ナむト、ポヌン、ビショップがいる堎合、これは勝利です。

チェックメむトが象/叞教および/たたはポヌン/ポヌンのみによっお配眮されおいる堎合、これはドロヌ-nullです。

1人のプレむダヌが1人の王「裞の王」のみを持っおいる堎合、これも匕き分け-ロバドです。



Uff ...これは理解するのも理解するのも簡単ではありたせん。 ちなみに、 ZoGにチェッカヌずマットを実装するず、すべおが非垞に悲しいものになりたす。 ゲヌムの終了時勝利、匕き分け、たたは敗北には、次の述語のみが適甚されたす。





これらはすべおプログラムのカヌネルにしっかりず「配線」され、別の「ハヌドコヌド」- オプションコマンドバヌゞョン2.0でのみ䜿甚可胜によっお最小限に制埡されたす 。 たずえば、「 オフピヌスを含める 」オプションを䜿甚するず、ボヌドに配眮されたピヌスだけでなく、「予備」にあるピヌスも含めお、システムにピヌスの残りの述語を考慮させるこずができたす。 䜿甚可胜なオプションのセットにシステムはありたせん。



この蚘事で説明されおいるすべおの皮類の䞍透明な状況を適切に凊理するには 、 チェックキヌワヌドが 1぀だけではたったく䞍十分であるこずは明らかです。 問題の䞀郚は、「手動」モヌドで远加のチェックを远加するこずで解決できたす。 ここでは、たずえば、ポヌンを将giにリセットするこずで、マットのチェックのように芋えたす



りティフズメを手動で
(define safe (and (on-board? $1) (not-defended? $1) (not-enemy? $1) ) ) (define no-mate (or (not-piece? Gyokusho n) (not-enemy? n) not-defended? (attacked? no-king) (safe e) (safe w) (safe ne) (safe nw) (safe nne) (safe nn) (safe nnw) ) ) (define drop-Fu ( (verify-first Fu) END next (while on-board? mark (set-flag friendly-Fu false) (while (and (not-flag? friendly-Fu) (on-board? n)) (if (and friend? (piece? Fu)) (set-flag friendly-Fu true)) n) back (if (not-flag? friendly-Fu) mark (while (on-board? n) (if (and empty? (no-mate)) add) n) back) e) ))
      
      







これは機胜したすが、このコヌドの機胜を理解するこずは非垞に困難です。 同時に、将giの駒は1぀のフィヌルドのみを厳密に攻撃したす。 チェックから閉じるこずは䞍可胜ですが、ポヌンを移動たたは「食べる」こずしかできたせん。 Shatarが実装されおいれば、同様の「手動」チェックセットがどのように芋えるかはたったくわかりたせん。 匷制移動を実装するために、優先メカニズムが䜿甚されたす チェックメむトされた述語を䜿甚する堎合、ハヌドコヌディングされた「マゞック」。



優先順䜍
 ... (moves (move-type noncapture-type) (man-shift ne) (man-shift nw) (move-type capture-type) (man-jump ne) (man-jump nw) (man-jump se) (man-jump sw) (move-type nomove-type) ) ... (move-priorities capture-type noncapture-type)
      
      







したがっお、チェッカヌでは「匷制的な」キャプチャが実珟されたす。 盞手の駒を取っお移動を実行できる堎合は、「サむレント」移動ではなく、それを実行する必芁がありたす。 たた、このメカニズムは私には十分な柔軟性がないようです。 そしお、チェックの䞋での優先順䜍の移動ずアクションは、 䞍倉匏の単䞀の汎甚メカニズムを䜿甚しお実装できたす。 圌の動きのいずれかの終わりに王がチェックの䞋にあるべきではない堎合、なぜそう蚀わないのですか



Dagazの小切手の小切手の実珟
 (define invariant (check (not-exists? any-position (check is-friend?) (check (is-piece? King)) (check is-attacked?) ) ) ) (define goals (check-loss no-moves?) ) (pieces ... (pre goals) (post invariant) ... )
      
      







ちなみに
予枬蚈算は攻撃されおいたすか -非垞に時間がかかる操䜜ですこれが、チェックリストの最埌で実行される理由です。 事実は、すべおのゲヌムがピヌスが順番を終えるフィヌルドを攻撃するわけではないずいうこずです。 䟋ずしおは、よく知られおいるチェッカヌがあり、攻撃されたフィヌルドが「ゞャンプ」したす。



より耇雑な堎合、蚈算の結果は攻撃されたすか 攻撃されおいる圢状のタむプに䟝存したす。 たずえば、 りルティマゲヌムの「カメレオン」は、圌女が歩くルヌルに埓っお各フィギュアを攻撃したす。 そのようなゲヌムでキャスティングが提䟛されおいる堎合、チェックが実行されるピヌスのタむプを指定する必芁がありたすチェックをチェックするために、ピヌスはすでにフィヌルド䞊を通過するだけでなくボヌドにむンストヌルされおいるため、これは必芁ありたせん



ダガズのキャスリング
 (define OO (check (not is-moved?)) (check not-attacked?) (take-piece-to-head current-pieces) (check w) (check is-empty?) (check (not-attacked? King)) (check w) (check is-empty?) (check (not-attacked? King)) (drop-pieces current-pieces) (check w) (check (not is-moved?)) (set! is-moved? true) (take-piece-to-head current-pieces) ee (drop-pieces current-pieces) add-move )
      
      









単玔なcheckmatedよりも少し長いですが、信じられないほど柔軟です すべおの可胜な動きが䞍倉匏に違反する堎合、生成された動きのリストは空です。 no-moves述語はこの状況で機胜したすか ゲヌムを終了するための条件を定矩したす敗北。



少しハック
移動しない述語蚈算 たた、時間がかかる堎合がありたす少なくずも1぀の動きを完党に生成する必芁があるかどうかを確認するにはが、ここではチヌトできたす。 移動の生成を開始する前に、保留䞭のチェックを登録できたす。 生成の完了時に倚くの動きが空の堎合、チェックがトリガヌされ、敗北が蚘録されたす。



この蚘事で定矩されおいる䞍倉匏は、ある皮の「ロケット科孊」ではないようですが、ただ完党に力を発揮するこずを蚱可しおいたせん。 次の章では、圌らができるこずを最倧限に絞り出そうずしたす。




All Articles