等価変換理論集中セミナー2008(at 溜池某所)

  • もともと「Alohakunを問いつめる会」と呼ばれていたもの
  • 楽しかった
  • すごい面子。「自分なんかがいていいのかなあ」というのは考えない方向で
  • 冷房が止まってたので、ちょっとしたがまん大会に
  • 自己紹介で各自、好きな言語を挙げる。たぶん一番多かったのはScheme、次がHaskellC++あたり。どう考えても偏ってる
  • 以下、超てきとう自分用メモ
  • 第五世代コンピュータ
  • セマンティックWeb
  • 自然言語処理は死に絶えた?
  • What(問題?仕様?)とHow(アルゴリズム?)
  • PlologはWhatからHowが一意。速くしよう/Prologで解けない問題を解こうと思ったら仕様を変えるしかない
  • プログラム変換とプログラム合成
  • PrologがETのサブセット、CHRがETのサブセットであることは証明されている
  • Whatの中では仕様は変形するが意味は変えない
  • Deterministic Ruleはどの答えでもいいから仕様を満たす答えを1個出す。何と何をappendするとこれになるか、とかだと答えは複数ある
  • たとえば図を避ける
  • whatの枠組み(仕様記述言語)でwhatのようなhowを書くPrologは失敗?
  • howの枠組み(プログラミング言語)でwhatのようなhowを書くものも筋が悪い?。HaskellとかRailsとか?
  • 確定節で仕様Dと問題(定義域)Qを書くのがΣET
  • Qは無限集合
  • Qを制御すればどこまでプログラムがやればいいかがわかる。型を決めると最適化できるのと同じ
  • ETIは真のETではない。効率的な一部の実行をするのがETI
  • 構成的プログラミング。Coq。廃れた?→最近,OCamlの型システムの健全性がCoqで証明された
  • (休憩)
  • 与えられたルールが正当なルールかどうかは、前は人間が判断するしかなかったが、今は自動判定できるようになった
  • ルールを自動生成できるかどうか
  • 論理等価式をいう新しい式を入れることによって、ルールと節集合の間にワンクッション。計算の発散を収束させるルールを機械が証明できるようになった
  • ETルールはプライオリティが付けられる。誰がプライオリティを付けるのか?
  • 条件5 rv(*x, *y), rv(*x, *z) ⇒ {=(*y, *z)}, rv(*x, *y). がキモ
  • Prologは確定節を使うので条件5のようなマルチヘッドの条件は書けない
  • 複雑な条件を優先?
  • シャピロのアルゴリズミックデバッギング
  • (休憩)
  • LispPrologはなんでも項とリスト→豊富なデータ構造を扱えるようにするさまざまな試み
  • 入力されたデータから最適化?
  • alohakunが例として考えているのは並列実行モデル
  • Webアプリケーションを確定節で書くときれいにはまる。Eラーニングシステムはその一環ということになっている
  • Dルールは順番依存の処理なので,単体では正当性を証明できない。正当性が証明されるのはNルール
  • 懇親会
  • id:masa_edwさんのクイズに苦しむ
    • 手癖の悪い郵便配達人
    • ケーキを3人で3等分
  • ストーカーの話が思った以上に広がってた。やばい
  • 隣でSchemeのパッケージシステムの相談をしてた。CSAN?