初級その3

こんにちは!このページは「コンピュータサイエンスと魔法のYコンビネータ」という記事の5ページ目です。1ページ目から読むにはこちらからどうぞ

コンピュータサイエンスと
魔法のYコンビネータ

初級その4: 弁当箱の法則

スライド 1 / 18

法則が分かった!

分かったぞ!

どうやら、ラムダ村の村人たちは「弁当箱のパズル の法則を見抜いたようです!

やった、法則が分かったぞ!

なんと…本当に分かったというなら、説明してみることだな!

他のページをお探しですか?

初級その3·
·初級その5
スライド 2 / 18

下のふたつの料理が同じの場合

じゃあ説明しよう。まず、下のふたつの料理を比べてみる

もし下のふたつの料理が同じなら、実行 したときに上にある料理が残るんだ。

下の料理が同じ (両方とも お寿司 )
上にあったサンドイッチ が残る

下の料理が同じ (両方とも ピザ )
上にあったスパゲッティ パン が残る

そして、以下が クイズの1問目の答えだ。

下の料理が同じ (両方ともニンジン )
上にあった ブロッコリー が残る
スライド 3 / 18

下のふたつの料理が異なる場合

次に、下のふたつの料理が異なる場合

この場合は、実行 したときに右下にある料理が残るんだ。

下の料理が異なる ( )
右下にあった チキン が残る

下の料理が異なる ( )
右下にあった ホットドッグ が残る

そして、以下が クイズの2問目の答えだ。

下の料理が異なる ( )
右下にあった ナス が残る

どうだ、これが正解だろう!

スライド 4 / 18

正解!

その通り!

正解、まさにその通りだ!

今まで勉強を怠けてきたわりには、なかなかやるじゃないか。

やった!やった!

だが、喜ぶのはまだ早い。

えー、なんで?

次のページから、さらに難しい「弁当箱のパズル を解いてもらう。そのためには、「弁当箱のパズル の法則を明確にする必要がある。

法則を明確にする?どういうこと?

スライド 5 / 18

法則を明確にする

先ほどお前が言った、「下のふたつの料理を比べて、同じなら上が残る。違うなら右下が残る」というのは明確さに欠ける。さらに複雑なパズルを解くには、法則としては不十分なんだ。

えー、そうなのか…

さらに複雑なパズルを解くには、もっと法則をハッキリさせる、すなわち明確化する必要があるんだ。

もっと法則を明確にしないと
複雑なパズルを解けない

というわけで、これから「弁当箱のパズル 明確な法則を紹介する。それを理解した上で、さらに複雑なパズルを解いてもらおう。

うーん、よくわからないけど、とりあえずその明確な法則とやらを聞いてみよう。

スライド 6 / 18

「弁当箱のパズル の明確な法則

では、「弁当箱のパズル の明確な法則をまとめてみよう。

1. 印をつける:

印をつける:

2. 一致チェック:

一致チェック:

3. コピーする:

コピーする:

4. 消す:

消す:

では、それぞれのステップについて解説していくぞ。

スライド 7 / 18

1. 印をつける

それぞれのステップについて、 こちらの「弁当箱のパズル を使って説明していきます。

まず、上の料理には 、左の料理には 、右の料理には の印をつけます。

の印をつける

次へ を押してみてください:

サンドイッチ の印が、下のお寿司 ふたつにそれぞれ の印がついた!

スライド 8 / 18

2. 一致チェック

続いて、 が一致するかチェックし、一致した料理には、 を付けます。

が一致したら をつける

次へ を押してみてください:

お寿司 がついた!

スライド 9 / 18

3. コピーする:

続いて、 の料理を、一致した の部分にコピーします。

を一致した にコピー

次へ を押してみてください:

サンドイッチ の部分にコピーされた!

スライド 10 / 18

4. 消す:

最後に、 が消えます。

が消える

次へ を押してみてください:

になった!

そして、最終的にサンドイッチ だけになります。次へ を押してみてください:

以上です!

スライド 11 / 18

上にふたつの料理がある場合

では、たとえば下の例のように、上にふたつの料理がある場合はどうなるんだろう?

上にふたつの料理がある
(スパゲッティ パン )

この場合、上にあるスパゲッティ パン には両方とも の印がつきます。

両方とも の印がつく

そして、ピザ が一致したあとに…

に一致 する料理があります

スパゲッティ パン 両方ともコピーされます。

を一致した の部分にコピー

最後に、 が消え…

が消えます

スパゲッティ パン が残るのです。

スライド 12 / 18

早送り で見てみましょう

では、最初から最後まで早送り で見てみましょう。早送り 機能を使うと、各ステップを自動で見ていくことができます。

早送りすると、各ステップが自動で見れる

こちらは、上にひとつの料理がある例です。早送り を押してみてください一回ずつ進める場合は、 を押してください。

こちらは、上にふたつの料理がある例です。早送り を押してみてください:

スライド 13 / 18

まとめ

というわけで、ここまでをまとめてみましょう。

1. 印をつける:

印をつける:

2. 一致チェック:

一致チェック:

3. コピーする:

コピーする:

4. 消す:

消す:

なるほど、そういう仕組みになっていたのか!

うむ。そして、こうやってルールを明確にすれば、パズルが複雑になっても応用が効くんだ。

スライド 14 / 18

一致しなかったら?

が一致しなかったら?

では、もし が一致しなかったらどうするの?

たとえば下の弁当箱の場合は、 が一致しないよね。

次へ を押してみてください:

スライド 15 / 18

コピーはせず、 を消すだけ

が一致しない場合は、コピーはせずに、ただ を消すだけです。次へ を押してみてください:

そして、最終的にチキン だけになります。次へ を押してみてください:

スライド 16 / 18

早送り で見てみましょう

復習のために、 が一致しなかった場合も、最初から最後まで早送り で見てみましょう。

早送りで復習しよう!

こちらは、上にひとつの料理がある例です。早送り を押してみてください一回ずつ進める場合は、 を押してください。

こちらは、上にふたつの料理がある例です。早送り を押してみてください:

スライド 17 / 18

まとめ: 一致しなかった場合

が一致しなかった場合、コピーはせずに、ただ を消す

が一致しなかった場合…
コピーはせずに、ただ を消す
スライド 18 / 18

以上です!

以上が、「弁当箱のパズル の明確な法則だ。理解できたかな?

な、なんとか…でも、まだ覚えきれてないなあ。

法則を覚えきれていなくても、次回また復習するので大丈夫だ。

ホッ、よかった… (悪魔って意外と優しいんじゃ?)

次回では、もっと複雑なパズルを出題する。計算箱を返してほしかったら、解いてみせるんだな!

望むところだ!

次のページへ進む初級その5
初級は残り1ページです!

ひと休みする前に

お願い:長いのでひと休みしよう」とお考えの方にお願いがあります。

差し支えなければ、このページを閉じる前に下のツイートをリツイートしてくださると、宣伝になるので非常に助かります。もしくは、「初級その4までは読み終えた」と引用リツイートしてくださると、さらに励みになります。図々しいお願いで恐縮です。

また、本稿の内容について質問がございましたら、上のツイートにスクリーンショット付きで返信してくだされば最優先で対応します。メール(shu@chibicode.com)でもお答えできますが、返事が遅れる可能性が高いです。

次のページへ進む初級その5
初級は残り1ページです!

著者: 上杉周作 (ブログはこちら)
公開日:
ソースコード: GitHubで公開中

初級その3
プライバシーポリシー · 当サイトについて· Twemoji