へっぽこプログラマの私がよくやってしまうこと。
1.へっぽこのプログラムなのにパラメータから先にいじってしまう。。。
特定の将棋の特定のレベルと対戦。
まず負ける。
そこでちょっと実現確立の値を調整したり、
安定度等の評価関数の値をいじる。
偶然にも勝ってしまった。
↓
そのまま放置。
2.へっぽこなのに確立に頼ってしまう。。。
勝ったり負けたりが続きはじめると今度は自動対戦を実装したくなる。
そこで実装。
確立が上下する。
根本的な原因を究明するのが手間なのでまた
パラメータから先にいじってしまう。
勝率が少しあがる。
↓
そのまま放置。
3.結論
根本的なバグや問題点が残ったまま。
↓
弱いまま。。。
会社の先輩から学んだこと。
「プログラムに偶然は無い。」
小さなバグが発生したとき、ついつい
いや気のせいか?もう一度やってみようとその場で
詳しく調べずに一度見つけたバグを消して再実行してしまうときがある。
良性のバグで、同じ手順で再度止まればよいのだが
悪性の場合、もう二度とめぐり合えない場合がある。
それはただバグを究明する労力に目を背けているだけ。
プログラムは不明瞭なところから最初のほころびがでる。
まさしく人間的水平線効果。。。