ブックマーク / alohakun.blog7.fc2.com (4)

  • ホワット・ア・ワンダフル・ワールド 知識表現とProlog / KR

    えらく古い (1985) ですが,たまたま研究室に転がっていたので眺めていたら,けっこう面白かったのでメモ. 知識表現とPROLOG/KR ET 言語の,D ルールの定義構文 (as *Head | *Body) とか,変数の頭に * (アスタリスク)が付くのとかも,Prolog/KR の as 構文 (assert の略らしい) なのかな ? Prolog/KR も変数の頭に * が付くのか,とか,こういう由来系の情報ってのは面白いです. Prolog/KR ってのは Lisp と Prolog の融合を進めたような言語のようです.というか,Lisp で書かれた Prolog 処理系のようです. 知識表現の利便性のために拡張された Prolog であり,多重世界の概念でプログラムの階層化(モジュール化)を可能にするそう.特に,AI における知識フレームなどが,一世界一概念という形で素直

    kuwa1
    kuwa1 2008/07/22
  • ホワット・ア・ワンダフル・ワールド 配列とポインタ変数には何の関係も無いよ

    C/C++のポインタの機能--配列との関係 Q. ポインタって危ないんじゃないの? A. なんで?危なくないよ. Q. だって合法なの? A. もちろん合法だよ. Q. こんな風にポインタを使うと違法ですよっていうものはある? A. それはちゃんと勉強すると分かるよ. Q. 配列ってポインタなんでしょ ? A. 違うよ.全然違うよ. Q. でも,ポインタなんでしょ? A. 全然違うよ.全く関係ないよ. Q. へー,じゃあ,配列とポインタの違いは何なの? A. じゃあ,簡単に説明してあげるよ.まず,配列はメモリの塊です. 直接レジスタに載せて操作できないから,ポインタ経由で扱う. C の構文上では,操作されるもの自体と操作するための機能の区別が曖昧だから,これらは気まぐれに同じような場所に現れたり,お互いを入れ替えても同じように動いちゃったりするんだ. なのでポインタと配列は同じもの,という

    kuwa1
    kuwa1 2008/04/04
  • http://alohakun.blog7.fc2.com/blog-entry-925.html

    kuwa1
    kuwa1 2008/03/29
  • ホワット・ア・ワンダフル・ワールド アルゴリズミックデバッギング

    研究グループの内輪の研究会がありまして,ET プログラムの自動デバッギングの話が面白かったです. (人間が頭で考えて,直接ルール (プログラム) を手書きした場合用.また,原理的に,形式的仕様記述から自動生成されたプログラムは,仕様に対しては 100 % バグが無いわけですが,それとは別のレイヤーとして,生成されたプログラムが「人間の直感的意図 (ここはインフォーマル)」と異なる挙動を示した時には,仕様のデバッグが必要になってくるので,さらに高度な研究が必要になってくる) その研究自体の詳細は (私の研究ではないので) 書けないのですが.既存研究との比較として挙げられていた,サーベイペーパーが,これまた興味深かったです. Josep Silva, "A Comparative Study of Algorithmic Debugging Strategies", 2007 論理プログラムや

    kuwa1
    kuwa1 2008/03/24
  • 1