応用情報技術者試験の勉強中に逆ポーランド記法という言葉が出てきました。
名前が特徴的だったので覚えるのに苦労しなかったのですが、名前の由来が気になってしまったので調べてみることにしました。
この記事では逆ポーランド記法の名前の由来、コンピュータや電卓での活用について説明します。
逆ポーランド記法とは?
数式の書き方には「通常の書き方(中置記法)」のほかに、ポーランド記法と逆ポーランド記法があります。
- 中置記法:
3 + 4
- ポーランド記法(前置):
+ 3 4
- 逆ポーランド記法(後置):
3 4 +
逆ポーランド記法では括弧が不要で、スタックを使えば簡単に計算できるのが特徴です。
スタックとは?
スタック(stack)は、「後から入れたものを先に取り出す」という仕組みを持つデータ構造です。
イメージとしては「積み重ねた皿の山」に近いです。
- 皿を重ねる → データを積む
- 上の皿を取る → データを取り出す
逆ポーランド記法の計算では、この仕組みを使って次のように処理します。
例:3 4 +
3
をスタックに積む4
をスタックに積む+
が出たら、スタックから 2つ取り出して3 + 4
を計算し、結果7
を積む
最終的にスタックに残った数値が答えになります。
ポーランド記法の誕生
ポーランドの論理学者ヤン・ウカシェヴィチが、論理式を括弧なしで表現できる方法として前置記法(ポーランド記法)を考案しました。
逆ポーランド記法の誕生
その後1950年代、オーストラリアの論理学者チャールズ・ハンブルンが「演算子を後ろに置く方法」を提案しました。
これが現在よく知られている逆ポーランド記法(Reverse Polish Notation: RPN)です。
名前の由来は単純で、「ポーランド記法の逆」だから。
直感的に理解しやすく、コンピュータ向けに適していたため、後に広く使われるようになりました。
コンピュータと電卓での活用
逆ポーランド記法の魅力は、括弧が不要で計算処理がシンプルになることです。
スタックを使えば順番に積んでいくだけで答えを得られます。
そのため1960年代以降、コンピュータ言語や電卓で採用されました。
括弧や演算子の優先順位を考えなくて済むため、プログラムや数値計算の効率化に役立ったのです。
まとめ
- 1920年代: ヤン・ウカシェヴィチが「ポーランド記法(前置記法)」を考案
- 1950年代: チャールズ・ハンブルンが「逆ポーランド記法(後置記法)」を提案
- 1960年代以降: コンピュータや電卓に採用され、実用的な記法として普及