スマートフォン用の表示で見るちしきよく。みなさんの「何かを知りたい!」という欲を叶えましょう。数学あとで読む今日は、私が暇で暇でたまらないときに「暇つぶし」と称してめぐっているサイトを紹介してみたい。3選とするからには厳選に厳選をしぼっている。文字数が結構多いので、忙しい方はまとめだけ読まれると良いだろう。Map特に「ハッキングとか興味あるわ~」という少し危ない人達にはお勧めのサイト。「世界中で現在進行形で行われているサイバー攻撃」を可視化し、見やすくまとめてくれているサイトである。上の絵をご覧いただきたい。円形の中心点が攻撃の始点、つまり攻撃している側であり、そこから出ているビームのようなものが、攻撃の終点、攻撃される側に届く。いっても、そもそも「サイバー攻撃」って何ぞや、というレベルの方も楽しめるよう、ここで知識を補完しよう。多少の厳密さを犠牲にわかりやすく説明するのでぜひついてきてほしい。サイバーとは「サイバー」ということばは聞いたことがあるかもしれない。簡単に言えば、「ネット上の、いろんな情報を手に入れたり、流したりするための場所」ということになる。非常にふわっとしているが、皆さんがこのサイトを見ている、ということは、既に「サイバー空間」にいると言ってよい。このサイバー空間にいわば「毒」を流す行為、それが「サイバー攻撃」である。サイバー攻撃とは毒にはいろいろある。メールで不特定多数の人に有害なソフト(プログラム)を送り付け、それを開いた瞬間に作動し、勝手に情報を垂れ流すようにしてみたり、遠隔操作してみたり。サイトを改ざんするだとか、どこかのサーバ(情報を蓄えてあるところ)にウイルスを流し込むだとか。情報が蓄えてある場所......サーバに意図的に負荷をかけ、サービスを利用不能にするだとか。(Dos(ドス)攻撃と呼ばれる)要するに、「ネット上で行われる悪いこと」が、「サイバー攻撃」である。悪いことというのはまさに、みんなが想像する「ハッキングみたいなやつ」だ。簡単な「サイバー攻撃」は、F5連打であろう。試しにF5ボタンを押してみてほしい。サイトが再読み込みされるはずだ。このとき、当然ながらあなたのパソコンには、サーバから新情報(このサイトの情報)が送られるわけだが、送るための道路の幅は限られている。日本人全員がF5ボタンを連打すれば、ここのサーバはパンクしてしまい(道路が渋滞し)、サービスが使えなくなる。専門的な知識は何一ついらない。typesを見なければわからない。typeがsmtpと表示されているが、これはメールを送るときに使われるプロトコル(取り決めの種類のこと)だ。smtpと表示されていたら、それは「メールによるサイバー攻撃」だとわかる!他にも、mysql(マイエスキューエル)、telnet(テルネット)、microsoft-ds、http-altなどいろいろあるが、まあ興味があれば自分で調べてほしい。Corporationが出てきているが、何かヤマしいことでもあるのだろうか......。アメリカや中国、最近はインドも活発なようだ。www.youtube.comこの動画では、中国がアメリカにすごい勢いでサイバー攻撃をするさまが写っている。可視化してみると、日々現実の裏で「サイバー戦争」が行われているのだな、と実感させられる。Mapライフゲームライフゲームというのは、生命体の繁栄と衰退とをマスで表現した、単純ながらとても奥が深いゲームのことである。ゲームとはいえ、勝敗などはない。この動画の最初のほうを見てもらえればわかると思う。ルール自体は非常に単純である。www.youtube.comこれを自分でシミュレーションできるのが、このサイトである。ライフゲーム開いて、試しにいくつかのマスを塗ってみよう。その後、下の「Start」というところをクリックすると、勝手に「ゲーム」が始まる。最終的にこうなって......終わった。これ以上はどれだけ世代を重ねても形が変わらない。Wikipediaの、一番上の左側のアニメのようになり、ずっと途切れない。二つの変な奴がぶつかり、物体が射出される。見ているだけで飽きない......。game"と調べるといくらでも芸術的な作品が出てくる。皆さんもライフゲームで、作ってみよう。試しにやってみれば、すぐルールは理解できるはずだ。ライフゲームで理解する複雑系これを紹介したのは、ライフゲームが現実の縮図になっていて、興味深いと思ったからだ。我々が生きる現実はいわば「複雑系」である。複雑系というのは、たくさんの部位が集まって相互に関連しあい、全体としてなんらかの性質をもつ「系」(まぁ「セカイ」みたいなもん)のことだ。街中で車を運転して目的地に着きたいとき、どのルートを使うのが最も速いだろうか。答えは、「わからない」が正解。車を運転するのは自分だけではないからだ。他の多数の人がいて、ノロノロ走ったり煽ったり止まったりしている。その人たちも、互いに影響を受け合っている。誰がどんな影響を受けているかを完全に分析するのは非常に難しいため、わからないのだ。複雑系ではしばしば、初期条件の違いが後々大きな差になる。ある車が黄信号で止まった世界A、止まらなかった世界Bを考えよう。このたったわずかな差が、系全体(道路状況全体)に大きな差を及ぼし得ることは自明だ。信号で止まれば他の車が右折左折で割り込んでくる。割り込んできた車が世界Aとは違ったふるまいになるのはともかく、そういう車たちが他の車にも影響を及ぼす。最終的に、最速のルートも変わってくるだろう。......実に多くのところに、この「複雑系」が見出されるはずだ。一つの初期条件の違いが、のちのち大きな差になってしまう、それも複雑系の難しいところである。(複雑系は面白いので、後日取り上げてみたい。)ライフゲームはそんな複雑系を、数学の苦手な人にもわかりやすく伝えることに成功している。ライフゲームの複雑系こういう模様を作ってみよう。そのうち花火みたいな図柄が出てきて、ループするはずだ。今度はこうなるのだ!なんと、第3世代にして、全滅してしまった!花火か全滅かの違いは、中心のマスが埋まっていないか、埋まっていたかだけにすぎない。わずかな違いのはずだ。拘らず、このような違いが出てしまった。マス目どうしが互いに影響し合う、というゲームのルールにより、初期条件のわずかな違いが、最終的な答えに大きく関わる、これが複雑系の面白いところであり、ライフゲームはこれを簡単に伝えてくれる。Calculator関数を入力するだけで勝手にグラフを描画してくれるサイト。暇つぶしというだけでなく、実用上非常に役に立つ。やってグラフを描いているか気になる方もいると思うので解説しておく。グラフの描き方―人間編―そもそも、私たちがグラフを描く際、いったいどうやってきただろうか。2次関数や3次関数のような曲線のグラフは、人間の手で完璧に書くのが難しい。我々は「フリーハンド」を使うことで、なんとかそれを可能にしてきた。(http://mathtrain.jp/yojigraphより拝借)「増減表」といって、グラフの傾きがどうなってるかなどを書き込む表を完成させたら、それをもとにグラフを描いていく。上の増減表からわかるのは、「ある点において、増加から減少に・減少から増加に転じる」ということ、「ある点で最大・最小をとる」ということだけである。グラフの描き方―コンピュータ編ーコンピュータはそんな小細工をする必要がない。我々が増減表を書くのは、グラフの概形を確認するためであり、逆に言えば、概形を確認しなくていいならば、書く必要もない。コンピュータはまさにそんな感じだ。(以下、簡単のため、y=f(x)という1変数関数だけの話)何をするかというと、「手あたり次第xを代入してyを計算し、(x,y)に点をプロット、その点を結んで、近似的にグラフを完成させる」である。ある関数があり、関数の式はわかっているが、グラフがわからない。コンピュータくんはxをいくつかにわけ、それぞれのxにおけるyの値を求める。それを対応させ、プロットしていったのが上の図になる。プロットした点と点とを滑らかに繋いでやると、こういう風になる。点をとってやると、これがこの関数の「近似的な(絶対的に正しいことはないが、まあ似通ってる)グラフ」となる。点の数が多いほうが、より正確な近似ができる。さっきの例でいえば、もし点が少ないと、このように、似ても似つかない、近似とも呼べないものが出来上がる可能性は高くなる。原理はご理解いただけただろうか。面白いグラフ面白いグラフを描いたので、見て行ってほしい。皆さんも作ってみて下さい。連絡いただければここで紹介しますよ。縮小すると、なんつーか、グロい......けど美しい。単純な関数でもこういうのが描けちゃう。おお、美しい......縮小する。