タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

algorithmとmathに関するurulokiのブックマーク (3)

  • 正規表現入門 星の高さを求めて

    第13回日情報オリンピック(JOI2013/2014)春季トレーニング合宿での講義資料です. http://www.ioi-jp.org/camp/2014/2014-sp_camp-rules.html 【概要】 正規表現とはパターンマッチングのための記法であり,文字列検索の便利な道具として広く親しまれています.この講義では,正規表現の基礎から始め,「星の高さ」という性質に注目して正規表現の裏側に潜む数理構造に迫っていきます.1960年代から未解決である「星の高さ問題」に浪漫を感じてもらえると幸いです.

    正規表現入門 星の高さを求めて
    uruloki
    uruloki 2014/03/24
    こういう背景があったのか。勉強になる。
  • 正規表現で素数判定 - NO!と言えるようになりたい

    追記:ハッキリ言ってこの正規表現はネタなので,実際に素数判定を行いたい場合は,もっと別な賢いアルゴリズムを使ったほうが良いです 正規表現で素数が判定できるという記事を見たので試してみた. http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/ この記事によると /^1?$|^(11+?)\1+$/ という正規表現を使うと,素数判定が出来るらしい.ある整数 n が素数かどうか判定したい場合は,"1" * nという文字列がこの正規表現にマッチするかどうかを調べればよく,マッチすれば非素数,マッチしなければ素数となる.ただし,"1" * n は,例えば,n が 4 ならば "1111" と 1 が 4 回連続して続く文字列となる. Rubyで書いた素数判定プログラムはこん

    正規表現で素数判定 - NO!と言えるようになりたい
    uruloki
    uruloki 2010/07/22
    ああ分かった。これは面白い。多分使うことはないけど。
  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
    uruloki
    uruloki 2009/04/10
    まだ理解が中途半端。読み直す
  • 1