ブログ「サイバー少年」

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

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

イロイロ快挙!&注目を浴びることの難しさ(Tehuに捧ぐ)

それはそれは昔、5年以上前、中1の頃に私が作ったソフト「混色シュミレータ&三原色解析ソフト「イロイロ」」ですが、先日、メールフォームの

ソフトウェアのバグ報告、意見、要望、質問 - サイバー少年
http://form1.fc2.com/form/?id=930235

宛に質問がありました。
このメールフォームに質問が来たのも、今頃かよ!って感じですが初めてだったので驚きましたが、

なんと質問者は美容師をやっている方で、ヘアカラーの染料(?)を作るのに使っているとのこと!

マジか!!!!!
真面目に使ってる人いたのかよ!!
(制作者としての自覚を欠いた発言)

遊びで使う人しかいないだろうというノリでした。


で、質問内容が外部の挙動だけでなくソースコード見ないと判別つかないような質問もあったので、5年前に作ったもの覚えてるわけがありませんが、
そこはバッチリ、ソースコードを保存してあったので、ソース読み直してご回答いたしました。


そしたらご返信がありまして、なんで美容師の方なのに、こっち業界の事情を知ってるのか分かりませんが、「プログラムの方向性とかから察するに基礎を持った方が作られているのですね」とお褒めの言葉を頂きました。

キャーーーやめて照れちゃう(*ノωノ)
(女子高生)


ただ正直、あの頃は、まあよく覚えていませんが、基礎とかありましたかねぇ。
過去に当ブログに綴った記録を見るに、VB.NET始めてから1年ちょいですよ。

まあ、あのときは習得ペースが半端じゃなかったので、すでにほとんどの言語機能を学んで、オブジェクト指向の概要とかもわりと理解してたはずですが…。

しかし正直、実務で使っていただけるようなレベルのものを作れているか自信がないですね~。
その直後に制作した「何進数でもオッケー」も致命的なバグが発覚してVectorでの公開は取りやめていますし…。

なんか、当時は「よっしゃプログラミング覚えたけん、なんでもいいから作ったっちゃるわ(??)」みたいな若気の至りで、適当にパパパッと作ってたんですよね。
中2あたりから慎重に時間をかけて作るようになって、その集大成が「サルでもわかる小遣い帳」ですけども。

続きを読む

tag: プログラミング イロイロ サルでもわかる小遣い帳 自作ソフト Vector 世間 Twitter Tehu

タッチパネル時代のプログラミング

この前、Scratchっていう、ビジュアルプログラミングの開発環境のひとつで流行しているものがあるようなので、ちょっと遊んでみたのですが、
正直プログラミングに飽きていた私にも、久しぶりにワクワク感を味わえてなかなか楽しかったです。

主に子供向けのプログラミング学習用の開発環境なんですよね。
同じ類としては日本の文部科学省が提供している「プログラミン」っていうのも遊んでみたことありましたが、こちらも面白いですが、

Scratchのほうが断然自由度があって、そのうえフレームワークが優れていて思ったことを直感的にプログラムにしやすいです。


Scratchを遊びながら、ちょっと考えたのですが、まず前提として現在のプログラマはテキストでコードを書くほうが圧倒的に快適にプログラミングできるので、
ターゲットのデバイスがタッチパネルであろうと、開発はパソコンでコードを書いて行うというのは流儀のひとつとして長く存在しつづけると思います。

しかしながら、タッチパネルでプログラムの要素を組み立てられるビジュアルプログラミングが、遊びや教育用の範疇を超えた新たな開発の流儀として、キテいるのではないでしょうか。


ましてや、今後の子供たちはScratchなどのビジュアルプログラミングで教育を受けてくるわけですから、プロになってもビジュアルプログラミングのほうが馴染みがある状態になるのは容易に想像できます。

そうなると、なおさらビジュアルプログラミングの市民権は大きくなります。

強めの表現を使うと、今後は少なくともアマチュアのプログラマの間ではコードを書くよりビジュアルプログラミングが覇権を握ると思います。


また、言語機能の面でも今まではコードを書くことを想定して作られていたので、多少なりともビジュアルプログラミングには向かない仕様があるはずです。
ビジュアルプログラミングは文字列ではないので、言語と称していいのかは微妙ですが…。

例えばScratchは変数の管理が面倒だなと思いました。
変数はビジュアルプログラミングには向いていないので、どのようなアイデアかは分かりませんが、新たなアイデアで解決に向かうと思います。

あと、関数とかも色々な画面を行ったり来たりして読むなんてやってられないので、廃れるんじゃないですかね。

さらに、Scratchはこの点では優れてるなと思ったのですが、一箇所に多くのオブジェクトを管理する処理を書くのは向いていないので、オブジェクトごとに自分自身を管理する処理を書くことになると思います。

まあ、それはオブジェクト指向設計の理想形なので、コードを書く場合と同じことなんですけどね。
さらにその必要が迫られるという。


最初は今までのプログラミング言語を視覚化するだけだと思いますが、徐々にビジュアルプログラミングが流行るにつれて、少しずつ、結果的には大規模にパラダイムシフトが行われる気がしますね~。

そして、その成果はプロの世界にも入り込んでくると思います。
ビジュアルプログラミングがプロにも流行るということです。

ただ、コードを書くことの利点もありますから、そこらへんでビジュアルプログラミングと競合しちゃって人材が二分化してしまうのは問題ですけどね。


久しぶりにコンピュータについて考えてみて、未来に思いを馳せた瞬間でした。

tag: プログラミング ビジュアルプログラミング Scratch 言語 タッチパネル 教育

中学生レベルの文字式に疑心暗鬼になる

インパクトのある記事タイトルを考えたら私は中学生未満と言っているような自虐的なものになってしまいましたが、
基本的なところから、あたりまえとされていることを疑ってみるのは重要で、数学徒として誇らしく思います。

さて、群・環・体の本で体に絡めた話として有理式の話が出てきました。
最初は多項式の分数バージョンで、とくに違いはないだろうと思っていたのですが、だんだんと奇妙な事実が発覚して疑心暗鬼になってしまったわけです。

まず、有理式ではなく普通の多項式における事実をおさらいしてみます。

1. あらゆる係数環の要素aについてf(a) = g(a)ならf(x) = g(x)
2. f(x) = g(x)ならf(a) = g(a)
3. (f(x)×g(x))(a) = f(a)×g(a)
4. (f(x)+g(x))(a) = f(a)+g(a)

すべて、証明したわけではないですが、公理なのかよくわかりませんが、直感的な事実として書きました。

ちなみに関係ないけど今、気づいたのですが、2.は多項式環から係数環への写像を導入できることを示していて、3.と4.と自明な(1)(a) = 1はそれが準同型写像であることを示していますね。

および、1.と2.から、多項式が等しいとは、変数になにを代入しても同じ値を得られるということである、ということなのだと読み解けます。

それでは同じことが有理式に適用できるかを確認してみましょう。

1/2という有理式に(x-1)/(x-1) = 1という有理式を乗算してみます。
1/2 × (x-1)/(x-1) = 1/2 × 1 = 1/2で、結局同じ有理式であるはずです。

つまり1(x-1)/2(x-1) = 1/2です。
約分したら同じですね。

これらが等しいということから、もし多項式と同じことが言えるのだとしたらxになにを代入しても等しい値になるはずです。

x = 0の場合、1(0-1)/2(0-1) = -1/-2 = 1/2、これはOKです。
x = 1の場合、1(1-1)/2(1-1) = 0/0、この時点でアウトです。
0/0は1/2と等しいどころか、分母が0なのでもはや数ではありません。

ここで有理式は変数に値を代入しても必ず結果の値を得られるわけではないことに気づいてしまいました。

しかも、等しい有理式に同じ値を代入したにも関わらず値を得られたり得られなかったりするときたもんですから、有理式が等しいという状態は多項式の場合と同じものだとはいえないようです。

一体、有理式が等しいとはどういうことを言っているのでしょうか。

続きを読む

tag: 数学 群環体 分数 証明 多項式 同型 有理数 同値 順序組

体の準同型写像に必要な定義

群・環・体の本を読んでおりましたら、体の準同型写像の定義として、
体L,Kについて、φ:L→Kは

1. φ(x+y) = φ(x) + φ(y)
2. φ(x*y) = φ(x) * φ(y)

を満たすことはもちろんのこと、L,Kの乗法に関する単位元1_L,1_Kについて

3. φ(1_L)  = 1_K

が成り立つならば、L,Kの加法に関する単位元0_L,0_Kと、xの乗法に関する逆元x'について

4. x != 0_Lならばφ(x) != 0_Kおよびφ(x') = φ(x)'

が成り立って、この4つを満たすφが体の準同型写像であるとされていました。


ただ、群の準同型写像が単位元を単位元に写すので、それと同じように簡約法則を使って、3.も1.と2.から導けるんじゃないのと、思っていました。

ただ、環の準同型写像の定義を引き継いでいるような文脈だったので、あえて3.を要請している程度なのだろうかというわけです。


こないだ記事「群・環の同型は同値関係」を書いたときも、完全にそう思っていて、
環の準同型写像の定義が3.を要請することについて、

+に関する単位元が一致することは簡約法則から導けるのですが、*については簡約法則が使えないので環の場合は*に関する単位元1が一致することも条件となります。

と書きました。

しかし、色々と考えたり調べたりしてみたら、どうやら、そんなに簡単な話ではないっぽいです。
結論から言いますと、私が読んでいる本の文脈では3.を要請するっぽいですね。

続きを読む

tag: 数学 証明 群環体 勉強 命題 写像 公理 論理 同型 ゼロ

群の準同型定理のイメージをやっと掴めた

群の準同型定理ですが、今まで本を読んで論理的に定理として成り立つことは分かっていたのですが、正直なところ言っている意味、イメージが分かりませんでした。

命題のイメージを掴むということは、わりと大事であると思います。

命題が、証明を読んで論理的に推論可能であることだけを知っていても、
結局なにを言ってるんだ??という状態では、どのように命題を利用していけばいいのか見当もつかないですからね。


イメージを掴むことを心がけてはいるのですが、今まで準同型定理はイメージできなかったんですよね。
体論に入っているというのに、最近ようやく理解できました。


準同型写像φ:G→G'について、φによるGの核(これはGの正規部分群)でGを類別した商群と、φによるGの像は同型であるという定理ですが、

残念ながら有限集合でしか通用しないイメージですが、ようするにGの像⊆G'はφが単射でない限りGより小さいので、まずGの核でGを類別してGより小さい商群を作ります。

このとき商群の中身がどうなってるかが肝心です。
これはφでG'に写したときに同じ元になるGの元をまとめた同値類系となっています。
(これを示すために証明が必要ですが、証明は本で読んでそこからイメージしました。)

ですからφが単射なら同値類は、それぞれひとつしか元を持ちません。
そうでなければどこかに2つ以上の元を持つ同値類があります。


そして、この商群とGの像が一対一に対応しているという話ですが、当たり前といえば当たり前であります。

Gの像と対応している商群の同値類は、Gの像と対応していることを考えれば必ず存在しますし、Gの像の中の同じ元へと写されるGの元は同じ同値類に属するはずですから、これは一対一となります。

この一対一の対応に則した写像を定めれば、その写像は全単射となりますね。
あとは、その写像が準同型写像の定義を満たすことが必要ですが、実はこのメカニズムはイメージできていません。

ただ要点は一対一対応があるということだと思うので、まあ大丈夫じゃないかなと思いますね。


ちなみにGの核は商群の元、同値類のひとつですが、φ(e)=e'より、Gの核には必ずGの単位元eが入っているので、
Gの核の元はすべてφ(e)と同じ値になるということでしたので、つまりすべてe'に写しますし、Gの核に入っていないようなφ(a)=e'となるaは存在しません。


以上です。
まだイメージを掴めていない人が、これを読んでも説明がヘタクソすぎてよく分からないと思いますが、私自身はだいぶイメージを掴めて満足しています。

自己満足の記事です。

わりと当たり前のことを言っているだけの定理だったのですが、イメージできたときは少し面白かったですね。

ただ、すごく大事な定理らしいのですが、どのように活用するのかよく分かりません。
どうなんでしょうか。

tag: 数学 証明 群環体 勉強 命題 同値 写像 同型 集合

ブログ最後の一年も後半戦突入!

当ブログは現在、ラストの一年で、来たる四月に更新を終了してしまうわけですが、そのラストの一年も今日から十月、後半戦ですね。

まあ更新終了に向けて色々と身辺整理をするのは、一月になったあたりに本格的に考えようと思うのですが、
一月になっちゃうともう身辺整理のことで忙しくなってしまうと思うので、今やるべきことは、普通のブログ記事は今しか更新できないわけですから、普通の記事の拡充ですね。

これから3ヶ月、魅力的な記事を書いていければと思っております。
ただの理想にすぎないものではありますが…。


まあ案外、肩の力を抜いたほうがいいのかもしれないですよね。

所感としては、なんか大きい成果を、残り半年で出せればなあと思っていたのですが、たとえば、それなりのソフトウェアを作って公開とかですか、そういうのは残念ながら出来そうにないですね。


記事は書くわけですけれども、しばらく数学の勉強を中心にして続けていくのですから、記事のネタも数学中心で、プログラミングの話題はあんまりないかと…。


しかし、まあ、もうすぐ終わるんだなと、こういう区切りがあると改めて実感させられますね。
今日は多少の意識変革があった一日であります。

終活なんていう言葉がありますが、中の人つまり私はまだまだ生きていく予定ですけれども、“サイバー少年”というひとりの存在は余命半年で死んでしまうんだなと、そういったわりと大きな出来事が迫っているんだと考えています。

サイバー少年の終活ですね。
最後に発信できるだけ色々なものを発信して、記録に、そして皆様の記憶に残ることができれば悔いはありません。

問題は、果たしてどれだけ理想どおりに実行できるかということですが…。


ただせっかく、5年半も走り抜けてきて、あと半年なわけです。
ラストスパート頑張ります。


そもそも、更新を続ければいいものを、なぜ期限を設けたのかといいますと、だらだらと自然消滅的にブログが終わってしまうのが嫌だったのです。

もちろん、そういうブログが駄目だと言っているわけではありません。
私も、もう一度ブログを開設する機会があればそういうノリでやっていきたいと思っています。

ただ、このブログ「サイバー少年」は、そういうブログになってほしくなかったのです。

“勉強したこと”まとめ記事も毎月欠かさず更新してきました。
このブログは、キッチリ更新して、キッパリ終わる、厳格なブログにしたかったわけです。


少しオーバーな表現を使うとするなら、このブログには人生を捧げております。
そういった意味で、最後の半年であると思うと、やはり特別な意味を感じます。


ただ先ほども言ったように、少なくとも今後3ヶ月は、肩の力は抜こうと思いますね。
頑張ることと矛盾しているでしょうか。そうでもないかな。

今後ブログ更新をしていくうえで、感じるものは大きいです。
閲覧者の方々も賛同くださり、応援いただければ、これほどまでに嬉しいものはありません。

どうか、あと半年よろしくお願い申し上げます!!!!

tag: ブログ「サイバー少年」 周年 目標 終了 記事

群・環の同型は同値関係

今日は読み続けている群・環・体の本の、環の章を読み切りました!
最後は、環A,Bが同型なら、環Aが整域なら環Bも整域であるし、環Aが体なら環Bも体であるという定理の証明でした。

同型ならばイメージとしては、同じ構造をしているので当然、整域だとか体だとかの構造は受け継ぐだろうと思いますが、証明しろって言われると、なかなか難しいですね。


証明を本で読みまして、よくよく考えたら確かに、本質的には同じ構造をしていることを使っているんだろうなぁと思わされるのですが、一見した程度ではどういう発想でこうなったのか理解できません。

数学できる人は的確に何を言えば証明できるのか考えられるんですかね。
私もそんな人間に憧れます。


さて、その整域や体などの構造がAからBへ受け継がれることの証明は、ここでは語りませんが、本では、AとBが同型なら、逆にBからAへと構造を受け継ぐことも真であると主張しており、
なぜならばAとBが同型なら明らかにBとAが同型であるので、AからBへ構造が受け継ぐのと同様の証明で示されるとしています。

ようは同型というのは、それを表す記号から推測したって、どう考えても同値関係であり、ここでは対称律を用いた、と私は読み解きます。


しかしながら、本の中では明確にふたつの環が同型であることが同値関係であることの証明がなされていません。
そこで考えてみて、証明できたのですが、反射律と推移律を示すことは比較的簡単だったものの対称律だけは難しかった!

対称律を主に書いていきたいと思います。

続きを読む

tag: 数学 勉強 群環体 写像 同値 演算 証明 ブログ「サイバー少年」

商群と演算の両立性と、ときどき正規部分群

私が読んでいる群・環・体の本では、環の章を読んでいるのですが「環RをイデアルIで類別する同値関係は加法、減法、乗法に関してRの元と両立する」と書いていて、ここの減法に関しても両立するというところに注目していただきたいのですが、

加法、減法に関して両立するのはRを群と見なすと、この同値関係はRを正規部分群Iで類別する同値関係になるから、これが加法、減法に関して両立するのは群の章で証明したよね、という説明になっていました。


(なお念のため説明しておくと、同値関係が演算△に関して両立しているとは、aとbが同値、cとdが同値ならa△cとb△dが同値であることを表します。)


しかし、群の章を読み返してみると、加法に関して両立することしか書いておらず、「あれれ?減法はなんで両立してるんだ?」と思ったわけです。

そんでもって少し考えたのですが、「あ、環Rは群と違って加法に関して必ず可換だ」と、思いつきました。

a,b∈Rについてaとbが同値、記号で書けばa~bとはa + (-b) ∈ Iだったのですが、可換律よりa + (-b) = -b + a = -b + (-(-a) ∈ Iなので、-b~-a、対称律より-a~-b、つまりa~bならば-a~-bとなります。

ここで、x,y,a,b∈Rについてx~y,a~bだった場合、x~y,-a~-bとなりますので、加法に関しては両立していたのでx+(-a) ~ y+(-b)、ということで減法に関しても両立していることがわかりました。

要するに、これを環の話だけでなく群の話に還元すると、その群が可換群であれば部分群で類別する同値関係は減法に関しても両立する、ということになります。


しかし、実は可換群でなくても、加法に関して両立しているなら必然的に減法に関しても両立しているということが後の考察により判明しましたので、それに気づくまでの過程を記していきたいと思います。

続きを読む

tag: 数学 群環体 勉強 写像 演算 同値 可換律 証明 イデアル

サイバー少年、18歳になる

HAPPY BIRTHDAY TO ME...!!!!!!

ひとりで言うのも虚しいですが、今日は私の誕生日です!!!
18歳になりました。

“サイバー少年”なんて名乗っていますが、もう少年と呼ぶのはアウトになってきましたね~大嘘つきですね。

“サイバー青年”に改名するのかというと、そんなことはなく、普通にブログ終わりますし、復活したとしても全然違う名前を付けることになると思います。


思えばこのブログを開設したのは12歳でした。
たったの6年ですが、されど6年でありまして、あっという間でしたが6年間相応に色々なことを経験できました。

しかし、1日だけですが小学生のころからやってるんですね。
今は小学生なんて言ったらものすごく幼いイメージなので、あの時から現在までブログが続いているというのは自分でも驚きます。


それにしても18歳ですよ。
いつもの誕生日は単純に「また歳をとったんだなぁ」としか思っていませんでしたが、18歳になるということは法律上も大きな意味を持ちますので、感じるものが違ってきますね。

18歳になって変わることといえば、選挙権も最近は持つようになりましたし、他にも色々と賢明な閲覧者の皆様には心当たりがおありかと思いますが、ようは大人扱いを受けるということですね。

出来ることは大きく増えますが、責任が伴ってきますし、保護の対象にもなりません。

出来ることが増えるというのは、まだ今日なったばかりなので実感が湧きませんが、唯一、実感が湧くのは、18禁のエアーガンが買えるようになったということです。

実は昔から空気を圧縮してBB弾を飛ばすエアーガンが好きで、購入して的当て(サバゲとか面白そうなんですが面倒なので未経験です)をよくやっていのですが、エアーガンって都道府県の条例で10歳以上なら使っていいやつと18歳以上なら使っていいやつがあるんですよね。

威力が段違いなので、はやく18歳以上のエアーガン使ってみたいな~、18歳になったら絶対に買おうと思っていたのですが、とうとう18歳になったのでエアコキのハンドガン程度を誕生日プレゼントに買ってもらおうと思っています。

歳をとって18禁エアガン使えるようになったのは嬉しいのですが、基本的に歳をとるというのは死期が迫るわけなので嬉しくないですね…。


まだ早いかもしれませんが、まだまだ死なない保証があるわけではないので冗談ではなく、今のうちから「いつでも死ぬ覚悟」を持っておくべきだなと感じます。

そして死ぬのが怖くなくなれば、日々、安心してというか、堂々と生きていくことができるようになりますね。
中3くらいのころから、そう思い始めて、ずっとそれを目指しています。

ただ、やっぱり死ぬの怖いなと思ってしまう瞬間はありますよね。
やっぱり人間として存在している以上、超えられない壁なのでしょうか…。

って、せっかくのハッピーバースデーになんて陰気な話をしてるんだ。


とにかく、20歳を超えないと法律上の完全な大人にはなりませんが、おおむね大人になってしまったので、自覚を今後は持っていくように心がけようと思っています。

そしてサバゲとかもそうですが、出来ることが増えたということをチャンスとして捉えたいと思います。


あと、昔は当ブログも子供が書いていることを売りにしていましたが、今ではしがない大人なので、慢心しないようにします。
まあ、ちょうど大人になるころにブログを終わるというのは、なかなか都合が良かったなと思いますね。

当ブログを更新終了してから、新しいブログを作ったとして、アピールポイントがないのがつらいですね…。
年齢にあぐらをかくことはもう出来ません。

ひとりの普通の男として、ブログをやっていくしかないですかね~。


というわけで、今日は嬉しいのか嬉しくないのか、よく分からないけど、重要な一日でありました。
あとちょっとだけ、このブログは続くので皆さんのお世話になります。

当ブログが続いてる間くらいは子供扱いして大目に見て頂戴!

tag: 誕生日 周年 ブログ「サイバー少年」 年齢 ブログ エアガン

情報処理への未練

もう数学のほうメインに移ってから2年ほど経ってしまうサイバー少年であります。
F#を半年前くらいにやっていましたが、じゃんけんゲームしか作ってないですし…。

サルでもわかる小遣い帳」を完成させられたことはプログラミングに対するいい思い出なのですが、ちょっと情報処理方面の成果としては小さすぎるかなという未練がありますね~。

一番の未練はPICマイコンと、プログラムのライターを買ったのに、何もしていないことですね。


数学という論理的思考の遊び場に足を踏み入れたキッカケはプログラミングですし、今の私の学問に対する志みたいなものの基礎を作ったのは、プログラミングなんですよね。

数学を現在やっていますが、ずっと頭を使いすぎて疲れたのか分かりませんが、最近は頭のキレが悪いです。

というわけで、ちょっと情報処理の方面に“帰省”しようかな、と思ったりしています。

情報処理はまあ、アルゴリズムとかは難しいですが、基本的には数学よりは頭を使うというか知識力を重視する学問ですから、今のコンディションならそっちのほうがいい…のか??

正直、集中力とかより記憶力の低下のほうがシビアですので、より不適当かもしれませんが…。


ただ、ちょっと数学の頭を使うハードワークから、一時的に逃避したいなと考えております。
将来の夢は数学教授ですが、んなもんなれるかボケということならプログラマーになると思います。
となると、一時的どころか人生をプログラミングとともに寄り添っていかなければなりません。

ただ、プログラミングの世界って日進月歩ですので、職業プログラマである以上そこについていかなければならないわけですよ。
そんなバイタリティもないんですが…。

続きを読む

tag: 勉強 資格 プログラミング 情報 目標 FE 能力

次のページ

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