Rで「充足可能性問題(3-SAT)を解く乱択アルゴリズム」
新しい言語を覚えるときに、数学ガール 乱択アルゴリズムの「充足可能性問題(3-SAT)を解く乱択アルゴリズム」(p.353)を実装するという癖がついてしましました。
ということで、勉強中のRで実装してみました。
Vector*1の概念が独特で分かりにくかったけど、これで少しは慣れたかな。
sample()(Vector/List から要素をランダム抽出)、sapply()(Vector/List の各要素に関数を適用して Vector で返す。mapライク)を覚えた。
でも、まー、今まで作ったヤツ↓の焼き直し感は否めないですけどね。芸はないですね。
- Ruby版: https://gist.github.com/960956
- JavaScript版: https://gist.github.com/966408
- CoffeScript版: https://gist.github.com/1000913
そいやPython版作ってないや。今度考えよう。
ちなみに、他の言語版などは充足可能性問題(3-SAT)を解く乱択アルゴリズム - Maeの(Mae向きな)日記などをご覧ください。