ASAHIネット(
[URL]のjouwa/salonからホットコーナー(
[URL] )に転載したものから。
---
Peter Norvigさんの
[URL]
How to Write a Spelling Corrector
の翻訳が、
[URL]
スペル修正プログラムはどう書くか
Peter Norvig / 青木靖 訳
にあります。
青木靖さんは、
[URL]
をみれば、わかるように、ソフトウェアに関する多くのいい文章を訳してくだ
さっていて、頭が下がりますし、大変ありがたいと思っています。
でも、「スペル修正プログラムはどう書くか」の次の部分は気になった。
後半にある
--- ここから ---
左右の文字を含めて1つの文字が別な文字に変わるケースは26^6通りあり、
--- ここまで ---
という部分。なお、HTMLだと上付き数字でべき乗を表していますが、ここでは、
「26^6」のように表現しています。
この訳文を先に読んだので、なぜ、6乗になるのかわからなかった。
「左右の文字を含めて1つの文字」は、フツー、ある文字の左右に1文字ずつ
あって合計3文字と読める。それだけなら、アルファベット26文字として26^3乗。
1文字どこかに挿入することを考えても、26^4乗にしかならないと思った。
なぜ、26^6乗なのか、誰か、教えてと書こうと思った。
で、原文をみてみると、
--- ここから ---
If we want to look at the change of one character for another, given a
window of two characters on each side, that's 26^6, which is over 300
million characters.
--- ここまで ---
で、「given a window of two characters on each side」とあるから、ある
文字の左右それぞれには、2文字の窓があるとしてるのね。
これなら、全体で5文字。1文字挿入を考えると6文字。よって、26^6乗なの
ね。
これで合ってます?
セコメントをする