名古屋で数学するプログラマ(仮)

@antimon2 が趣味兼一部本職の数学で何かするときのブログ。

Rで「充足可能性問題(3-SAT)を解く乱択アルゴリズム」

新しい言語を覚えるときに、数学ガール 乱択アルゴリズムの「充足可能性問題(3-SAT)を解く乱択アルゴリズム」(p.353)を実装するという癖がついてしましました。
ということで、勉強中のRで実装してみました。

Vector*1の概念が独特で分かりにくかったけど、これで少しは慣れたかな。
sample()(Vector/List から要素をランダム抽出)、sapply()(Vector/List の各要素に関数を適用して Vector で返す。mapライク)を覚えた。

でも、まー、今まで作ったヤツ↓の焼き直し感は否めないですけどね。芸はないですね。

そいやPython版作ってないや。今度考えよう。

ちなみに、他の言語版などは充足可能性問題(3-SAT)を解く乱択アルゴリズム - Maeの(Mae向きな)日記などをご覧ください。

【2012/05/28 追記】

Python版書いて(焼き直して)みました。

うん、random.choice() 関数と re モジュールの使い方を覚えれば難しくないですね。

*1:日本語のR参考書では「ベクトル」とカタカナ表記していますが、ミルカさんに倣って「ヴェクタ」と発音したくて敢えて"Vector"と英語表記しますw