思うだけで学ばない日記 2.0

思うだけで学ばない日記から移転しました☆!よろしくお願いします。

2012-01-01から1年間の記事一覧

数値的に正しいJIS丸めの実装(1)

JIS丸めとは最近接偶数への丸めのことでありまして、データがランダムの場合、四捨五入と違いバイアスが生じないとされる(世間的にそう言われている)丸め方法であります。*1 普通に書くとつぎよのうなコードになると思われ: /// JIS丸めを行います。 doub…

パイプファイル屋さんはじめました!

A4コピー用紙にレーザープリンタで印刷した自立しそうなぐらい分厚い文書の束を綺麗に揃えてパンチ穴を開けてファイリングするだけの簡単なお仕事です! こういうのは机でトントンやろうがドンドン叩きつけようがあまり綺麗に揃わないが、ゆるく持って机の面…

ある種の人間に任せるとバグは死ぬまで直らない

183 名前: 名無し名人 [sage] 投稿日: 2012/08/22(水) 23:48:29.54 id:vheHNWMX 原理的に、バカは死ぬまで直らないな すぐに人間の寿命を意識しない話を始めるからな 死ぬまでに直る道理が無いわけですよ 正しくはあっても問題解決に全く一切寄与しない論…

もうよい!std::istreamにはstd::ios::sitbitフラグがセットされるべき

std::istreamから行末まで読みたい場合、最もお手軽に済ませるにはstd::getline()を使うと良い。 動くサンプル: #include <iostream> #include <iostream> #include <iomanip> #include <fstream> #include <sstream> #include <string> /// ストリームの状態を表示します。(デバッグ用) static void dump_stream_st</string></sstream></fstream></iomanip></iostream></iostream>…

なんで実用に供される評価関数は多値なん? Part II.(2)

昨日のエントリにつき大宇宙から返信を頂いた 前向き枝刈りはともかくオーダリングは評価の順序変更のみを意図しており、最善手の決定にもともと影響しませんかそうですか、、つまりヒューリスティックに基づくオーダリング結果通りに評価値の大小順序を入れ…

なんで実用に供される評価関数は多値なん? Part II.

<ここはGMA0BNの日記帳> 世の中には 評価関数Hと、ヒューリスティックを用いたオーダリングや前向き枝刈りを駆使する深さdの探索(凝った探索)の組み合わせ というものがあるわけだが、これを、思考結果を変えることなく、 評価関数H'と、ヒューリスティ…

じゃあオセロはどうなのか教えろ

AI

しかし石が尽きるまで続くゲームとしてはオセロという先達があるじゃーありませんか、 しかし世間一般ではオセロは将棋より簡単ということになっている これは多分、ライン毎に覆されえる石の数の上限をいつでも正確に見積もれるからなんジャマイカ、 いや知らん…

打ちてしヤンマーニ

AI

なんか某所に将棋と囲碁の複雑さの違いについて書いた下手糞な説明がうpられていたが(中略)将棋と囲碁の複雑さの違いとは端的に言って空間的評価上での良さが残り手数の少なさと結びついているか否かである これが左様であることは簡単に示せる1) 囲碁の局面…

終盤DBの可能性?(3)

AI

日がな考えて何がまずいかやっとわかったorzちょー単純な話だった。n_定理1と称していたものは、判定しようとする局面sがn手詰であることを最初に仮定したとき何が起きるかを述べているだけで、sが本当にn手詰局面かどうかについて十分には言及しないすわな…

終盤DBの可能性?(2)

AI

なんか書いてることが正しいのか気になってキタ、 多分基本的に間違ってはいないハズだが、、 ただし、合駒合駒言ってたのは、玉方の玉に利きが直接届いた脅威の直接排除か合駒、と読み替えてホスイ、*1 一般の詰み/不詰み問題は、対象局面以降のゲーム木を全部展…

終盤DBの可能性?

AI

まあ登録すべき局面はチェスよりは桁違いに増えるだろうが、そう極端に悲観することも無いんでねえが将棋のn手詰め(nは常に奇数)では次が成り立つ: 玉方は高々floor(n/2)手しか駒を動かせない 玉方の駒取りは、合駒か、玉方玉に直接利きが届かせた脅威の…

宣言型プログラミング、

「大統領」という名前のプログラムを書きます。 多分今年中ぐらいには仮想的に完成すると思います。 なお、名前以外は未定です(キリ

形式主義とGMA0BN

1 個人的な話で恐縮だが、GMA0BNはわりと普通の小学生だったので、とりたてて1+1=2に異議を唱えて先生を困らせるというようなありがちなエピソードもなく小学校の算数の授業に普通に順応した。 つるかめ算のような複雑な計算はできな苦手だったが、教科書に…

std::istreamで行末まで読み飛ばすスマートな書き方

これはいくつかの書き方があるようで、istをstd::istreamのインスタンスとして、 ist.unsetf(ios::skipws);とした上で、ist >> c(ただしcはistの文字型(通常char))で'\n'が現れるまで読みまくる ist.get()で'\n'が現れるまで読みまくる ist.getline(buf,…

std::iostreamのマルチスレッド対応はやっぱり糞くね?完璧に近い

一つ前のエントリでSafeStreamBufferの実装を明らかにするとともに、ストリームの状態を変更して元に戻す操作についてちょっと触れたわけだが すわなち <コード例1> // 基数とfillCharを変更 ios::fmtflags sv_f = ost.setf(ios::dec, ios::basefield); os…

【行単位で排他】std::ostreamのお手軽カスタマイズ【時刻付き】(2)

ソース ※↓↓↓「仮想メディア」なる語はGMA0BNが勝手に作ったものこれわ実質的にバッファなんだけども、std::streambufが管理するバッファと紛らわしいので区別を付ける意味で、 <SafeStreamBuffer.h> #pragma once #define LOG_DATE_FORMAT 2 class SafeStr…

【行単位で排他】std::ostreamのお手軽カスタマイズ【時刻付き】(1)

仕事においてC++の複雑さに遊ばれるのは時間の無駄以外の何者でもないが、遊びならおk 解決すべき課題 まず、基本事項として、std::ostreamへの書き込みはスレッドセーフだるしかしこれは「一つのストリームに複数のスレッドから非同期に書き込んでもハング…

GMA0BNでもわかるNarrow window

AI

1 まず、アルファベータ法におけるαβウィンドウの挙動を復習汁、いま当方手番ノード(●)以下の探索を、αβウィンドウ[α, β)の下で始めたとすると、事態は次のステップで推移せり ●が探索の末端(探索木の葉)ならば、局面評価値を計算してそれを返して終わる…