16/05/30 02:25:30.03 ewV/OC7O.net
>>909
> 仕様の変更や追加に強くなるから
どういった理由で?
特定の場合にしか当てはまらない設計をすることは
仕様の変更や追加に弱くなる。
952:デフォルトの名無しさん
16/05/30 02:30:01.13 ewV/OC7O.net
例の奴の設計がクソだっていうのは、
役割の分担じゃなくて、
処理の分担になっているって所。
こいつは恐らく検索処理はどんなものであっても
検索処理コンポーネントにまとめるに違いない。
953:デフォルトの名無しさん
16/05/30 03:08:47.31 MwTEJuIp.net
俺的には処理の分担で良いと思うがな
もっと言えば機能の分担で良いと思う
954:デフォルトの名無しさん
16/05/30 03:12:13.65 ewV/OC7O.net
それでいいよ。オブジェクト指向的に言えば
一つのクラスの中で処理(メソッド)を2つに分ける。
どうせ思考ロジックなんてデータ構造も必要な処理も
そのロジックに最適化された形で決まるんだから、
それらは「思考ロジック」という役割にまとめるしかない。
955:デフォルトの名無しさん
16/05/30 03:14:00.77 ewV/OC7O.net
ちょっと訂正
それでいいよ。オブジェクト指向的に言えば
一つのクラスの中で処理(メソッド)を 幾つかに分ける。
別に2つに限定する必要はなかったねw
956:デフォルトの名無しさん
16/05/30 03:14:49.89 MwTEJuIp.net
いやだから、思考ロジックという機能にまとめればよいのでは?
957:デフォルトの名無しさん
16/05/30 03:19:59.83 ewV/OC7O.net
>>941
だから最初からそう言っている。
オブジェクト指向的に~とかいう話をしてるから、
一つのクラスにするって話になるってだけ。
思考ロジック部分をインターフェースだけ決めて
そのインターフェースを実装する形にすれば
思考ロジックを切り替えやすくなるからね。
と言っても「思考ロジックを切り替えられるようにする」という
要件は明確には出てない。これはこっちのギリギリの譲歩で
無理やりオブジェクト指向の枠内に入れただけ。
ゲームでは難易度調整で思考ロジックの切り替えは当然あるだろうし、
強いAIを作るための研究であっても、別々の思考ロジック同士を
戦わせるってことはあるだろうしさ。
958:デフォルトの名無しさん
16/05/30 08:11:02.74 ekC4cwoE.net
荒れるので要件の定義をせずに設計するの禁止
959:デフォルトの名無しさん
16/05/30 10:28:51.98 rIAW5ZZo.net
>>819
これは流石にお粗末だと思うし、設計が未熟な新人ならもう少し謙虚になるべきだと思う
960:デフォルトの名無しさん
16/05/30 11:47:28.04 8pkfhQuv.net
>>939
OCPに違反した劣悪な設計
961:デフォルトの名無しさん
16/05/30 11:58:04.55 PEEN5NGh.net
OCPって広く長くリリースされてる有名ライブラリなら意味あるのかも知れないけど
規模も小さくプログラマの質も低いそこらのプロジェクトじゃ意味無いよな
きっちり動くのだけ残すべきだし、継承なんて安易にするもんじゃない
962:デフォルトの名無しさん
16/05/30 12:04:11.10 8pkfhQuv.net
将棋ソフトにはオブジェクト指向が向かいない厨はAperyがオブジェクトを使っていることを知ったら
小便漏らして泣き出しちゃうの?
963:デフォルトの名無しさん
16/05/30 12:32:24.29 ND1XxSGp.net
>>927
これはよく分からん
スレで例にする話なら
ドラクエとか既存のRPGでいんじゃね
964:デフォルトの名無しさん
16/05/30 12:59:01.99 g392/VKX.net
向かないのは、将棋ソフトじゃなく思考ロジックな
すきあらば話をすり替えようとしてるの、
バレバレだw
965:デフォルトの名無しさん
16/05/30 13:17:27.81 8pkfhQuv.net
>>949
間違いを明確に指摘されても分からない突き抜けたバカ
Aperyを確認したら
966:デフォルトの名無しさん
16/05/30 14:31:40.52 23kor2oM.net
>>947 aperyのソース読んでねえなお前。
aperyのソースのうち、classは18個ある。ちなみにenumは22個。
classのうち継承を使っているのは4個で、親は全て標準ライブラリからのもの。
このうちメソッドを追加し
967:ただけのものが3個。 virtualを使っているクラスはThreadのみで、実装も1つだけ。 メンバ変数として他のクラスを保持しているクラスはMovePickerのPositionのみ。 Positionクラスも含めその他の全ては構造体+メソッド。他のクラスも同様。 aperyはC++をbetter Cとして使っている。オブジェクト指向で設計したものではない。 具体的にはテンプレート、演算子のオーバーロード、クラスの使い方も構造体に付随する関数をまとめるというもの。 オブジェクト間の相互作用も無いしクラスの階層構造を使ったコードの再利用も外側のごく一部だけ。 ますます例として不適切だと分かるわな。
968:デフォルトの名無しさん
16/05/30 14:44:44.86 eYr/WPsF.net
apery読んでも手続きだなぁとしか思えん
969:デフォルトの名無しさん
16/05/30 14:57:17.60 eYr/WPsF.net
URLリンク(github.com)
ここらへんなんてオブジェクト指向としてみたら糞だよね
enumをswitchで判定してreturnで値を返すってのは
パターンマッチって感じでむしろ関数型プログラミングに近い
970:デフォルトの名無しさん
16/05/30 15:26:25.89 W9xaEvpV.net
いるよね。
switchをオブジェクトにしたがるやつ。
971:デフォルトの名無しさん
16/05/30 15:28:07.91 3FEoI+9e.net
classを使えばOOP!
ん~学生さんは気楽でいいなぁ~
972:デフォルトの名無しさん
16/05/30 15:30:09.07 ekC4cwoE.net
ああ邪魔だな
switchで書かれていれば一覧になっていて一目瞭然なのにワザとか馬鹿なのか知らないけど
抽象化されてて全部で何種類処理が分かれてるのか分からないの
973:デフォルトの名無しさん
16/05/30 15:39:10.62 ILfmqIwk.net
このスレ面白いなw
次スレたつのかね
974:デフォルトの名無しさん
16/05/30 15:49:54.27 cLUfCSU4.net
何種類あるか意識する必要があるなら負け
975:デフォルトの名無しさん
16/05/30 16:48:44.47 ekC4cwoE.net
>>958
どうやってテストしたのか言ってごらんよ
976:デフォルトの名無しさん
16/05/30 17:36:35.20 8pkfhQuv.net
クラスは1つ、分けるのはおかしい!そもそもクラスじゃない!オブジェクト指向で設計するのは不可能!
ってバカな主張はさすがにやめたんだw
977:デフォルトの名無しさん
16/05/30 17:40:07.46 8pkfhQuv.net
>>951
オブジェクト指向で設計するのは無理って言ってた奴がオブジェクト指向のあるべき設計を語っちゃうって頭おかしんじゃね
978:デフォルトの名無しさん
16/05/30 17:51:47.74 eYr/WPsF.net
「オブジェクト指向とは何か」から認識合わせしなきゃならない感じ?
後 評価関数や定跡はバイナリで配布されてるからそこらへんがなんともいえない
979:デフォルトの名無しさん
16/05/30 17:54:05.34 eYr/WPsF.net
>>961
>オブジェクト指向で設計するのは無理って言ってた奴がオブジェクト指向のあるべき設計
aperyはオブジェクト指向で書かれてないのでオブジェクト指向で設計したものではないって事ではないの?
980:デフォルトの名無しさん
16/05/30 18:02:17.22 8pkfhQuv.net
>>963
モジュールにもクラスにも分ける必要はない、1つにまとめるのが最高の構成!!!
だとさ
981:デフォルトの名無しさん
16/05/30 18:13:18.75 ixAozmxi.net
apery見ろって言った自分のレスが的外れと分かって発狂したのか
まるでアホの子供だな
982:デフォルトの名無しさん
16/05/30 18:25:45.94 cZLZyxJT.net
で、結局OOPは必要なんだろう?
983:デフォルトの名無しさん
16/05/30 19:25:11.10 +7J42eKt.net
結局要件次第だから要件をキッチリ決めよう
でもこのスレじゃ先走るバカがいるから決められない
だから将棋ソフト開発スレを立ててじっくりやろうってところに落ち着いた感じかな
984:デフォルトの名無しさん
16/05/30 19:27:28.87 8pkfhQuv.net
>>967
要件が分からないバカ
985:デフォルトの名無しさん
16/05/30 19:35:00.08 +7J42eKt.net
>>968
お?aperyのソースは読み終わった?宿題だからはやくやっとけよ
986:デフォルトの名無しさん
16/05/30 19:38:36.35 8pkfhQuv.net
>>969
電王戦の参加者はニコニコが書いた要件を理解して参加してるのにいまだに理解できない奴w
987:デフォルトの名無しさん
16/05/30 19:39:44.40 eYr/WPsF.net
>>964
うーん会話がいまいち通じない
988:デフォルトの名無しさん
16/05/30 19:49:06.41 eYr/WPsF.net
>電王戦の参加者
電王戦の参加者は機械学習や計算機科学についての知識がある人達だけど
ここのスレにいる人たちは必ずしもそうじゃない
989:デフォルトの名無しさん
16/05/30 19:50:50.18 ND1XxSGp.net
さすがにAperyが
2ちゃんのレベルで
クラス1個とかやらないよな
990:デフォルトの名無しさん
16/05/30 19:52:15.30 8pkfhQuv.net
>>972
理解力のなさが異常
ニコニコのルール・条件のどこが機械学習や計算機科学特有だと思ったのか?
991:デフォルトの名無しさん
16/05/30 19:58:45.90 eYr/WPsF.net
>>974
人間に勝てる将棋AIを作るってのは普通に機械学習の知識がないと無理だと思うんだけど
992:デフォルトの名無しさん
16/05/30 20:00:14.80 8pkfhQuv.net
>>975
コイツは理解力が異常なまでに欠如しているせいでいろいろ勘違いしてそう
993:デフォルトの名無しさん
16/05/30 20:03:26.56 eYr/WPsF.net
>>976
将棋AIを作るんじゃなかった?
994:デフォルトの名無しさん
16/05/30 20:07:26.50 8pkfhQuv.net
>>977
やっぱりw
995:デフォルトの名無しさん
16/05/30 20:09:51.65 eYr/WPsF.net
>思考部分がメイン
っていうのは共通認識だと思ってたんだけどな
996:デフォルトの名無しさん
16/05/30 20:12:45.47 8pkfhQuv.net
>>979
要件を理解してるのに「結局要件次第だから要件をキッチリ決めよう」ってしつこく言ってたならバカ
電王戦の参加者は理解した要件を理解できないなら理解力の欠如
997:デフォルトの名無しさん
16/05/30 20:38:00.16 eYr/WPsF.net
>>980
つまり将棋AIを作るって事では?
998:デフォルトの名無しさん
16/05/30 20:50:04.74 ILfmqIwk.net
暗黙的に「まともにプレイするに足る強さ」の思考ルーチン考える
→ID:8pkfhQuv
どういう思考ルーチンにするか明示されてないから決めよう
→ID:eYr/WPsF
なのかな?
999:デフォルトの名無しさん
16/05/30 20:51:12.69 ILfmqIwk.net
バカCPUでいいならそれこそ合法手からランダムで選ぶのでもいいってことになるからねえ
1000:デフォルトの名無しさん
16/05/30 21:07:47.33 j9NktVXe.net
要件ってこれ?
(必須機能)
第5条 参加ソフトは、次の各号に掲げる機能を持たなければならない。
一 任意の局面・手番・残り時間からの将棋の対局の開始と継続。
二 任意の時点での対局中断。
三 対局中の現在局面の表示。テキストでも良い。
四 第 19 条の規定による、1 手毎の消費時間の計測、及び累計消費時間の画面への表示。
五 1 手毎の指し手と消費時間の記録。対局中断時も、そこまでのすべての指し手と消費時間を取り出せなければならない。 六 CSA サーバプロトコル ver.1.1.3 に基づく、LAN による対局。
七 相手の指し手の手入力による対局。
1001:デフォルトの名無しさん
16/05/30 21:08:43.43 j9NktVXe.net
(推奨機能)
第6条 参加ソフトは、次の各号に掲げる機能を持つことが推奨される。ただし、機能を持たないことによって不利になることはない。
一 千日手の検出。
二 LAN による通信で送受信した文字列の必要に応じた表示。
三 任意の局面・手番・残り時間からの LAN による通信での将棋の対局の開始と継続。
URLリンク(denou.jp)
1002:デフォルトの名無しさん
16/05/30 21:12:10.48 ILfmqIwk.net
ID:j9NktVXe
有能
1003:デフォルトの名無しさん
16/05/30 21:17:26.56 eYr/WPsF.net
>>982
いや俺は要件をきっちり決めようとは言ってないよ
機械学習とかAIについての知がない人達で将棋AIの設計なんて無理でしょって思ってるだけで
>合法手からランダム
ならいいけど
1004:デフォルトの名無しさん
16/05/30 21:19:03.79 ILfmqIwk.net
>>987
勘違いごめん
回答ありがとう
理解した(つもりかもしれんけど)
1005:デフォルトの名無しさん
16/05/30 21:27:46.75 8pkfhQuv.net
>>987
だったら>>970に対するレスのつけ方がおかしい
要件が不明瞭って言ってると受け止めるのが普通
1006:デフォルトの名無しさん
16/05/30 21:51:53.77 ZWFY3jHL.net
>>985
誰が書いたか知らんが幼稚な表現が多い文章だなw
誰も校正しなかったんやろか
1007:デフォルトの名無しさん
16/05/30 22:22:43.38 Usq7Wp/A.net
>>990
甲だの乙だの書いてあるのがお好き?
1008:デフォルトの名無しさん
16/05/30 22:47:26.31 ZWFY3jHL.net
>>991
論文では使わない表現が多いやろ
というか無理してる感がにじみ出てさむいわw
きちんと書けないならもっとカジュアルに表現すれば
全体の統一感が出て少しはマシになると思うんやけどな
1009:デフォルトの名無しさん
16/05/30 22:53:57.20 ewV/OC7O.net
aperyは将棋ソフトであり、今ここで話しているのは思考ロジック部分だけの話
aperyでも思考ロジックは1クラスだろw
1010:デフォルトの名無しさん
16/05/30 22:55:20.39 8pkfhQuv.net
>>993
え?
1011:デフォルトの名無しさん
16/05/30 22:57:44.15 j9NktVXe.net
思考ロジックの話してるのは一人だけみたいだな
1012:デフォルトの名無しさん
16/05/30 22:58:42.79 ewV/OC7O.net
思考ロジックの話って最初から書いてあるけどなw
なんか、わざとらしく話をすり替えようとしている臭がするなwww
1013:デフォルトの名無しさん
16/05/30 22:59:24.96 8pkfhQuv.net
>>996
>>993をごまかすなwww
1014:デフォルトの名無しさん
16/05/30 22:59:41.16 miEVgFPq.net
思考ロジック部分なんてクラス一つで十分
1015:デフォルトの名無しさん
16/05/30 23:00:22.80 V8MlYic6.net
思考ロジック部分なんてクラス一つで十分だし、
たとえば二分探索のロジックをクラスにして
分割するとか意味不明だろw
1016:デフォルトの名無しさん
16/05/30 23:00:45.60 pXhtjcNw.net
>>997
必死すぎwwwwwwwwwwwwwwwwwwwwww
1017:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 11日 0時間 52分 58秒
1018:1002
Over 1000 Thread.net
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
──────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
──────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
URLリンク(premium.2ch.net)
URLリンク(pink-chan-store.myshopify.com)
1019:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています