Łukasiewicz

最近気になってた論理学者の名前。
エルにバーが入ってるんだ、何語の文字だろうかと。


googleで検索してもずっと引っかからなくて、
そんなにマイナーな人なのかと思っていたら、
参照していた本に実は誤植があったようで、
なぜか余計なtが入っていて、その本の中に
何度もこの人の名前出てくるのに全部まちがえるな。


ポーランド記法という名の由来になった
ポーランド人というのが、なんとこの人だったらしい。
演算子を操作対象の前に置く記法のことらしく、
なるほどそれは分かりやすそうだと一瞬思った。


でも、普通の四則演算では、中置記法が採用されてて、
というか、小学校で習うのはこの書き方なのであり、

  • 1 + 3 = 4

というように+を1と3の間に挟むように置いている。


この記法では、演算の順序に暗黙の了解があり、
演算子のいわば強弱が規定されている。
たとえば、*の方を+より先に演算する、とか。

  • 1 + 3 * 2 = 7


ポーランド記法では、演算子を先に書くので、
優先順位というものを考えなくてもよくなる、
という利点があるように見える。
たとえば、このように書くので。

  • + / * 2 3 - 4 1 5 = 7


あいまいさがなくなって分かりやすくなった!
と思える人がいたら、ちょっとスゴイ。
普通に書くと、

  • 2 * 3 / (4 - 1) + 5 = 7


こっちで書かれたら、ちょっと安心したかも。
ちなみに、ポーランド記法で困るのは、
数字を区切る文字を導入しないと、
23なのか2と3なのか区別できない。
中置記法では、演算子が区切り文字も兼ねるので、
そういう問題は起こらなかったわけで。


あまりに読みにくいので、Łukasiewiczは
生前、この記法の研究を発表しなかったらしい。
その判断は、たしかに気持ちは分かる。


しかし、これを変形した逆ポーランド記法RPN)、
つまり、演算子を操作対象の後に置く記法は、
プログラミングの練習用のRPN電卓などで
よく出てくるとか。HPの電卓はこれだとか。

  • 2 3 +

こう書くので、よく見ると、日本語に似ている。
2と3を足す、という順番に記述しているわけ。


あ、本当はŁukasiewicz論理について書こうと
思っていたんだけど、紙数も尽きてきたので(?)
また今度にしよう。