【真面目版】ポーランド表記法とは?初心者向けにわかりやすく解説

目次

はじめに

幽灯子/基本情報技術者副専門官

私たちが学校で習う算数の式、たとえば 3 + 5 という書き方。実はこれ、数式の書き方としては「いくつかある方法のうちのひとつ」に過ぎません。

世の中には ポーランド表記法(前置記法) という、ちょっと変わった数式の書き方があります。一見すると暗号のように見えますが、仕組みを知れば意外とシンプル。コンピュータの世界では今でも広く使われている、とても実用的な表記法です。

この記事では、数学やプログラミングの知識がなくても理解できるように、ポーランド表記法をやさしく解説します。


ふだん私たちが使っている書き方 ── 中置記法

幽灯子/基本情報技術者副専門官

まず、比較のために普段の書き方を確認しましょう。

3 + 5
10 - 2
4 × 3

これは 中置記法(ちゅうちきほう) と呼ばれています。演算子(+や-などの記号)が数字と数字の あいだ(中) に置かれるから「中置」です。私たちにとっては一番なじみ深い書き方ですね。


ポーランド表記法とは ── 演算子を「前」に置く

幽灯子/基本情報技術者副専門官

ポーランド表記法では、演算子を数字の に書きます。だから「前置記法(ぜんちきほう)」とも呼ばれます。

具体的に見てみましょう。

ふだんの書き方(中置記法)ポーランド表記法(前置記法)
3 + 5+ 3 5
10 – 2– 10 2
4 × 3× 4 3

やっていることは同じです。ただ「+」や「-」の 位置が変わっただけ です。

声に出して読むと、こんな感じになります。

  • + 3 5 →「足す、3と5を」
  • - 10 2 →「引く、10から2を」

日本語の語順に近い感覚で「何をするか(動詞)」を先に言って、そのあとに「対象(数字)」が続く、と考えるとわかりやすいかもしれません。


名前の由来

幽灯子/基本情報技術者副専門官

ポーランド表記法という名前は、1924年にこの表記法を考案した ポーランドの論理学者ヤン・ウカシェヴィチ に由来しています。

そのため「ウカシェヴィチ記法」と呼ばれることもあります。


複雑な式はどう書く?

幽灯子/基本情報技術者副専門官

ここからが面白いところです。次の式を考えてみましょう。

(3 + 5)× 2

ふだんの書き方だと、カッコ () を使って「先に 3+5 を計算してね」と指示する必要がありますよね。

ポーランド表記法で書くと、こうなります。

× + 3 5 2

読み方は 右から順にグループ化 していくとわかりやすいです。

  1. まず + 3 5 → 3 + 5 = 8
  2. 次に × 8 2 → 8 × 2 = 16

ここで注目してほしいのが、カッコが一切登場しない ということです。演算子の位置だけで計算の順番が決まるので、カッコが不要になるのです。これがポーランド表記法の最大のメリットです。

もうひとつ例を見てみましょう。

ふだんの書き方:(1 + 2)×(3 + 4)
ポーランド表記法:× + 1 2 + 3 4

分解すると次のようになります。

  1. + 1 2 → 1 + 2 = 3
  2. + 3 4 → 3 + 4 = 7
  3. × 3 7 → 3 × 7 = 21

逆ポーランド表記法(後置記法)── 兄弟のような存在

幽灯子/基本情報技術者副専門官

ポーランド表記法には「逆」バージョンもあります。その名も 逆ポーランド表記法(RPN: Reverse Polish Notation)。こちらは演算子を数字の 後ろ に置きます。

ふだんの書き方ポーランド表記法(前置)逆ポーランド表記法(後置)
3 + 5+ 3 53 5 +
(3 + 5) × 2× + 3 5 23 5 + 2 ×

逆ポーランド表記法は、かつて HP(ヒューレット・パッカード)社の関数電卓 に採用されたことで有名です。エンジニアや科学者の間で根強い人気がありました。


どこで使われているの?

幽灯子/基本情報技術者副専門官

ポーランド表記法やその逆バージョンは、意外と身近なところで活躍しています。

プログラミング言語の内部処理 — コンピュータがプログラムの中に書かれた数式を処理するとき、内部的にポーランド表記法や逆ポーランド表記法に変換していることがあります。カッコの処理が不要になるため、コンピュータにとって効率がよいのです。

Lisp系プログラミング言語 — Lisp(リスプ)というプログラミング言語は、ポーランド表記法にとても近い書き方をします。たとえば 3 + 5(+ 3 5) と書きます。1958年に生まれた歴史ある言語ですが、人工知能の研究などで現在も使われています。

関数電卓 — 先述のHP社の電卓のように、逆ポーランド表記法を採用した電卓は今でも愛用者がいます。慣れると通常の電卓より素早く複雑な計算ができるため、プロの間では根強い支持があります。


まとめ

ポーランド表記法は、数式を書くときに演算子を前に置くシンプルなルールです。たったそれだけの工夫で、カッコが不要になり、計算の順番が曖昧にならなくなります。

表記法演算子の位置例(3+5)カッコ
中置記法(ふだんの書き方)真ん中3 + 5必要
前置記法(ポーランド表記法)+ 3 5不要
後置記法(逆ポーランド表記法)後ろ3 5 +不要
幽灯子/基本情報技術者副専門官

ふだんの生活で使う場面はあまりないかもしれませんが、コンピュータの世界では欠かせない考え方です。「数式にはいろんな書き方がある」と知っておくだけでも、プログラミングや論理学への入り口がぐっと広がるはずです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITTIのアバター ITTI 運営長

ITTI運営長
調べものと学ぶことが止められなくなり、現在は以下の4ブログを運営中:
・DXブログ(今ここ!)
・CODEブログ
・INFRAブログ
・XRブログ

保有資格:ITパスポート
目標資格:情報処理安全確保支援士(学ぶこと多すぎて道のりは遠いですが、毎日コツコツ進めています…泣)

ブログでは、実務経験と最新技術を掛け合わせて、読者の「わかりにくい」を「わかる!」に変える記事を発信中!
最終目標は、これらの知識を活かして「ドラえもんのような万能AI」を開発すること(AIを副運営長任命が待ち遠しい!)。
DX・CODE・INFRA・XRに興味ある方、気軽にX(@llEqmDGOYZ4258)でDMください。一緒に学びましょう!

公務員のキャラがDXを解説!?パロディのブログ『ITTI DX』、発信中!

ITTI DXは企業の安心と持続をサポートするDXを特化したブログ

コメント

コメントする

CAPTCHA


目次