2009年03月14日
出来の悪いものほど気になるっす
大会用に提出したスクリプトはRekal Thorでも配布するっす。
左上のリンクから飛んでもらって、Big Penguinの辺りを
探してもらえれば、すぐに見つかると思うっす。
購入しなくてもTouchでOKっす。
どうもぺんぎんっす( ◎v◎ )
大会本番前なんっすけど、気になってる点があるっす。
非常に出来の悪いSub2の関数、GetScoreっす。
盤面の評価値を出してるんっすけど、やり方がヒドイっす。
ひたすらにif文を重ねてるだけっす。
だいたいは見てもらえば分かると思うんっすけど、
目標としたのは「サブゴールまでの最短手数を求める」ことっす。
展開した盤面の中で「サブゴールまでの手数」が最少になる道順を
選んでいって、最短手数が0になれば「到達した」と言えるからっす。
ちなみに設定したサブゴールは、
「一番上の行(1,2,3,4)が正しい位置にある」
「一番左の列(1,5,9,13)が正しい位置にある」
の2パターンっす。
あれだけ書いても大まかな数値しか出してないっす。
正確に、素早く、しかもカッコ良く書く方法はあるにはあるっす。
「小規模なテーブルをあらかじめ作っておく」という方法っす。
ハッシュ値を計算してテーブルを見るだけ、っていう方法っすね。
一番左の列に関しては、現在のSub2に書いてあるように、
変換を施せば一番上の列と同じ処理で求められるっすから、
2つのテーブルを用意する必要はないっす。
1,2,3,4と空白マスの計5か所の場所以外の情報はいらないっすから、
全部で16P5(=16!/11!)通りあるっす。
計算すると524,160通りっす。
integer型は1つで最低でも4Byteあるっすから、
2,096,640Byteが必要っす。
だいたい読めてきたと思うんっすけど、容量不足っす。
サブゴールまでは63手以下(50手未満っす)っすから、
6bitあれば「手数」は表せるっす。
つまり1つのintegerで5つまで詰め込めるっす。
この方法で必要なinteger数を1/5にしても約400KBは必要っす。
「64KB制限」が、妙に「惜しい!」感を演出してて、
考えてるときにイラッとしてたっす。
でもまあ、容量が増えたら増えたで、たぶん違うことに使ってたと思うっす。
左上のリンクから飛んでもらって、Big Penguinの辺りを
探してもらえれば、すぐに見つかると思うっす。
購入しなくてもTouchでOKっす。
どうもぺんぎんっす( ◎v◎ )
大会本番前なんっすけど、気になってる点があるっす。
非常に出来の悪いSub2の関数、GetScoreっす。
盤面の評価値を出してるんっすけど、やり方がヒドイっす。
ひたすらにif文を重ねてるだけっす。
だいたいは見てもらえば分かると思うんっすけど、
目標としたのは「サブゴールまでの最短手数を求める」ことっす。
展開した盤面の中で「サブゴールまでの手数」が最少になる道順を
選んでいって、最短手数が0になれば「到達した」と言えるからっす。
ちなみに設定したサブゴールは、
「一番上の行(1,2,3,4)が正しい位置にある」
「一番左の列(1,5,9,13)が正しい位置にある」
の2パターンっす。
あれだけ書いても大まかな数値しか出してないっす。
正確に、素早く、しかもカッコ良く書く方法はあるにはあるっす。
「小規模なテーブルをあらかじめ作っておく」という方法っす。
ハッシュ値を計算してテーブルを見るだけ、っていう方法っすね。
一番左の列に関しては、現在のSub2に書いてあるように、
変換を施せば一番上の列と同じ処理で求められるっすから、
2つのテーブルを用意する必要はないっす。
1,2,3,4と空白マスの計5か所の場所以外の情報はいらないっすから、
全部で16P5(=16!/11!)通りあるっす。
計算すると524,160通りっす。
integer型は1つで最低でも4Byteあるっすから、
2,096,640Byteが必要っす。
だいたい読めてきたと思うんっすけど、容量不足っす。
サブゴールまでは63手以下(50手未満っす)っすから、
6bitあれば「手数」は表せるっす。
つまり1つのintegerで5つまで詰め込めるっす。
この方法で必要なinteger数を1/5にしても約400KBは必要っす。
「64KB制限」が、妙に「惜しい!」感を演出してて、
考えてるときにイラッとしてたっす。
でもまあ、容量が増えたら増えたで、たぶん違うことに使ってたと思うっす。
明日は市の環境美化センターで再生品の販売があるっす。
午前7時に入場整理券配布らしいっすから、
午前5時くらいには家を出ないとマズイっす。
予報では気温3度、雪か雨みたいっす。
オマケに波浪警報と強風注意報出てるっす。(午後5時くらいに見たっす)
まさに最高の条件っすね!
午前7時に入場整理券配布らしいっすから、
午前5時くらいには家を出ないとマズイっす。
予報では気温3度、雪か雨みたいっす。
オマケに波浪警報と強風注意報出てるっす。(午後5時くらいに見たっす)
まさに最高の条件っすね!
Posted by ぺんぎん at 21:31│Comments(0)
│15パズル