重力場理論を使用した囲碁の計算アルゴリズム（P vs NP 理論を応用した囲碁の計算アルゴリズム）

Ver 5.0

2019.9.15
Amamiya Kazuya【利用規約】
この理論を利用する際には考案者である雨宮一也の承諾を取って下さい
承諾条件は以下の通りです（営利、非営利、法人、個人問わず）①利用開発を行う場合、雨宮一也をスタッフに迎え入れる事②利益が発生する場合は適切な額を雨宮一也に支払う事（発生しない場合は０円で構わない）③公的秩序に反する目的には利用しない事

私はこの理論が実際にどのような動きを示すのか確認したいです
ご興味のある方は開発に挑戦し、私を仲間に加えてください
自分では 90％以上の完成度と思っていますがもし不都合が生じた場合は知恵の限りを尽くし協力したいと思います
私が生きている間にその日が来る事を願います

雨宮一也（Amamiya Kazuya）
メール
ichinarisoft@gmail.com
自身サイト「いちなりＳＯＦＴ」
http://ichinarisoft.com/

理論の最新版は「いちなりＳＯＦＴ」で確認して下さい◆事前知識盤上の基本設定は相対性理論（重力場理論）を使用する

この方程式を使った場合の特徴は・近いほど”より”強くなる・相互に影響を与え合う
・ 0 が発生しない（どうしても 0 が発生する場合は 361 マスの外側に１マス追加して 2１＊2１マスにすればよい）【概要】６条件勝利変化率■二眼個別設定（722 ヵ所）■一眼全体設定（722 ヵ所）■マス目支配数設定（2 ヵ所）■勢力設定（722 ヵ所）■敵石追い込み設定（722 ヵ所）■遠距離連結設定（722 ヵ所）
自軍 361、敵軍 361、６条件なので合計 3612 カ所の値を計算する

◆計算手順自分が打つ前に現在の状況を数値化する。
その後自分が打てる全ての通り、更に相手が打てる全ての通りを打ちそれぞれ数値化する。
なので『自分の打てる場所数＊相手の打てる場所数』の計算が必要。
自分が打つ前の状態と相手が打った後の状態を比べて最も上昇率の高い一手を打てばよい（3612 カ所の上昇率の合計）
敵軍は常に最善の手を打つと仮定するので安全確実な高い値を優先して選択する。
以後それの繰り返し

■二眼個別設定

この様な 1＊8 の盤と１＊5 の盤を用意する
これは 19*19 マス全てに一つ一つ割り当てられる
更に自軍用、敵軍用の両方を用意する（合計 722）
これはぞれぞれのマス目が一眼をどの程度成立させているかを示す設定である。
初期状態では上の図のようになる
石が一つも無い状態では「残り 7 個」で一眼が出来るので「７」の位置に重力を発生させる。

更に一眼は上下左右が必須である為その位置を優先する為に「上下左右が残り 4 個」では「4」の位置に重力を発生させる。
観測地点は赤の◆の位置。
入力する重力値は「２」を代入する（緑の重力の場所にそれぞれ２を代入）
2 本（1＊8 盤と１＊5 盤）で抽出した値を合計したものがその場所での「一眼成立値」となる。

端は石が置かれていなくても残りの必要数は減る

石が置かれると緑重力が上昇する。
一眼が成立すると緑重力は赤◆の位置に固定される（観測値が最も強い位置）

この状態では黒石がある限り一眼は作れない
敵石によって一眼が潰されると初期値に戻る。

自軍の石が置かれるとその石を利用した一眼候補が対象になり、達成率上位２組みが優先される。
（隣接する一眼候補が二つとも優先される事はない）
この場合の緑重力の入力値は 2 組みの２本とも「１」である。
観測地点は赤の◆の位置。
2 本（1＊8 盤と１＊5 盤）で抽出した値を合計したもの上位２組みが優先される。

連結されると候補はどんどん増えるが上位２組みが優先される事は変わらない連結されるマスの二眼達成率はおのずと同じになる

これらによって優先される上位２組みを合計する。
最初の一眼達成率は１組みに対して「２＋２」、石が置かれた場合の達成率は２組みに対して「１＋１＋１＋１」の重力値。
これにより「一眼形成」と「一眼同士の連結」の比率が同じになり二眼形成がバランスよく構築される。

一眼候補の数が１組みのみになると緑重力の位置は初期位置に戻り、そのマスに置かれている石は死んだ石として扱われる
この場合の緑重力の入力値は「２＋２」になる一眼が成立するとその目は石が置かれたような扱いもかね、他の一眼の達成率を上昇させる

■一眼全体設定石が置かれるとその周囲８カ所に重力が発生する（一眼候補）

敵石が置かれると一眼候補の重力は潰されてしまう

重力の値は「１」。重なる所も「１」のまま。

自軍、敵軍問わず石の上には発生しない

大外に重力は発生しない（赤の位置）
２１＊２１盤を２枚用意する
大外には見えない石が配置されている

このようになる
観測位置は 722 ヵ所のマス目

■マス目支配数設定

１９＊１９マスの外側に１マス追加した２１＊２１マス盤を用意する
そして大外に重力を配置する
これを黒用＊361+白用＊361＝合計 722 枚分用意する

それぞれのマス目において上下左右のみ残しそれ以外の緑重力は消す

赤◆が観測位置
緑重力には「１」を入力する
全てのマス目一つ一つにこの様な設定をする（合計 722 枚）
これが初期配置
石が一つも置かれていない状態では黒用と白用は同じ座標では同じ値となる

自軍の石が置かれると重力の位置が上昇する（観測位置に近づく）
対象は上下左右の直線上における最も近い石となる

敵石が置かれると緑重力の位置は大外に戻る
観測位置から最も近い石が対象である（上下左右）石の隣接する上下左右には阻害効果がある為、直線上からずれても最も近い対称であれば緑重力は大外に戻る

敵石の阻害効果が観測位置に重なると４方向の緑重力は全て大外に戻る

観測位置に石が置かれると緑重力は全て大外に戻る（自軍、敵軍問わず）

■二眼成立設定によって死んだ石と判定された石は存在しないかのように扱われる（阻害効果も存在しない）
以上の設定に基ずき 722 枚全て数値化する
そして白用、黒用の同じ座標の値を比べると＋、－、０が判別できる「＋」のマス目の数－自軍の死んだ石の数－敵軍のアゲハマの数＝自軍支配数「－」のマス目の数－敵軍の死んだ石の数－自軍のアゲハマの数＝敵軍支配数
自軍が打つ前に支配数を抽出し、自軍一手、敵軍一手を打ち、再び支配数を抽出し増加数を出す。
上昇率は 1 支配数＝1/X％として計算する。
X=石の置かれていないマス目数+双方の死んだ石の数+双方のアゲハマの数(いずれも敵が一手打った後の状況での数）

■勢力設定■マス目支配数設定と同じように２１＊２１盤を２枚用意する
大外には見えない石が配置されている

盤上に打たれた石には上下左右に緑重力が発生する。入力値は「１」

左：石が置かれると重力は消滅する。
右：敵石には阻害効果がある為重力は消滅する。

重力が重なっても「１」を入力する。

大外に緑重力は発生しない（赤の位置）
観測位置は 722 ヵ所のマス目

■敵石追い込み設定
対局に使う石 722 個全てに設定する全ての石に個別番号を付け独立して扱う
緑重力の初期値は 0 の位置に「１」を入力する（◆は観測位置）

盤上に打たれると緑重力の発生位置が移動する
上下左右接している石が無い場合は４個で取る事が出来るので「４」の位置になる
入力する重力の値は「１」のまま変わらない

座標によって緑重力の発生位置は変わる。端は値が減少する（隣接石が無い場合）

隣接石があると緑重力の位置はそれに合わせて移動する
その石（単独や連結）を取るのに必要な残りの石の数が緑重力の位置となる石が取られると「ごけ」に戻りそのナンバーの石の重力値は初期化され再利用される
同時に敵のアゲハマが１ポイントＵＰする■遠距離連結設定
対局に使う石 722 個全てに設定する全ての石に個別番号を付け独立して扱う

初期値は石の位置に緑重力を発生させ「１」を入力する（◆は観測位置、同じく石の位置）

盤上に打たれた石には自軍の重力も含めてそれぞれ観測する。（自軍が多いと値が高くなる）

敵石には「－１」を入力する。
盤上の全ての石に重力を発生させてそれぞれの石の位置で観測する石が取られるとその石は初期化される。

◆補足
最上の値が複数発生した場合は無作為に選ぶ（例：敵第一打天元。その次の最適打は複数発生する）
変化率が下落する手しかない場合はパスをする
計算時間の省略が必要であれば高い評価のみ先読みする又はπの入力値を小さくする
最終的にはπの値が大きいほど精度があがり誤差が減る（ミスが減る）
そしてある程度の桁数に達すると誤差が 1 マスの距離以下になり解が安定すると思われる
しかし、真実の解であるかどうかは不明。確かめる術がない
理論は最強であるが、人間はπを正確に数値化出来ない為に常に不完全な精度と言える
これを改善する方法はない
しかしこの理論はπを使用しているため最強、最軽量の思考アルゴリズムである
同性能のＰＣで対戦する場合、このアルゴリズムに勝てる「囲碁ソフト」は存在しない（出来ない）
なお、定石、読み、棋譜などの人為的情報は一切入力する必要はない◆コウについて打てる選択肢から外せばよいと思われる◆コミについて特に考慮する必要はない
コミがあろうがなかろうが最適の一手は変わらない◆鏡打ち現象についてそれが最適の一手であるならば鏡打ちであってもよいはず