質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

1回答

1299閲覧

OpenMPを使用したC++の囲碁プログラミングについて

yosuke0313

総合スコア8

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2015/09/30 08:13

囲碁のゲームプログラミングの質問です。

OpenMPを使用し、囲碁のプログラミングを強化しようと試みている最中なのですが、
プログラムを実行しても”Err! Select”と表示されるか、数回で対局が終わってしまうという状態になってしまいました。

出来る限り考えてみたのですが、どこを改善すれば上記の状態を解決できるかが全くわからず手詰まりになってしまいました。

申し訳ありませんが、どなたか教えていただけませんでしょうか?

・プログラム
http://www1.axfc.net/u/3542629

・コンパイル、実行文(ターミナル)
[ g++ -fopenmp tree.cpp ]
[ ./a.out ]

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

673行目と679行目から始まるセクションから同じboardという変数に結果を書き込んでいます。
片方の結果は無くなってしまいます(片方無くなっても問題ない実装だったら関係ない)。
また、search_uct と search_uct_2 は両方とも同じnodeというグローバル変数にアクセスしていますが競合は起きないのでしょうか。

あと細かいところですが、g++ 5.2.0 ではコンパイルは通ったのですが node という名前が変数名と構造体名で被っているので他のコンパイラだと動かないかもしれません。

投稿2015/09/30 11:22

_nyannyan_

総合スコア124

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yosuke0313

2015/10/05 07:23

返信が遅くなり申し訳ありません。 ご回答有り難うございます。 boardに同時に書き込んでいるので対局がうまくいかないとわかったので、boradを増やし変数名を変えてみたのですが、うまくいかずまた「Err! select」と表示されるか数回で対局が終わってします状態です。 最終的にはこのセクションを比較し、良い状態のものを残すプログラムを書きたいのですが、再びご教授いただけないでしょうか?
_nyannyan_

2015/10/07 13:45

そもそもOpenMPのオプションをつけていない状態で正しく動きますか? OpenMPは並列化しても問題が起きないループを並列に実行するためのものです。 実行してみたところ手数が2で止まってしまいます。これは正しい動作なのでしょうか?
yosuke0313

2015/10/21 01:46

再びご回答が遅れてしまい申し訳ありません。 ご回答有り難うございます。 非常に申し訳ないのですが、今まで書いてきたプログラムは、「Tree並列化」ではなく「Root並列化」だということがわかり、再び1からスタートする形になってしまいました。 ゲストユーザーで質問したことがあったのですが、その時教えていただいたことを元にプログラムを書いていたらこのような事態になってしまいました。本当に申し訳ございません。 もうこの「Root並列」のプログラムは更新しませんが、回答だけしておきます。 OpenMPで実行するにあたってバグがあったので、それを削減して行ったらエラーが出るという状態になった次第です。Shotaさんのおっしゃっている手数が2で止まってしまうというのが、私の課題だったのですが、上記の通り、「Tree並列」のプログラムを作成せねばなりませんので…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問