教職課程を履修するまでに至った僕の人生のお話

はじめに

これはもともと,教職 Advent Calendar 2020

adventar.org

の22日目の記事の中に書いていたのですが,ただの自分語りだと思ったのと,それが2000文字もあったので,分けたものです.

ついでに空いていたcoins18 Advent Calendar 2020

adventar.org

20日目の記事にしました.

大事なことなのでもう一回.

ただの自分語りです.

自己紹介(?)

僕はB2から教職過程の履修を始めたB3です.

取ろうとしている教員免許は中高数学と高校情報の3つです.

本題

ちっちゃいころのお話

元々教えることは好きでした.高知県のど田舎(人口9番目と言っても高知市以西では最も大きな小学校に通ってました)に住んでいると,周りに仕事というと限られてきます.親戚をみても,公務員かそれに準ずるようなものでした.なので,職業というと,警察とかそんなものしか保育園のときは分かりませんでした.

多分高卒で働くつもりだった.

小学校に入って,先生に恵まれたので,学校の先生って良いなと思いました.

でも,これといって学校の先生になるためには~みたいなことを考えたりはしませんでした.

中学受験をした話

小学校2年生から通っていた公文の先生のすすめで小学校5年生の11月から中学受験をするため塾に通い始めました.

親に,リビングで中学受験をしてみたらどうかって公文の先生に言われたけどどうかって聞かれ,中学受験が何か分からなかったけど,なんか塾に通って勉強するらしいと聞いて,うんと答えました.

中学受験が何か分からずに通う人間ってそんなにいないと思います.中学受験という概念にそのとき初めて触れました.

どうやら今いる同級生とは違う中学校に行くらしいということが分かったのは大分後になってからでした.

最初に受けた模試(土佐塾模試という,高知県の中学受験をする人間しか受けない模試)の偏差値は37とかだった気がする.その後1年間,国語は良い先生だけど意味不明すぎてガチ泣きながら,算数はニュートン算とか楽しいなあと思いながら家の風呂がマーライオンと噂のパチンコ大好きお兄さんから,理科は理研の元研究員という謎の肩書のおじさんから,社会は話が面白い若いお兄さんから塾で習いました.ここの塾は集団でした.

滅茶苦茶先生(小学校も塾も)に恵まれていました.偏差値は最終的に60弱くらいまで上がって普通に受かりました.

中学生の頃の話

次に中学校に入りました.最初らへんの実力テスト的なサムシングで198/253というという順位でした.ワロタ.数学は追試を受けて脱出.英語は追試再追試補習というところまで.

しかし,夏休みは午前中に補習があって部活も午前中練習.部活したかったので頑張りました.英語は45点未満補習,僕は多分48点でした.今思うと補習受けた方が良かったんじゃないかなと思います.

世の中には頭の良いというのにもレベルがあると思います.小学校低学年,高学年,中学校,高校,大学,どのレベルまで授業を聞くだけですんなりと理解できるかです.

僕は小学校のところまでならなんとかギリギリ理解できていたのだと思います.中学校になると半分くらい.高校になると1回聞いただけじゃ一切合切金輪際理解できなかったです.

しかし,どうやら周りは僕が頭が良いと思ってくれていたようです.我198位ぞと思うけど,みんなは二桁台だと思っていたようです.纏ってるオーラが違うようです.

同じ部活の女子に,理解力がないと言われことがあるけど,まことにその通りでございます.ありません.

順位が悪かったのは,小学校時代,塾で与えられた膨大な課題しかしておらず,自分で計画を立てて勉強するということを小学生のときにしてこなかったからだと思います.何か期限的なものがないとできないタイプってやつです.

何をすればよいのか分からなかったし,分かったとしても多分やらなかったんですね.

まあ,それでもなんとか勉強して,中3の一番最後のテストでは61位でした.これはクラスの人達が比較的できる人達だったからだと思います.

5クラスだったのですが,中1のとき,クラス8位で学年108位,中3は,クラス17位で学年61位です.凡人以下の僕には周囲がどれだけ勉強しているがどうかって結構大事だったなと今になって思います.

中3になって,やっとaとtheがどう違うとかっていう文法的な理解をしました.感覚でやってた.

先生はよかったです.僕が勉強しなかっただけです.

高校生の頃の話

高校ではなんとか常に2桁台,50位以内に何回か入った気がするけどその程度.

でも,なんか僕の持っている雰囲気というかそれが勉強できる人らしくて,そう言われたけど,できなかったんだなこれが.高1の1学期中間テスト数学,範囲は三角比と三角関数をまとめて,僕は8割取れたつもりで返されたら24点,萎え萎えの萎え太郎だった.

高2で数学ガールに出会って,数学をただ問題を解くという見方から,ちゃんと考えるようになりました.ここで数学が面白い!!ってなったと思います.

進路の話

で,大学でも数学やるのありだなって思ったけど,どうやら自分は大学で数学をやっていくほどの力はないと悟り,数学を使える分野で面白そうなものを探して情報科学へと至った訳です.

因みに,理系に進んだのは,工学,数学,心理学,教育学,酪農畜産,経済,経営,文学その他色々,医学以外は面白そうだと思い,最終的に文転すればええからとりあえず理系っていう思考でした.医学だけは面白そうには思いませんでした.

大学1年生の頃の話

中学高校でも,教師は良いなと思っていたけど,折角大学に来てまで教師になるのってどうなのって思うようになり,教職を取るのを渋りました.

でも教える仕事はしたかったので,個別指導の塾で教えていました.

大学1年生が終わった頃の話

1年次が終わり帰省したときに会った後輩は某KUに進学したのですが,教職を取って教師になるって言っていたのでここでかなり揺らぎました.

そして,4月1日(だった気がする)に教職を取ってる人と話をしていて, じゃあ僕も迷ってるくらいなら取っちゃえとなり2年次から履修し始めました.やめるのは簡単です.理系が文転するのと一緒ぐらいの気分でした(文系の方ごめんなさい).一個上の先輩に,同じように2年次から履修を始めた方がいたからっていうのもあります.

大学2年生から今までの話

教職楽しい.取って損ではなかったと思います.

理論理論理論だけれども面白いです.

進路選択に際して,あまり人間を対象としたことをしたくない(個々に差異があるのがいやだ)という気持ちが強かったんですけど,まあ話を聞いているだけなら面白いです.

ちょっとかなりヤバイやらかしを1回したんですけど,まあなんとかなりました.教育実習先も決まっているので,やってきます.

今後の展望

卒業後すぐに教職に就くつもりはないが,どこかで仕事に満足したらやめて教職に就くのもありだなと思ったからです.よく何かを書いて出さないといけないときに,そうやって社会で自分の学んだことを生徒達に還元していく的なことを方々で書いております.

おわりに

これだけだと何で取ったのか分からなかったかもしれませんが,きっかけは,教職をとっておくと後々役に立つかもしれないでした.いまは面白いというのがモチベーションになっています.

ありがとうございました.

研究室が決まったらしい

研究室が決まった

研究室が決まりました.

第1志望でだそうです.

暗号します.

暗号の何をするかは決めていませんが,暗号だったら何でもできるそうです.

おわり

高校時代,数学科的なところもありだたと思っていたのですが,ちょっとした数学書などを読んで,世で言う現代数学とはこのようなものなのかと心を折られました.

大学では代数をかじりながら情報系っぽいことはそこまで何もしない情報の大学生になってしまったことを少しばかり後悔しています.

回り巡って数学をできそうな研究テーマが選べそうなので,頑張っていきたいと思います.

来年は一生懸命頑張りたいと思います.

丁合機を用いて対数オーダーで紙を元通りにするアルゴリズム

これは何の記事か

丁合機で順番をミスってしまったので,最初のようにばらしたいときや,ホッチキスで留められていなかったので手で留める必要があったときに,丁合機で最初の状態にしてからもう一回丁合機に入れてあげようとしたときに,この最初の状態にするというアルゴリズムに関するお話です.ググったけどでてこなかった.

以下でソートやばらばらにすると書いてあったら,それは,1枚目や2枚目でそれぞれまとめるということです.つまり,最初の状態にするということです.

似たような事例を調べていたのですが,丁合機でソートというと,どうやら1枚目2枚目……n枚目という風に部数単位にすることのようです.なので,ここでいうソートとは,丁合機におけるソートではないです.

具体的には,1枚目が20枚,2枚目が20枚,3枚目が20枚,4枚目が20枚とすることをここではソートということにします.

方法だけを確認したい人は,例2.10口4枚/部24部の場合をを見てください.

背景

2019年の夏の大学説明会の学生企画で紙を丁合機で束ねていたときに,1部となって出てきた先のホッチキスで留める機構(ステープラ)がぶっ壊れていて留められなかったので困っていました. 事務の方を呼んで,待っている間に,もし治ったとして,また手でばらすのは時間が勿体ないなあと思っていたときに,ふと思い付きました.

アルゴリズムの簡単な概要

  1. 適当な部数ずつ口に入れて,丁合機を動かします.
  2. このとき,余りが出た場合はよけておいて,別に余りだけを1部ずつ入れて動かします.ばらばらになります.
  3. 各枚目が口数と同じ枚数ずつ組になって出てきますよね.その組がいくつか出てくるので,またその組を1部と考えて各口に入れます.

これを繰り返すことでばらばらにできます. 余りはそれだけを1組または一部ずつ入れて動かします.ばらばらになります. 余りでばらばらにしたものと,余りにならなかったものでばらばらにしたものを合わせてあれば終わりです.

具体例は例2.10口4枚/部24部の場合をみてください.

アルゴリズム本体

まず,仮定として,この丁合機は\displaystyle k口あるとします.また,1部当たり\displaystyle j枚,\displaystyle N部であるとします.つまり,1部が最大で\displaystyle k枚あるということです. 結果を先に示しておくと,このアルゴリズムを用いると最大

\begin{aligned} O(N) = 2 \lfloor \log_k N \rfloor +1 \end{aligned}

回人の手でばらすこととなります.ちなみにこのオーダーは丁合機に入れる回数です.

もし人間がばらす場合は\displaystyle O(N)=jNですね.

さて,このアルゴリズムを考えていきましょう.

例示は理解の試金石ということで,まずは簡単な場合の例から考えて次に一般化していきましょう. 読みにくい文章で分かりにくくなっていると思うので,紙にペンで書いてみるか,小さな紙にページ番号とか振って実際にやってみると良いかと思います.読みにくい文章でごめんなさい.

例1.10口 4枚/部 10部の場合

いま,\displaystyle k=10,n=40ですね.

これはすでに1枚目から4枚目までが順番に並んでいてこれを1部として10部あるということですね. では,これを1部ずつ口に入れます. するとどうでしょうか.出てきた紙は,1枚目が10枚,2枚目が10枚,3枚目が10枚,4枚目が10枚という順番に出てきますね. ちゃんとばらばらになりました.人間のかかった手数は1(丁合機にセットする回数)です.

例2.10口 4枚/部 24部の場合

いま,\displaystyle k=10,n=96ですね.

じゃあこれを適当に口につっこみます.ここでは,それぞれの口に[3,3,3,3,2,2,2,2,2,2]部ずつ入れたとしましょう.

すると,すると最初の2部ずつの分,すなわち,80枚は,1枚目10枚,2枚目10枚,3枚目10枚,4枚目10枚,1枚目10枚,2枚目10枚,3枚目10枚,4枚目10枚となって重なっていますね.

で,最初の3,3,3,3だった部分は1,1,1,1となり,1部ずつが例1と同様に1枚目4枚,2枚目4枚,3枚目4枚,4枚目4枚となってでてくるので分けておきましょう.(A)

次に,80枚について考えましょう.

この80枚は40枚ずつに分けて口につっこみましょう.

すると,1枚目20枚,...,4枚目20枚とでてきます.(B)

これもばらして(A),(B)を重ねてあげるとばらけてますね.

これだと人間の手数は3回ですね.

アルゴリズムの一般化

丁合機の口数\displaystyle k,紙の枚数\displaystyle n枚\displaystyle jを1部あたりの枚数として(枚/部),\displaystyle \frac{n}{j}部(\displaystyle =N).ただし,\displaystyle j \leq k

  1. \displaystyle N部を\displaystyle N \div kの商(\displaystyle =Q)の部数ずつ口に入れます.(AA)
  2. 余った分(\displaystyle N \div kの剰余)は1回入れるだけでソート可能ですね.
  3. (AA)を丁合機で実行した場合,1枚目が\displaystyle k枚の,2枚目が\displaystyle k枚,\displaystyle j枚目が\displaystyle k枚と出てきます.これら\displaystyle jk枚を1組と呼ぶことにします.
  4. するといま,\displaystyle Q組みあるという事が分かります.
  5. この1組を1部として考えて,1に戻ります.つまり\displaystyle N=Qですね.

以上を繰り替えすことによってソートされていきます.

オーダーを考える

上記のアルゴリズムで余りが出る場合,すなわり,2が実行されるかどうかであるが,これの回数は高々余りが全てなかった場合に突っ込んだ回数と同じであるから,この余りが出なかった場合の回数を考えて2倍すればよい.

なので,余りが出ない場合を考える.

1回突っ込むと,\displaystyle k枚ずつ\displaystyle i(=1,2,\dots, j)枚目が揃う.

これを1組として,突っむと \displaystyle k^{2} 枚ずつ揃う.\displaystyle N回繰り返すと\displaystyle k^{N}枚揃う.

\displaystyle N \leq k^{m}となるような自然数\displaystyle mをみつけてやればよくて,

\begin{aligned} m &=& \lceil \log_k N \rceil \\ &=& \lfloor \log_k N \rfloor +1 \end{aligned}

となる.

面倒だけど10口288部の図を用意しました.

f:id:OShun:20200218182548p:plain
10口288部の場合
青い矢印が人間が手を動かすところです.この木の最も長いエッジ(ここでは,最も矢印の本数が多いもの)は3ですね. これは\displaystyle \lfloor \log_k N \rfloor +1に等しいです. 最後のノードへ延びる矢印以外は余りが発生する可能性があるので2倍すれば良いから,

\begin{aligned} O(N)=2\lfloor \log_k N \rfloor +1 \end{aligned}

と対数オーダーになりました.

ちなみに,丁合機を動かしているのは根以外のノード数です.つまりは5回.まあ,人間が手で入れてやるのと同じ回数なのは当然ですね.

例3.10口 4枚/部 188部

いま,\displaystyle k=10,n=732ですね.

口に18部(\displaystyle =Q)ずつ入れて8部余る. この18部を実行すると18組できますね. これを10組と8組に分けて,それぞれ実行してソートされました.最初の8部も実行して完全にすべてばらばらになりました. 突っ込んだ回数は4回ですね. \displaystyle 2 \lfloor \log_{10} 188 \rfloor +1 =5

いやいや,手で分けるとかいう面倒なことしてるやん

確かにそうですが,丁合機から出てくるものは部単位になっているので,めんどうなことではないと思います. それでも分けるという時間を考えるとちょっと時間がかかりますね.

いやいや,それでも口に入れるときに同じ部数ずつ分けないといけないんじゃ?

そんなことないです.もしどこかが空になったら止まります. 適当な部数で入れておいて(部数単位で入れることが簡単なのは,部単位で出てくることから分かりますよね),止まったら,多いところから少ないところに移してあげましょう. これぐらいの手間,人間の手で全部ばらすことに比べてら圧倒的に楽ですね.

余談

k=1

\displaystyle O(n)=log_1 n

まあ,底が1なので計算できないのであるが,丁合機で実行しているとすると,いつまで経ってもソートが終わらない.順番が逆になるぐらいだ.

ステープラ

ちなみに,背景で述べたステープラですが,直らなかったので,数百部を手でホッチキスで留めました.

これで全世界の事務員さんとかが救われる?

そんなことないかな......

最後に

最後までよんでくださりありがとうございました.

一見,\displaystyle k=1というのは何も変えていないように見えて,順番を逆にしていたりします.

\displaystyle k=1を2回すると元に戻ります.

数学的に大変面白い構造になっているような気がしていて,それは何だろうかとたまに考えていました.

結局1年ほど経ったのですがよく分かりませんでした.

初めはあみだくじと似ているので巡回群となっているのではないかなと思いました.しかし,いくつかのまとまった塊で操作をしているため,うまい具合にそもそも群の構造に当てはめることができませんでした......

オーダーを対数にしていますが,本当はそれぞれで入れるときに分けるという作業をしているので実際には線形になるんじゃないかなとか思ったりしています.

何か間違っていたり,関連したものがあったりしたら教えていただきたいです.

よろしくお願いいたします.

数独を画像認識で解いてみた

はじめに

これは2020年の春ぐらいに主専攻実験という授業で,授業の内容から発展的なものを作ってプレゼンしろと言われたので,数独を解いたというものです.

しかし,数独MATLABに用意されていた数独ソルバーを用いているので,数独を解くということはしていません.

したことは,数独の問題を読み取るということです.また,数独の問題は紙からではなく,Webページ上からもってきたものを使っています.

f:id:OShun:20200914211333p:plain
問題
f:id:OShun:20200914211348p:plain
解いた結果

概要

以下,

  1. 教師データの作成
  2. 数独の認識
  3. 文字認識
  4. どのようにして文字を切り取ったのか

という流れで進めていきます.

教師データの作成

まず,教師データの作成をしました. といっても,使用したサイトのフォントの数字,1から9までと空白のを用意し,それぞれを左右上下に3pxずつずらしたものです.各49枚,全部で490枚となりますが,実際には442種類しかないです.なぜなら,空白のものはどんなにずらしても空白だからです.

ここで,最初に用いたサイトでは認識精度があまりよくなく,6,8,9がよく間違われました.

当たり前の話ですが,問題が正しくなければ,答えが正しく出力されなかったり,解けなかったりするので,認識率は100%でなければなりません.

そこで,フォントが悪いのだということに気付き,Webページなのでデベロッパーツールからフォントを変えてやろうかと思いました.しかし面倒くさいので,サイトそのものを変えました.

すると認識率100%となったので万々歳のうちに次のステップへと進みます.

f:id:OShun:20200914211426p:plain
教師データの作成(2の場合)

数独の認識

数独を解くためには,数独の問題全体を認識する必要があります.

これは外の枠線を認識すればよいのでハフ変換を用いました. 横の線も見ればよいかなと思いましたが,縦の線だけで十分だったので,見ませんでした.

文字認識

上記に書いた通り,文字認識率が100%とならなかったときに,この授業内では主成分分析による認識を行っていたのですが,別の画像認識工学という講義で習った様々な認識手法を試した結果,最も認識率が高い部分空間法による認識に切り替えました.

部分空間法による認識を行ったのですが,100%とならなかったため,フォントを変えました.

どのようにして文字を切り取ったのか

縁の大きな枠線を切り取るようにしながら,それぞれ81個の小さな枠に分解した.

f:id:OShun:20200914211540p:plain
ハフ変換により切り取られた画像

f:id:OShun:20200914211614p:plain
文字認識の結果

f:id:OShun:20200914211642p:plain
MATLAB数独ソルバーを使った結果

さいごに

もし,数独の問題を画像認識によって解かれたくなければ,数字同士が人間の目からみると明らかに違うが,計算機で画像認識を行うと判別が付きにくいフォントを使用すればよいです.

懸賞問題などを作る機会があればお忘れなきよう.

f:id:OShun:20200914211806p:plain
6,8,9が似てるサイト

numberplace.net

Windows10のwsl上OCamlをコンパイルできるようにする方法とその他色々の忘備録

はじめに

個人的な忘備録です

WSL上でごちゃごちゃ

WSL上でコンパイルするための手段はここに載っています.

「プログラミング言語」で用いる開発環境の整備方法

以下転載.

sudo apt update
sudo apt install -y bubblewrap build-essential curl git m4 unzip
sudo sh -c "$(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)"

opam init -y --disable-sandboxing
opam switch list-available ocaml-base-compiler
opam switch create X.XX.X
eval $(opam env)

X.XX.X には,一つ上のコマンドを入力した際に出力されたバージョンを入力する.

OCaml色々

  • インタプリタの開き方
    OCaml
  • インタプリタの閉じ方
    #quit;;と入力する.つまり,見た目は # #quit;; または,control - D
  • 実行方法
    ocaml .mlファイルへのpath

その他参考になりそうなもの

一応触ったことはあるので,爆速入門とはなりませんでしたが,爆速復習にはなりました. OCaml 爆速入門

酸欠少女さユりの「平行線」について~本当に太陽系を抜け出さないといけないのか~

はじめに

まず初めに,初の弾き語りアルバム「め」発売おめでとうございます.

め

買いました,届きました,聞きました,見ました,良かったと一言では言えないですけど良かったです.

売れたいのでなく売りたいのです」という通り,是非是非ガンガン売っていってほしいです.

さて,今回は酸欠少女さユりの「平行線」の歌詞について,数学的に平行線のお話をするだけです.

とりあえず聞いたことのない人は一回聞いてきてください.

結論を先に書いておくと,平行線って地球上で交わるんだよっていうお話です.

今回の内容は僕の持ちネタの1つで,どこかで何かを話すときによくお話をさせていただいております.

平行線とは何か

皆さん平行線はご存知でしょうか?

まあ,知ってますよね.

一応定義を確認しておきましょう. 以下の画像は以前数つくばでお話したときのスライドから持って来ています.

ユークリッドと原論

定義の前に,ユークリッドと原論について紹介させてください.

平行線の定義を最初に決めたのは皆さん数学IAでおなじみ,ユークリッド互除法のユークリッドさんです.エウクレディスとかも呼ばれますね.

彼が書いた原論(Euclid's Elements)に平行線の定義が書いてあります.

しかし,その後歴史的に見てまあ色々あったんですけど,詳細は昔作ったスライドの抜粋が以下にあるので,そっちを参照してください.

f:id:OShun:20191209164054p:plain
雑な数学史

原論というものは,23個の定義と5つの公準(公理)で始まって,証明が続くスタイルからなっていて,今に続く数学書の原型だとかなんだとか言われているものです.

ユークリッド互除法しかユークリッドのことを知らなかった人は,ユークリッドの偉大さがちょっとわかったかもしれません. で,ちょっと定義を下のスライドで見てみましょう.

f:id:OShun:20191209164548p:plain
原論の中身
結構小学校とかで,見たことあるものばかりですよね?点とは部分を持たないものである.とか,

全ての定義は英語ですがここにのっています.

そして,公準(公理)が要請されているとして,これを認めなさいと言っています.つまり,定義や他の公準から定理として求められないものを公準(公理)としているのですね.

自然数に関する公理だと,ペアノの公理というものがありますよね.

公理に関して有名なものだと,ラッセルのパラドックスとかありますよね.

平行線の定義

じゃあ平行線の定義を見てみると,

平行線の定義 平行線とは,同一平面上にあって,両方向に限りなく延長しても,いずれの方向においても交わらない直線である.

といっている.

そして第5公準をみてみると,

第5公準 1直線が2直線に交わり同じ側の内角の和を2直角より小さい角のある側において交わること.

といっている.

つまり,この直線\displaystyle m,lが平行で,

f:id:OShun:20191209164553p:plain
平行

こっちは平行ではないといっている.

f:id:OShun:20191209164612p:plain
平行でない

平行線は交わる!?

さて,さっきの画像にあげてたようなものを読んで,第5公準長いと思いませんでしたか?

上で説明したように,公準とは,他のものから導き出せないとされていて,認ざるをえないものです.

しかし,この長すぎる第5公準は他の4公準から示せるんじゃないかと2000年ぐらい人類は悩んだそうです.

結果的にどうなったかというと,第5公準を置き換えた人が現れた. ボヤイさんとロバチェフスキーさん.

平行線公理が成り立たないと仮定すると,

“平面”の上にある2本の “直線”は

  • 両方で際限なく離れてしまう.または,
  • 一方で際限なく離れるが,他方では際限なく近づく. という性質を持つことになる.

平行線公理取り除き,別の公理を含んだ5公理からなる体系を作った.

ボヤイとロバチェフスキーが同時期に見つけ出したとか.

それをそれぞれ,球面幾何学と双曲幾何学というそうです.

球面幾何学 直線ℓ外の点Pを通過して、 ℓと交わらない直線は存在しない.
双曲幾何学 直線ℓ外の点Pを通過して、 ℓと交わらない直線は2本存在する.

ついでにユークリッド幾何学

ユークリッド幾何学 直線ℓ外の点Pを通過して、 ℓと交わらない直線は1本存在する.

具体例を見ていきましょう.

ユークリッド幾何学

皆さんご存知ですよね.どこまでいっても交わらないですね.具体例いらないね.分からない人は小学校やりなおして.はい次.

球面幾何学

正味この記事読む中でこれだけが大事なこと.

皆さんはいま,地球を球として,その球上の緯度何度か知らないけど,北緯n度上にいるわけですよね.これに対して垂直に北へ向かって歩きましょう.同じく,北緯n度上にいる別の人(東経は異なる)も垂直に北へ向かって歩きましょう.今,この二人はある直線(北緯n度)に対してそれぞれ垂直です.つまり,永遠に出会わないはずです.しかし,北極点で出会いますよね.

これが今回言いたいことです.

では問題です.

問題1

ある色のクマが南に10km移動した後,東へ何kmか移動しました. その後北に10km移動したら最初いた場所に戻ってきました. この熊の色は何色でしょうか?

どうですか?分かりますか?あくまで練習問題なので,球面幾何学にちなんだ問題です.

この問題は,G. Polya,ポリヤさんの『いかにして問題をとくか(How to solve it.)』に載っていました. この本は名著なのでぜひ読んでみてください.数学ガールの中でも度々登場しますね.

皆大好き大学受験参考書のFocusの数IIBでCoffee Breakにもかなりのページを割いて載っていました. このCoffee Break,いかにして問題をとくかから持って来ていることを書いてなかったけど,絶対に書いた方が良いと思いました. 引用とか参考とかちゃんと書いていこうな!!

さて,答え合わせです.

答えは白色です.スタート地点が北極だからですね.

双曲幾何学

正直今回の話題のおまけです.

が,この双曲幾何学によって,第5公準ユークリッドのものでなければならない,すなわち,他の4公準から導き出せるものではないという事が示されました.

例を出すと,

双曲幾何学の例

平面においては任意の直線にその直線上にない一点を通る平行線は一本しかないが,無限に開き続ける漏斗のようなものにおいては,任意の直線にその直線上にない一点を通る平行線は無限に存在することになる

というものです.

何のこっちゃイメージが沸かない人は,「ベルトラミーの擬球面」で画像を検索!!

それでも分からなければ,このブログを参照!!

tsujimotter.hatenablog.com

酸欠少女さユりの平行線の歌詞

はい,本題です.多分ここまでで既に半分くらいの方がブラウザバックしてそう.

  • 太陽系を抜け出して平行線で交わろう
  • 私と君の影のように伸びている平行線

これ,色んな意味で突っ込みたいですけど,とりあえず,自分たち二人は平行線上にいて影も平行線に伸びている.交われないから太陽系を抜け出したら交われるんじゃね?と解釈できます.

はい,次.

  • 太陽系を抜け出して平行線で交わろう
  • そんな叶わない望みも

はい,どう読んでも交わりたいのに交われないと書いていますね.

このインタビュー記事を見てみましょう.

<太陽系を抜け出して 平行線で交わろう>というのは不可能なんですけど、それを願うくらいの気持ちを表したかった。相手との想いが交錯しない「平行線」や、自分の願いと現実が上手くいかない「平行線」だったり、悲しい意味で使うこともあるのですが、一方で、「平行線」だからこそ続く関係、それでも繋がっていけるんじゃないかということもあるかなと。そういった“希望”を込めて「平行線」を歌ってます。

やっぱり平行線で交わりたいけど,交われないんだわ~って感じが伝わってきます.

でも!でも!!!地球上でも平行線は交わることはもうお分かりですね??

平行線は地球上でも交わる!そう!球面幾何学ならね!

適当なところで,同じ緯度上に立って,北極か南極かに向かって歩けば,平行なのに交わるという事です。

ということで,歌詞にあるように,太陽系を抜け出したり,この世の理をどうこうしなくても交われます.

嬉しいね.

まあ,歌詞で言ってる交わるっていうのは多分物理的に交わるということではないんでしょうけど......

おわりに

おわりです 数学何も分からんので球面幾何とか双曲幾何の説明間違ってるかもしれん...... 間違ってたら教えてください.

「め」滅茶苦茶良かったので,是非!是非!,皆さんも聞いてみて,是非!買ってくださいね.

お疲れ様でした.

城島リーダーの結婚とペル方程式

はじめに

これは筑波大学学園祭 雙峰祭 の実行委員会の情報メディアシステム局のJsys Advent Calendar 2019

adventar.org

の24日目の記事です.

内容としては数学っぽい感じです. 数学の内容としては整数論かなって感じです.参考にした書籍は整数論1(雪江明彦),整数論2(雪江明彦)です.

パソコンからみないと見えるけど綺麗には見えないかと思います.

城島リーダーの結婚

城島茂さんが結婚をするというニュースがあったときに,24歳の方と結婚して歳の差が倍であるという内容が書かれてありました.そこで,ふと一年後にそれぞれ平方数の年齢になるなあと思いました. そのような組み合わせって他にあるんだろうかと思い,ちょっとJavaで書いて動かしてみたところ,結構ありました.

public class Leader {

    public static boolean square(int i) {
        int j = 0;
        while (j * j <= i + 1) {
            if (i + 1 == j * j) {
                if (square2(2 * i) == true) {
                    return true;
                } else {
                    return false;
                }
            } else {
                j++;
            }
        }
        return false;
    }

    public static boolean square2(int i) {
        int j = 0;
        while (j * j <= i + 1) {
            if (i + 1 == j * j) {
                return true;
            } else {
                j++;
            }
        }
        return false;
    }

    public static void main(String[] args) {
        for (int i = 0; i < 100000000; i++) {
            if (square(i) == true) {
                System.out.println(i);
            }
        }
    }
}

ちなみに実行結果は以下のようになった.

0
24
840
28560
970224
32959080

しかし,結局無限に存在するのかということは分からなかったため,以下のようなツイートをしました.

すると,以下のようなリプが付きました.

なるほど.ペル方程式を使えば良いのか.という訳でペル方程式を使って無限に存在することを証明していきたいと思います. と書いておきながら,証明してないです.概要をさらっただけです.

ペル方程式とは

Mathepedia

Mathepediaに書いてあることをざっとまとめてみる.

紀元前800年頃,ヒンズー教徒の学者パウダーヤナは \displaystyle \sqrt{2} \simeq \frac{577}{408} を提示した.これは方程式 \displaystyle x^2-2y^2=1 を調べて得たものであると考えられ,この方程式の解は \displaystyle x=577  ,y=408 である.(\displaystyle x=17,y=12も解) この\displaystyle x^2-2y^2=1がぺル方程式の最初の例だそうだ. 一般には\displaystyle x^2-ny^2=1と書ける.(ここで\displaystyle nは平方数ではない自然数) これらの方程式はジョン・ぺルとはほとんど関係がないのだが,レオンハルト・オイラー(\displaystyle e^{i\pi}=-1の人って言えば分かるかな?)がペルとウィリアム・ブランカーとを混同し,ぺルの名前をつけてしまったとか.迷惑な話だ. ぺル方程式はインドではかなり古くから研究されており,紀元前628年にはブラーマグプタが著しい進展をもたらした.チャクラバー法は12世紀のバースから2世が導き出したもので,連分数によってぺル方程式を解く方法だ. \displaystyle x^2-ny^2=1 (\displaystyle nは任意の非平方数) は無限に多くの整数解があることを初めて厳密に証明した人物こそ,ジョゼフ・ルイ・ラグランジュである.

つまり,昔から知られており,\displaystyle x^2-ny^2=1 (\displaystyle nは任意の非平方数) というのがぺル方程式であるということである.

Let's proof!!

さあ,証明をしよう!!といきたいところですが,多分読んでる人は分からないかもしれないだろうということを書きたいと思います.書くことは,連分数と連分数展開についてです.それ以外とぺル方程式以外の説明ででてきた単語は数学IA程度の範囲なので分かっるでしょ.流石に. すみませ,力尽きました.証明してません.

連分数

連分数は習う人は数学Aの整数の辺りで習うのではないだろうか.

連分数の定義

定義1 \displaystyle [k_0,k_1, \dots ]=k_0+\frac{1}{k_1+\frac{1}{k_2+\frac{1}{k_3+\dots}}}

このような形の分数を連分数という.

ここで,\displaystyle k_0,k_1,\dots は実数で,\displaystyle k_1,k_2,\dots>0 とする. なぜ,\displaystyle k_0>0でないかということは自明ですよね?例えば,負の数を連分数にしようとしたときに,最初の数さえ負になればよいですよね?

\displaystyle k_0,k_1,\dots,k_n が有限個なら[ \displaystyle k_0,k_1,\dots,k_n ]を有限連分数と言い,無限個の場合は[ \displaystyle k_0,k_1,\dots ]を無限連分数という.

これから分かることは単純有限連分数で,\displaystyle k_0,k_1,\dots有理数であるものは明らかに有理数である.整数同士の分数で表すものが有理数であるのだからあたりまえといえば当たり前である.

ためしに何かを連分数にしてみよう.

\displaystyle \frac{514}{114}とかにしてみよう.

{} \begin{eqnarray} \frac{514}{114} &=& 4+\frac{1}{\frac{114}{58}} \\ &=& 4+\frac{1}{1+\frac{1}{\frac{58}{56}}}\\ &=&4+\frac{1}{1+\frac{1}{1+\frac{1}{\frac{56}{2}}}}\\ &=&4+\frac{1}{1+\frac{1}{1+\frac{1}{28}}} \end{eqnarray}

これ,何かに似てませんか???

そう,ユークリッド互除法ですよね!!!

似ているというか,ユークリッド互除法そのものです.

習う人は学校や塾で,この方法で計算した方が早いよみたいなことを言われたかもしれません.

連分数展開

命題2

\displaystyle \alpha \in Rとするとき,次の(1),(2)は同値である.

(1)\displaystyle \alpha \neq 0有理数である.

(2)有限個の整数\displaystyle k_0,\dots ,k_n(k1,\dots,k_n>0があり,\displaystyle \alpha=[k_0,\dots,k_n]となる.

この,\displaystyle \alpha=[k_0,\dots,k_n]という表示を 連分数展開 といいます.

ペル方程式を解こう

Mathepediaの箇所でも書いたように,ペル方程式の定義は以下である.

定義3

\displaystyle x,y \in \mathbb{Z}\displaystyle dは任意の非平方数としたとき,

\displaystyle x^2-dy^2=\pm1

の形のものをペル方程式と言う

さて,これからペル方程式の解き方を解説する が,なぜその解き方で解けるのかという証明は最後に書くことにします. とりあえずいまは,そうすれば解けるんだということだけで良きです.

例題1

方程式\displaystyle x^2 -7y^2\pm1を考えます.

\displaystyle \theta=2+\sqrt{7}とおきます.

\begin{aligned} 2+\sqrt{7}&=4+\sqrt{7}-2 \\ \frac{1}{\sqrt{7}-2}&=\frac{\sqrt{7}+2}{3}=1+ \frac{\sqrt{7}-1}{3}\\ \frac{3}{\sqrt{7}-1}&=\frac{\sqrt{7}+1}{2}=1+\frac{\sqrt{7}-1}{2} \\ \frac{2}{\sqrt{7}-1}&=\frac{\sqrt{7}+1}{3}=1+\frac{\sqrt{7}-2}{3}\\ \frac{3}{\sqrt{7}-2}&=\sqrt{7}+2=4+\sqrt{7}-2\\ \frac{1}{\sqrt{7}-2}&=\frac{\sqrt{7}+2}{3}=1+ \frac{\sqrt{7}-1}{3} \end{aligned} つまり,\displaystyle \theta=[4,1,1,1,4,1,1,1,4,1,1,1,4,\dots] という風に循環することが分かった.

なんで\displaystyle \theta=2+\sqrt{7}と2を足したかというと,この循環を作りたかったんです.こういうときに,なぜか分からないときは,2以外の数にして同じ操作をしてみると分かるでしょう.例示は理解の試金石というやつです.

センター数IAとかで整数部分と小数部分に分ける問題とかがありますよね. ここでは,整数部分と小数部分に分けて,小数部分を再度連分数にすることを繰り返しています.

さて, \displaystyle \theta = [ \overline{4,1,1,1} ]\displaystyle= [ 4,1,1,1, \theta ] と表せることもご理解いただけるかと思います.

\begin{aligned}\theta &=4+\frac{1}{1+\frac{1}{1+\frac{1}{1+\frac{1}{\theta}}}} \\ \theta &=\frac{14\theta+9}{3\theta+2} \end{aligned}

となり,この分母に注目してあげると, \displaystyle \epsilon=3\theta+2 として,

で,\displaystyle \theta=2+\sqrt{7} を代入すると, \begin{aligned} \epsilon=8+3\sqrt{7}$ \\ 8^2-7\times3^2=1 \end{aligned} となって,解が求まりました.

\displaystyle \epsilon=8+3\sqrt{7} として, \displaystyle \epsilon^{\pm2}=127 \pm 48\sqrt{7}となります.

\displaystyle 127^2-7\times48^2=1 ですね.

なんでこんな方法で求まるか知りたい人はお勉強しましょう.

実は僕も読んで写経とかしたけど,人にはちゃんと説明できる自信がないです......

ネットでぺル方程式とか,調べるも良いし,僕が読んでる本でも良いかなと思います.

実際に解いてみる

{}

\begin{array}{} n + 1 &=& m^2 \\ 2n+1 &=& k^2 \end{array}

これから\displaystyle nを削除すると

\begin{aligned}2m^2-k^2&=1 \\ k^2-2m^2&=-1 \end{aligned}

さあ解きましょう. ところで,右辺がマイナスですよね.これ,どういったnのときにマイナスが現れるのかは未解決問題らしいですね.

これは,\displaystyle\sqrt{n}を連分数展開したときの循環節の長さが奇数のとき,かつその場合に限り解を持つことが知られているそうです.(は?) さっきの\displaystyle \sqrt{7}のときは長さが偶数でしたね.だから現れなかったんでしょうか.

\displaystyle \theta=1+\sqrt{2}とおきます.

\begin{aligned} 1+\sqrt{2}&=2+\sqrt{2}-1 \\ \frac{1}{\sqrt{2}-1}&=1+\sqrt{2}=2+ \sqrt{2}-1 \end{aligned} つまり, \begin{aligned} \theta=[2,\dots] \end{aligned}

\begin{aligned} \theta=[\overline{2}]=[2,\theta] \end{aligned}

\begin{aligned}\theta &=2+\frac{1}{\theta} \\ \end{aligned}

となり,この分母に注目してあげると, \begin{aligned}\epsilon&=\theta \\ &=1+\sqrt{2} \end{aligned}

\begin{aligned} 1^2-2\times1^2=-1 \\ \end{aligned} \begin{aligned} \epsilon^{-1}=\sqrt{2}-1,\epsilon^{\pm3}=7\pm5\sqrt{2} \end{aligned}

どれも-1になりますね.なんで奇数乗のときしかないかは下を読んでね.

無限に存在することの証明

このサイトに全て任せた!! www.compassare.org

最後に

ごめん,めっちゃ焦って書いたので,間違ってるところとかあるかもしれないです.

あったら指摘等していただけると幸いです.

あと,証明何もしてないわ......

あっ,Jsys2年間楽しかったです.今後ともなにとぞお付き合いのほどよろしくお願いいたします.

それでは,Merry Xmas!!!!!