Xion's Programming Notes

プログラミングの勉強や囲碁プログラムの開発について書いていきます。

4x4リバーシ完全解析

4x4リバーシ リバーシ,つまり,オセロの盤面は,普通8x8の64マスですが,今回の対象は,4x4の16マスという小さなリバーシです. 初期の盤面で,黒2つ白2つを置いた状態から始まるので,パスを無視して考えれば,12手でゲームが終了します. 実装 Bitbucket…

UbuntuでJava使おうと思ったらversionでひっかかった

問題 今日,Ubuntu 12.04上でJavaを実行しようとしたら,詰まりました… $ javac Hoge.java $ java Hogeとすると,なんかエラーが. Exception in thread "main" java.lang.UnsupportedClassVersionError: Hoge : Unsupported major.minor version 51.0 at ja…

いつThread使うか? IOでしょ!

Pythonのthreading.Threadさんのお話 前回の記事で,Threadだと並列処理にならないというような実験結果がありました.じゃあ,いつThread使うんだよ,と思い,調べてみました. それで,こんな記事を見かけたので,自分でもちょっと実装してみました. 実装…

Pythonのthreadとprocessを試してみた

実験結果 x軸は,threadの数,processの数 y軸は,並列処理でかかった計算時間 / 逐次実行でかかった計算時間 threadが遅い.threadを作るオーバーヘッドのために,どんどん遅くなっていっていると考えられる. processはそこそこ.process sizeに比例とまで…

divmod遅かったわ…

先日記事を書いたPythonのdivmod関数. 速度を測ってみました.実装した手法については,前回の記事を参照してください. 計測方法 こんな感じで100万ループさせたのをばらばらに10回やってみました. # こういうのの時間計測どうしたらいいのかいまだにわか…

divmodって便利だな

最近,Pythonでプログラムを書いてます. その中で,割算をして商と余り両方使いたい,という状況がありました. 結論として,divmodという組み込み関数を使うことにしました. 実装 やってみた実装は,以下の3つ.例えば,秒の数値を分と秒に分離するとき.…

はじめまして

はじめまして。 プログラミングや囲碁のAI開発についてのブログを書いていこうと思います。実は、少し前まで、Hatena Diaryで、glace雑記というものを書いていましたが、Hatena Blogに移行し、アカウントも変えて、心機一転やっていこうと思います。ブログと…