作者: davi
日時: 2009/2/08(01:42)
Bruce.さん  <  こん??は でび です

# なんか、労働強化されまくりで死にそうです。
# 2月はクソ忙しいから、40日間くらいあった方が良いよ。
# 江戸時代みたいに閏2月とかあると、年度末のグチャグチャ進行が
# 少しはマシになると思う。

On Thu, 05 Feb 2009 03:23:46 +0900
"Bruce." <kbk@...> wrote:

> > え〜と、かなり話が飛んでしまう質問なんですが、先日、岩波の
> > 情報科学なんちゃらシリーズの本を読んでいたら、アルゴリズム
> > が特定の言語ではなく、仮想言語(って言うの?)で押し通して
> > 書かれていました。
> 
> 岩波のですか?
> どうだったかなあ。記憶にないや。

他の岩波の本でもそうだったかもしれませんが、例えば
長尾真編、岩波ソフトウェア科学15『自然言語処理』(岩波書店 1996/04)
(http://www.amazon.co.jp/dp/4000103555)では、

◎文脈自由文法に基づく構文解析アルゴリズム CKY法(pp.146-147)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
入力文:=w1 w2 … wn

for i: = 1 to n do
    aii = {A | A → wi ∈ PD}
for d: = 1 to n-1 do
    for i: = 1 to n - d do
    j = i + d
    for k: = i to j - 1 do
    aii = aii ∪ {A | A → BC ∈ Pp , B ∈ aik ,  C ∈ ak + 1j}
if ( S ∈ a1n ) then accept else reject
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

◎辞書とコーパス 辞書のシステム 2分探索(pp.245-246)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
入力:= key[1..n],x(求めたいキーの値);
low:=0;
high:=n;
while low < high do begen
      middle:= (low + high)/2;
      if key[middle] > x then high:= middle -1;
      if key[middle] = x then middleが求める位置(終了);
      if key[middle] < x then low:= middle +1;
end
失敗(終了)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

なんて書いてあります。

CKY法の方は、数学の証明文みたいな印象ですが、
2分探索の方は、まさに疑似言語と言わざるを得ないんじゃないか、
という印象です。

「:=」という書き方は、私は見たこと無いのですが、こういった、
実在言語処理系に依存しない、日本語混じりまでしちゃうような
疑似言語の記法って、一体、何なの?と…。

でび  http://davi.txt-nifty.com/1984/