アルゴリズムのとびら その1

はじめに

プログラミングにおいて、アルゴリズムはとても大切な役割を果たします。
アルゴリズムは、私たちが直面する問題を効率よく解決するための手順であり、プログラムがどのように動くかを決める重要な要素です。

この「アルゴリズムのとびら」シリーズでは、こどもから大人まで、幅広い年齢層の方々に楽しく学んでいただけるよう、物語を通じてアルゴリズムの基本を紹介していきます。
勇者ねこと一緒に冒険しながら、アルゴリズムの世界を探求してみましょう!

勇者ねこの冒険

ボートで冒険している勇者ねこ。
宝箱を発見しました。

ボートに乗った勇者ねこ

「中にはお宝が3つ入っている!」
「重さと売った時の値段がそれぞれ書いてあるぞ」


コイン
ダイヤモンド
金の延べ棒
お宝 重さ 値段
コイン 1kg 50ポイント
ダイヤモンド 2kg 200ポイント
金ののべぼう 3kg 400ポイント

「でも、ボートにはあと5キログラムしか物をのせられないぞ」
「できるだけ値段が高くなるように持って帰りたいな」

どうやって考えたらいいのかな?

「まず、どんな組み合わせがあるか、全部考えてみよう!」
組み合わせとは、複数のお宝を一緒に選ぶ方法のことだよ。

どれも持って帰らない 1通り
1つだけ持って帰る 3通り コイン, ダイヤ, 金ののべぼう
2つ持って帰る 3通り コイン・ダイヤ, コイン・金ののべぼう, ダイヤ・金ののべぼう
3つ全部持って帰る 1通り コイン・ダイヤ・金ののべぼう

「全部で8通りの組み合わせがあるぞ」
「それぞれ、重さと値段を計算してみよう」


組み合わせ 重さ 値段
持って帰らない 0kg 0ポイント
コイン 1kg 50ポイント
ダイヤモンド 2kg 200ポイント
金ののべぼう 3kg 400ポイント
コイン・ダイヤ 3kg 250ポイント
コイン・金ののべぼう 4kg 450ポイント
ダイヤ・金ののべぼう 5kg 600ポイント
コイン・ダイヤ・金ののべぼう 6kg 650ポイント

「5キログラム以内で、一番値段が高い組み合わせは、こうだ!」

ダイヤ・金ののべぼう 5kg 600ポイント

ダイヤモンド
金の延べ棒

「5キログラム以内の組み合わせのうち一番高い値段になるから、この組み合わせがベストだ!」

勇者ねこは無事にお宝を持ち帰りました。
やったね!

解説

アルゴリズムとは、何かを達成するための作業の手順のことです。
今回の例だと、

  • 達成したいこと:
    5キログラム以内で一番ポイントが大きくなるお宝の組み合わせを考える
  • 作業の手順:
    • お宝すべての組み合わせを考える
    • 組み合わせそれぞれの重さとポイントを計算する
    • 5キログラム以内で一番ポイントが大きくなる組み合わせを探す

ということになります。

今回は組み合わせの数が少なかったけれども、お宝の数が多くなるとたくさん計算しなければなりませんね。

次回の冒険では、効率の良い手順を考えます。お楽しみに!