ブログ「サイバー少年」

ブログ「サイバー少年」へようこそ!
小学六年生ごろからプログラミングを趣味にしている高校生のブログです。
勉強したことについての記事などを書いています。フリーソフトも制作、公開しています。
(当ブログについて詳しくは「ブログ概要紹介」を参照)

サイバー少年が作ったフリーソフトは「サイバー少年の作品展示場」へ

一次不定方程式について調べた

前々回の記事「[環論] 素元と既約元の違いってなんなのよ」および、前回記事「数学ネタは人気が出ないのか…」で書いたとおり、
群・環・体の本を読んでいたら不定方程式にぶち当たったので、最近は群・環・体をやらずに不定方程式について調べていました。

群・環・体の本にも予備知識として不定方程式について解説があったので、それを読んだのと、あと不定方程式は高校一年生のときにやりましたから、数Aの教科書をひっぱりだしてきて読んでみました。

覚えてないからな!!

そこで思ったのですが、本によって不定方程式の解法にしても全然、やり方が違いますね。
数学って知識を丸コピするよりか、自分で考える学問ですから考える人が違うと内容もだいぶ違ってしまうんでしょうね。

私は丸コピしか出来ないですが…。


さて、今回はレポートを書く気分で、(一次の)不定方程式について調べて学んだことを記していきたいと思います。

続きを読む

tag: 数学 方程式 勉強 素数 証明 数学的帰納法 学校

数学ネタは人気が出ないのか…

先日、記事「PowerShellでジェネリックス!」にて、

ありがとう 参考になりました

というコメントを頂きました。


このブログの方針として、何か疑問に思ったことを検索したらこのブログがヒットして、それを見て疑問が解決する、みたいなブログになりたいと考えているので、
このようなコメントを頂けたのはとても光栄なのですが、

数学ネタをメインにしていくのは閲覧者のニーズに合致しているのか…!!??


なんか数学のネタに全然コメントが来ないし、このまえ記事「数学の勉強について雑記…」に一回だけ来ましたけど情報系の学部の大学生の方でしたし、

当ブログの閲覧者ってやっぱりプログラマとかプログラミング好きとかそういう方々だと思うんですよね。


まあプログラマというと数学好きを兼ねてる割合が高めだと思うんですが、数学好きじゃない人も多いですし、数学好きだとしても数学メインじゃないからコメントできるほど数学の知識もなかったり、数学の長文の記事を読むつもりもない、みたいな感じですか。


数学に傾倒したら駄目なのかチクショーーー!!!!!
どうやったら数学屋の方々にたくさん見てもらえるブログになれるんでしょうか。

ただ、数学好きの方々に見てもらえない理由はいくつか思い当たるんですけどね。


・数学好きの絶対数がプログラミング好きより少ない。

・プログラミング好きの人はブログなどのインターネットの文献を重要視している一方で、数学好きは書籍とか見てて、Webでもブログみたいなのは見ない。

・とくに当ブログのような新規性のないクソブログは見ない。


そもそも当ブログの閲覧者がほぼリピーターで固定であると思われるというのもあるので、既存の閲覧者に数学好きになってもらうしかない!!!

頑張れ閲覧者!!!!!!

続きを読む

tag: 勉強 数学 ブログ 閲覧者 プログラミング コメント 群環体 方程式

[環論] 素元と既約元の違いってなんなのよ

環について知っていないと分からない話を今回はします。

私が群・環・体の勉強に使っている本では、環の章に可換環における素元の定義として

p = abで表せるならaかbのいずれかが単元であるとき、pは素元である
(pは0でも単元でもない)


というふうに書かれていたんですが、インターネットで調べてみたらこれは実は素元の定義ではなく既約元というものの定義だそうです。

まぎらわしいですね。
これは私が読んでいる本が悪いのか。

私が群・環・体の勉強に使っている本は分かりやすい素晴らしい本ですけども、
環の定義として一般的には、乗法について可換であることは公理としませんが、可換環ではなく普通の環が乗法について可換であるとされていたりして、
素元の件も含めてちょっと一般的な定義とズレていますね。


それで、本当の素元の定義とは何かといいますと、

まず可換環においてp | aと書いたときa = xpとなるxが存在するという意味にして、まあ直感的にはpがaを割り切るといえますけども、

p | abであるならp | aまたはp | bであるとき、pは素元である
(pは0でも単元でもない)


ということになります。


しかし、素元と既約元は似ているというか、環よりもう少し条件を強くした代数系においては一致することがあるんですよね。

続きを読む

tag: 数学 群環体 証明 素数 方程式

やはり数学力がない

群・環・体ですが、三月はまったく勉強をせず、四月に入っても前半は勉強をせず数日前になってようやく再開したんですが、しばらく勉強しないと理解力が衰えるもんですね。

久しぶりに本を開いたら意味不明でビビりました。
まあ、2回目以降はそれなりに理解力も復活してきましたけどね。


前回記事「将来の夢について書く」で数学科の大学教授になりたいと書きましたが、このごろ自分の数学力のなさを再認識させられて、やっぱり無理じゃねえかなと思ってしまいますね~。

いや、何度も申しますが理論を読んで理解するのは大丈夫なんです。
しかしその理論に関する証明問題などの問題を出されると、もう出来ないと。

大学で数学科に入ったら、講義で教えている理論をちゃんと理解しているかどうかを確認するために証明問題などを出題するということがよくあると思うんですが、そういうのは多分、私にはなかなか出来ないんじゃないかと思いますね。

問題が解けなければ、「こいつは理論を理解していない」と判断されかねないですが、決して理論を理解していないわけではないんですけどね。
ただ私の脳に入り込んで理論を理解しているかどうかをチェックするなんて無理なんで、問題を出すという方法でチェックするしかない。

なかなか、つらいですね…。


昔も書いたかもしれないですが、理論をどうやって重ねていくかの道筋を立てることが出来ないわけです。
スタートから一気にゴールに行けるような証明を考えるんですが、そんなのあるわけないと。

あと、普通の人って紙などにちょっとずつ思考している内容を記録していくみたいに、紙を使って証明するということも多いと思いますが、それが私には無理なんですよね。

頭の中のイメージをどのように紙に記せばいいのか戸惑いますし、戸惑っている間に考えていたことを忘れてしまうのです。
さらに、もし紙に記せたとしても、そこから元のイメージを復元するのに時間がかかる。

だから、それでスタートからゴールに一気に行かざるをえないというのもありますね。


証明を組み立てる力って身に付くんですかね。

私にとっては論理の世界というのはすごくぼんやりしていて、なんの目印もない広大な砂漠を歩いているようなもので、どこを歩けばいいのやら分からないですが、

数学の教授や数学が得意な人は、正しい歩き方を知っているのでしょうか。

続きを読む

tag: 数学 プログラミング 勉強 能力 幾何学 目標 大学

将来の夢について書く

今年度の普通の記事、一発目は将来の夢について書いていきたいと思います。

しかしさすがに、この年齢になってくると、将来の夢なんていうふうに呑気に構えていられるものでもなくなってきましたね~。

まわりは高校を卒業したら就職する人もいるわけですからね。

ただまあ、最近は終身雇用じゃなくて会社を転々とするスタイルが流行っているように見えますから、あまり最初の就職の重大さがなくなってきていると感じます。

働きながらも将来への夢を持ち続けることは、不可能ではないでしょう。


さて、私が現在やっていることの延長線上でどんな職業につくか考えたら、それはプログラマですね。

ただ、正確には覚えていませんが、私はプログラミングに思いっきりハマっていた時期でさえも、プログラマを将来の夢にしていたことはないと思います。

それは当時はまだ遠い未来のことという感じだったのでちゃんと考えることがなかったというのもあるんですが、
もうひとつの理由として、研究職に就きたいんですよね。

昔、姉妹ブログ「サイバー少年のつまらない事ですが」に、IBMだとかNECだとかの研究者として雇われたいと書いた気がします。

続きを読む

tag: 目標 大学 数学 情報 プログラマ 職業 アメリカ

ブログ5周年記念画像を掲載しました

当ブログは先ほど3月31日になり、5周年を迎えました!
まあ、そのことについて詳しくはこれから寝て、今日中に記事を書きます。

本記事でお知らせしたいのは、今年もやりましたブログアニバーサリー画像!!

今年も4周年のときと同じくブログタイトル画像をベースにした画像なので、ブログタイトル画像を置き換える形でトップに掲載しています。

ですので、すでにご覧になっていると思いますが、撤去したあとに見られるようにここにも貼ります。
クリックしたらオリジナルの画像サイズで見られるリンクに飛びます。


ブログ5周年記念画像
ブログ5周年記念画像


今回もブログタイトル画像のコンセプトに合わせてファミコン風ドット絵画像です。
今回も文字の描画はC#からGDI+を操作しましたが、全体的にMSペイント製です。

今回も4周年のときの画像(記事「ブログ4周年記念画像を掲載!」を参照)と同じく、文字なども少なめのシンプル志向で作ったのですが、

しかしながら背景をギラギラのパンパカパーンな集中線?のようなものにしました。
集中線というか、ドラえもんがひみつ道具を出すときこんな背景だった気がしますけど、違いますかね。
まあパンパカパーン背景とでも呼びますか。


4周年のときの画像は地味すぎましたからね~。

それに一度はこういうLSDやってんじゃねえのかというサイケデリックアートというんですか、そういう系の画像を作ってみたかったんですよね。

まあ、最近になってそういう画像を作ってみたくなっただけですが。

4周年のときの画像は、発案や作業時間が短かったというのもありますが、あまりクオリティの高いものを作れませんでしたね。
今回の画像は、意外と作業時間は短かったのですが、少なくとも4周年のときの画像よりはいいものが作れたと思います。

発案については最初、どういう路線で5周年記念画像を作っていくか悩みましたね。
パンパカパーン背景の路線でいこうと思いついたあとは順調に作業できました。


なお、ブログタイトル画像と同じく、および4周年記念画像のときと同じく、文字のフォントには“Vic Fieger”という方が制作された「Karmatic Arcade」というフォントを使用しています。

今回もフォントを配布しているサイトの制作者様のページをリンクしておきます。

Vic Fieger | dafont.com
http://www.dafont.com/vic-fieger.d852


しかし、たまには数学だのプログラミングだの頭を使うことから離れてフィーリングでデザイン作業をしたり自己表現をするのも楽しいもんですね。

私にはデザインのセンスはあるんでしょうか。
私には評価できませんが、いかがでしょう。

あと頭を使わないといっても、実は数学というか算数ができないと思い通りにデザインできないことがあります。

今回、パンパカパーン背景もドット絵風にするため自分で四角形を並べて線を描いたんですが、どういう配置で四角形を並べたらちょうど目的のポイントで線が終わるように描けるかを考えるのに比の計算を要しました。

まあ途中で数学的に考えることにギブアップして、なんとなくでやった部分もありましたが…。
なんにせよ、一般的に知られているとおり、デザインと数学は密接に関係していますね。


さて、今回も2週間ほどブログタイトル画像をこの画像に置き換えておいて、期間が終われば元に戻します。

その後も本記事で画像を見られますし、「ブログ画像ギャラリー」にも追加しないと駄目ですね。
四月になったら更新しておきます。

それでは、今日中にブログ5周年についての記事でお目にかかりましょう。

tag: ブログ「サイバー少年」 周年 画像 季節画像 フォント デザイン ファミコン タイトル 数学 ペイント

近況報告というか話題のちゃんぽん

ただいま、記事「F#の基礎勉強まとめ (前編)」の後編を執筆中であります。
途中つなぎの記事を書くほど大規模なブログ記事を書くのは久しぶりですね。

現在、リスト、配列、タプル、レコードまで書き終わったのですが、判別共用体、パターンマッチ、例外を書いて手短に終わろうと思います。

ただし、パターンマッチが本当に内容的に濃い!
大変ですね。

さて、上記リンクの記事でも書いてあるように、F#の文法は解説しても、実際にプログラム書いたことがほぼ無いんですよね~。

というわけで、ちょっと前ですが、なにかプログラムを書こうということで、なんともベタなじゃんけんのプログラムを書きました。

せっかくなのでYahoo!ボックスに上げておきましたから、ご覧ください。
なにせF#の経験が浅いので、変な箇所があるかもしれませんが、ぷぷぷ~と笑ってないでコメントにてご指摘下さいませ。

Janken.txt (Yahoo!ボックス)
http://yahoo.jp/box/_9_RYk


このプログラムを書きながら思ったのですが、関数に引数として別の関数の戻り値を渡してもいいし、
関数に直接、別の関数を渡しちゃって、むこうの関数で引数を与えて戻り値を作ってもいい、というこの関数と値の区別のルーズさは特徴的ですね。

今回の場合は逆にそれがややこしくなって、変なプログラムになってしまったかもしれませんが…。

続きを読む

tag: プログラミング F# 数学 証明 論理学 勉強 群環体 結合法則 Nexus iPad

コンピュータは数学をできるか

あのアインシュタインは「本で調べればわかるものを暗記する必要はない」と言っていたそうです。

たしかに暗記というのは、まあ人間のすごいところで現在置かれている状況と記憶を照らし合わせて最適な知識を引き出す、みたいな人間の検索能力も合わせて考えれば価値のある行為だと思うんですが、

ただ覚えるだけという暗記自体の価値はあんまり…ないかなという印象を持ちますね。
それは、メモ帳などのツールを使えばいいじゃん、という話で済むからです。


一方で、物事を考えるという行為はなかなかツールで代替するということができませんでした。

たとえば私の好きな数学も論理的思考をするというのが基本ですので、これは機械にはこなせない仕事だということで数学者たちは誇りをもって数学をやっていたと思います。

まあ時にそれは、以前もブログに書いたかもしれませんが、記憶力、知識力メインでやってる学問に従事する人を見下すというか、
「覚えてないことは本とかネットで調べればいいじゃん。まあ数学は俺らにしかできないけどねー君たちは本やネットで代用できる能力身に付けて嬉しいの?」(私の若干の悪意によって誇張されてしまったセリフですが…)
と思ってる側面があるんですけどね。まあそれはいいとして。


しかしながら、この頃はコンピュータを使用してAI(人工知能)のプログラムを走らせることによって、コンピュータに物事を考えさせるということが可能になってきました。

たとえば将棋なんかもコンピュータがだいぶ強くなってきましたよね。

そして機械にはできない学問の代表格であった数学でさえも、まだ遠い未来の話ではあると思うんですが、思うにオワコン化が始まっているというか、コンピュータにその仕事を奪われる時代が到来するのではないかと感じました。

私はAIに詳しくないので、細かいことはよくわからないのですが、コンピュータに定理を証明させることが可能です。

たとえばCoqとかいうやつを使えば証明させられるんじゃないですかねぇ。
(意識低い系発言。Coqもやってみるべきだろうか…)

実は数理論理学によって論理の仕組みをかなり機械的に考察できるようになったことで、数学みたいな論理を軸にした学問はコンピュータによる代替の恰好の餌食になっている、と思います。


ただ、コンピュータに難しそうなのは数学の中で得られた知見を現実世界の何に応用できるか考えることや、逆にそもそも現実世界に応用することを目的にして数学の研究をすることですね。

現実世界も論理で割り切れないということは決して無いと思うんですが、なんにせよ複雑ですから、数学の中だけでゲームみたいにやるほうがよほど簡単だと思いますね。

あとプログラミングも、計算機科学の枠組みだけでやるならコンピュータにも簡単になる時代が来ると思うんですが、人間にわかりやすいシステムを作るとなると機械には理解できないことが多くて難しいのではないでしょうか。


やはり人間の気持ちを理解するというのはコンピュータには難しいでしょうね。
ですから、数学がコンピュータに仕事を奪われてもなお、カウンセラーみたいな職業は人間が担当することになると思います。

心理学も統計ゲーみたいなところがあるようですので、一部をコンピュータで代替するというのも不可能ではないと思いますけどね。

というわけで、まともな記事を書くにはあまりにも知識がなさすぎる状態でこんな記事を書いて、やっぱりまともな記事を書くことはできませんでした。


しかし、私のようにプログラミングだとか数学をやってる人も機械に仕事を奪われると思うと、安心できませんよね~。

まあ遠い未来だとは思うので、少なくとも我々が死ぬまでこういう職業が人間にしかこなせない高貴な職業であれば嬉しいんですけどね。

tag: コンピュータ 人工知能 論理学 プログラミング 数学 証明 暗記 クソ記事

数理論理学の些細な気づきごと

数理論理学の勉強はもう終わらせてやめましたが、最近ふと気づいてしまったメチャメチャどうでもいい発見があったので、たいしたことではないですから短くまとめます。

すごく小さな発見を、今回は2点ほど用意しております。

(追記ですが、ちっとも短く書けませんでした…)


まず1つ目ですが、xor演算についてです。
数学というより、プログラミングで論理演算をするときに知っとくとためになるかもしれませんね。

xorは、a xor bだったら、どういう意味かといえば、

aとbが両方ともfalseなら結果もfalse、aかbのどちらかだけがtrueなら結果はtrue、aとbが両方ともtrueなら結果はfalse、ですよね。


じゃあ、これがa xor b xor cと3つになったらどうなるでしょうか。
ちなみに左結合、つまり(a xor b) xor cです。

これは、感覚的には2項バージョンの拡張として、a,b,c全てがfalseなら結果はfalse、a,b,cのどれか1つだけがtrueなら結果はtrue、a,b,cのうち2つ以上がtrueなら結果はfalseになる演算だとみなしたいわけですが、そうはならないようなんですね。

反例としては、a,b,cが全てtrueだとしたら結果はfalseになってもらいたいわけですが、a xor bの時点で一回falseになってしまうので、そのfalseとcつまりtrueをxorして、結果はtrueになってしまうと。

ちなみに情報工学ではメジャーな話ですが、x xor trueをかけるとxの反転が得られますから、a xor b xor c xor dのa,b,c,dが全てtrueならa xor b xor c = trueの反転でfalseですね。

偶数個の項なら反例になりませんが奇数個のとき反例になることになります。


また、補足しておくと、ブール代数での話ですが、2項バージョンのときa,bの片方がtrueならtrueというのは、この“片方がtrue”というのが、
「1つだけtrueで残りはfalse」ということなのか、「1つ以上trueがあるが1つ以上falseがある(確実にすべてfalseではないが確実に1つはfalseがある)」ということなのか、という二つの捉え方があって、

これらは2項バージョンにおいては同値ですから違いが曖昧なのですが、3項以上になると違う命題になるので、後者のほうの捉え方も3項以上バージョンでは、また別個に考えられます。

つまり後者の捉え方で、a xor b xor cを、
a,b,c全てがfalseなら結果はfalse、a,b,cのうち1つ以上trueがあって1つ以上falseがあれば結果はtrue、a,b,c全てがtrueなら結果はfalseになる演算だとみなすこともできるわけですね。


さらに、trueでなくfalseの個数に着目した場合、つまりtrueとfalseが出てくる箇所をひっくり返した場合に後者では同値となりますが、前者では違う命題になるので、前者の捉え方のtrueとfalseをひっくり返した捉え方も論理的にはありますが、
まあa xor b xor cを感覚的に捉えるならばfalseの個数で考えるという発想はないと思いますので、この場合は無視しましょう。

だとすれば、上の話での後者の捉え方はどうなのかというのは考えなければなりませんが、このときも前者のときと同様にa,b,cが全てtrueという反例があって、感覚的なものとは違う真理値になります。


感覚的に捉えたものと同じ真理値にしたい場合はどういう論理式を書けばいいのかというと、後者の捉え方の場合は単純に、
(a or b or c) and not (a and b and c)みたいに全ての項をorでつなげたものと、andでつなげたものの否定の論理積をとるだけです。

むしろ、2項の場合はa xor bは(a or b) and not (a and b)と同値なのに、3項以上の場合は同値でなかったことに驚きますね。


前者の捉え方では、2つ以上の項がtrueにならないことを表現するために、あらゆる2つの項の組み合わせについて論理積がtrueにならないことを言わなければならないわけで、

a,b,cなら(a or b or c) and not (a and b) and not (a and c) and not (b and c)みたいに、長いですね。

全ての項をorでつなげたもののあとに、n項ならばnC2個の2つの項の組み合わせの論理積の否定を付けて、論理積でつなげなければなりません。
nandを使えば(a or b or c) and (a nand b) and (a nand c) and (b nand c)みたいに若干、短くなるか…。


というわけで、イメージ通りにやりたい場合はxorでつなげるのでは駄目で、地味に大変な論理式を書かなければならない、という話でした。

そうそう、上記の論理式を書く以外にも、真理値表をもとに論理式の標準形を書くという手段も、一応ありますね。

続きを読む

tag: 数学 論理学 論理式 論理演算 写像 集合 同値 組み合わせ 考察 クソ記事

2017年 新年のご感想

あけましておめでとうございます!!!!!!


新年のご感想を記事にします!!
天皇陛下かよ!!

昨年末の記事でも同じネタを書いて使いまわしですが、時事ネタを今年は記事タイトルに使ってみました。

新年の記事は1月3日までに書きたいと姉妹ブログ「サイバー少年のつまらない事ですが」に書きましたが、ほんのちょっと遅れてしまいましたね。

まあこの記事を書き始めた時刻はギリギリ3日なので、セーフでしょう。


新年、2017年が始まりましたね~。
あらためまして、あけましておめでとうございます。

去年を振り返るというのは昨年末の記事でやりましたし、近況報告というか最近に興味のある物事を書くというのも、昨年12月の記事「何番煎じだ!?近況報告」でやってしまったので、今回書くことがないんですよね。

記事にするネタのなさから近況報告を記事にしてしまいましたが、頑張って他のネタでつなぐべきだったな~。


こうなってしまうと新年の抱負を書いてネタにするかとも思うのですが、去年と同じように特に抱負を設定しないというスタンスを踏襲したいんですけどね。
(記事「2016年 新年のご挨拶&去年の抱負大懺悔式典」を参照)

まあ、軽い目標程度は書きますか。

続きを読む

tag: 新年 目標 数学 F# 論理学 自然演繹 プログラミング コンピュータ 勉強 モチベーション

次のページ

当ブログをご利用(閲覧等)になる場合は必ず「当ブログの利用規定」をお守りください。