2009年8月10日月曜日

【MoL】4 GROUPING


  • 自然言語の文の中のグルーピングは、実に様々な文法規則を援用して実行されている。これはこれ自体精緻なもの。
  • しかし誤解するときもあるし、曖昧なときもある。
  • logicでは、括弧を使うので無問題。うむ。
  • しかし、括弧は邪魔だよね。うぅ。
  • そこで強化記号というのを導入する。これがすごい。

    • 基本は演算子の優先度で結合。
    • 優先度を落したい(すなわち文の区切りとしては大きくしたい)ところに"."をいれる。
      たとえば、
      p q V r
      は優先度から、
      (p q) V r
      だが、
      p . q V r
      とすると、
      p (q V r)
      を意味する。これlispに使えるかなぁ。
    • 演算子にもつけられるので、
      p -> q . r .V s

      ((p -> q) r) V s
      となる。慣れるとすぐ読める。
    • ":"という"."よりもさらに弱い(文の区切りとしては大きく)記号もある。
      これを使うと、例えば、
      s V (p (q -> r) <-> (p V q) r)t
      は、
      s V: p . q -> r .<->. p V q . r : t
      となる。あれ?括弧がある方が見ためでいえばコンパクトかも。

  • さらにŁukasiewicz の記法。
  • これは前置記法なので、Lispと親和性がありそう。
    例えば、
    s V (p (q -> r) <-> (p V q) r)t
    は、
    AsKEKpCqrKApqrt
    となる。negationはN/1、conjunctionはK/2とかのarityになって、arity以上の文字が続く場合は、それをrestとして引数にしちゃうということ。listで書くと、

    (A s
    (K (E (K p
    (C q r))
    (K (A p q)
    r))
    t))

    こんな感じ。arityを固定すると、こんなことができるんだなぁ。
  • ドット記法は、Peanoが発明して、Whitehead&Russellに引き継がれたものらしい。


こつこつ。

0 件のコメント: