ブログ「サイバー少年」

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

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

やはり数学力がない

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

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


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

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

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

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

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


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

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

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

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


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

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

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

続きを読む

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

将来の夢について書く

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

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

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

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

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


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

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

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

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

続きを読む

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

祝!ブログ「サイバー少年」、5周年!!! ~ 残り1年 ~

祝!
ブログ「サイバー少年」、5周年!!!


本日3月31日で、当ブログは開設から5年が経ちました!

十年一昔、ですから五年0.5昔ですよ。
とうとう歴史的な大台へ突入しました。

当ブログの右側にある月別記事リストは、長くなりすぎたのでデフォルトで閉じてるようにしましたが、開くとやはり長いなと思いますね。

というか、いま思ったのですが、毎月書いている勉強したことまとめ記事があるので一ヶ月に必ずひとつは記事を書くんですが、
それ以外のネタの記事も、どんなにクソブログ化している時期でも必ずひとつは書いてきたんですね。

月別に書いた記事の数の最小値が2件でした。


さて、前回ブログ4周年のときに書いた記事を引用します。

そしてこの記事は、451件目になると思うので、さらにペースは下がっていますが…。
しかし、4年目の一年でも記事を50件くらい書いていたというのは、意外ですね。



今回は、本記事で495件目の記事になりますので、ブログ4周年を迎えてから今回まで44件の記事を書いたわけです。
前回の50件より少しペースが落ちていますが、最近はだいたい一年に50件ぐらい記事を書いているんですね。

これからの一年は、50件ぐらいは記事を書きたいと思います。

続きを読む

tag: ブログ「サイバー少年」 周年 目標 記事 ソフト F#

ブログ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: ブログ「サイバー少年」 周年 画像 季節画像 フォント デザイン ファミコン タイトル 数学 ペイント

ブログ5年目を軽く振り返る

いやはや、もうすぐブログ5年目も終わってしまいます。
今年もやります、この1年の振り返り記事です。

と、申しましても、今年度の成果として一番大きかったのは数学の勉強だったんですが、
数学の勉強は今年度というより去年の一月ぐらいから始めたので、年末に振り返るほうがキリが良くて昨年末に振り返ってしまったんですよね~。

ですので今さら書くことがない。

まあでも、数学の勉強してるってことはブログにたくさん書きましたけど、勉強内容をブログに書いたことってたくさんはないんですよね。

今年は勉強はいっぱいしたんですけど、ブログネタにせずひっそりとやっていたんですね。

まあ、ちょっと思い浮かんだアイデアとかをブログに書くのは簡単ですが、体系的に勉強してきた内容を書くのは長くなりすぎて気軽にはできませんしね。

まあ、数学とかでちょっと浮かんだアイデアを書いたことは数回ありましたか。


モチベーションの話で言うと、今年度が始まったばっかりの頃はそれ以前の調子の良さを引き継いでキレキレでしたね。

しかし、6月ぐらいからシークエント計算の述語論理に関する推論規則の固有変数条件の理解に苦しんで、それから夏季をまたいで勉強が滞るというスランプがありました。

ただ一番、今年度でアウトプットが多かったのは6月ですけどね。
アウトプットに集中していてインプットがありませんでした。

7月からは完全にクソブログ化します。

秋ごろからは勉強の勢いも復活してきて、勉強して思ったことの感想を近況報告として記事にしたりするのですが、実のある話題を記事にしたことは結局、現在に至ってもあんまりなかったですね。


あとはF#の勉強を十月とか十一月くらいから始めましたね。

群・環・体の勉強と並行して現在までやってまいりましたが、最近とうとう公開した、F#の勉強内容をまとめた記事「F#の基礎勉強まとめ (前編)」と記事「F#の基礎勉強まとめ (後編)」は今年度に書いた記事の中で最高傑作、努力の集大成だと思います。


というわけで、さっさとまとめると、今年度の前半は数理論理学の勉強、後半は群・環・体とF#の勉強をしていたということで、やはり昨年末に書いたことと同じですね。

とりあえずは今後も群・環・体とF#の勉強の続きを行ってまいります。
ただ、F#の勉強は一段落した感じなので、主に群・環・体をやっていきたいですね。

実はこの三月以降、上記リンクのF#の勉強内容まとめ記事の執筆に集中するため、まったくと言っていいほど群・環・体の勉強をしませんでした。

頑張ってリカバリしていきたいと思います。
まあ、もうすぐですが、6年目が始まったときに書く記事でも意気込みを書きましょうか。

直近のブログの予定ですが、今回もブログ5周年記念画像を作ってアップしますので、ご期待ください。
あとは6年目が始まったら意気込みを書いて、四月にプロフィールとかを更新して、それからは通常運行って感じですね。

ではでは、また近いうちにお目にかかりましょう。

tag: ブログ「サイバー少年」 周年 自分史 勉強 モチベーション

F#の基礎勉強まとめ (後編)

記事「F#の基礎勉強まとめ (前編)」の続きです。
前編を読んでいない場合は、F#の知識がない限り前編から読むことをお奨めします。

今回は、かなり長くなることが予想されますね。


最初に、前編で書いたことの訂正というか、多相型についての発見があったので記しておきます。

まず、多相型の名前は'aのようにシングルクォーテーションとアルファベットだと説明しましたが、実際はシングルクォーテーションと任意の名前で多相型を表せるようです。
処理系が多相型であると推論したときは自動的にアルファベット一文字が使われるというだけのことで、自分で書く多相型の名前はなんでもありです。


そして、関数の引数が多相型になる場合があると説明しましたが、引数の型が多相型であると明示できるようです。
そのためには後述するパターンの型注釈を使用して、型名を多相型にします。

let func (x:'a) = x

しかし、多相型の引数であると明示したとしても、たとえば

let func2 (x:'a) = x + 1

と書いたらxはint型しかありえません。
このように型を限定するようなコードを書いたら多相型がもっと狭い型へと“制約”されてしまうので、なんでもかんでも多相型に出来るわけではありません。

さらに言ってしまえば変数でも型注釈で多相型に出来てしまうのですが、値を入れた段階で多相型がその型へ“制約”されてしまうので、多相型の変数というのも宣言できません。


また、同じスコープ内で複数回、同じ名前の多相型を使う場合、それら全てが同一の型であるという前提のもとで上手な型推論が行われます。

たとえば
let func3 (x:'a) = let val:'a = x in val
これはvalの型はxと同じで、xは多相型ですからxに与えた引数によってvalの型や戻り値の型が決まるようなジェネリックな関数です。

let func4 (x:'a) = let val:'a = 3 in val
これはvalの宣言によって'aがint型に“制約”されるので、この関数に与える引数はint型でなければなりません。


この話題は依然として謎深く、個人的にさらなる研究が必要そうです。

続きを読む

tag: プログラミング F# 関数型 勉強まとめ 例外 リスト ジェネリックス パターン

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

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

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

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

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

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

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

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


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

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

続きを読む

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

F#の基礎勉強まとめ (前編)

ついにやってまいりました。
今までF#の勉強をしてきたわけですが、勉強に使っているサイトで基礎編とされている部分を読んでいまして、とうとう読み終わったので内容をご紹介したいと思います。

学んだ文法を使って実際にプログラムを書けるかというと、まだちゃんとしたプログラムを書いたことはないし、正直、書ける気がしないんですけどね…。
記事「2017年 新年のご感想」でも書きましたが、文法を学ぶことと実際にプログラムを書くスキルを身につけることは別物なんだと思います。

それも含めて自然言語と人工言語という違いはあれど、新しいプログラミング言語を学ぶことは英語などの外国語を学ぶことと似ていると、今回F#の勉強をして思いましたね。

新しい言語機能を覚えれば新しい表現が可能なこと、それは他の言語機能で代用しても近い表現をすることは出来るのですが、新しい言語機能を使うほうが便利です。


というわけで、実践的なプログラムの解説をすることはスキル上の問題で出来ませんが、文法の解説をしていきます。

なお、めちゃくちゃ長くなることが予想されたので前編と後編に分けることにしました。

続きを読む

tag: プログラミング F# 関数型 関数 勉強まとめ

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

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

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

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


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

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

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


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

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

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

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

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

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


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

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

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


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

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

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


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

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

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

新タブレットPC購入を決意する

姉妹ブログ「サイバー少年のつまらない事ですが」 にも書いていた話ですが、
私はNexus 7 2012年モデルを、ほぼちょうど3年前から使用しているのですが、最近めちゃくちゃ(特に起動直後の)動作が重いという問題があって買い換えようかどうしようかと迷っていたところでした。

ちなみにNexus 7を購入したときの記事は記事「Google Nexus 7 2012 購入!」です。

当時は2014年でしたから2013年モデルのNexus 7も出ていたのを、値段の安さを優先して2012年モデルの古いNexus 7を購入したんですよね。

当時でさえ2年前のものだった本品ですが、今となってはもう相当古いわけです。
まあ最近までPentium 4のパソコン使ってた奴が何言ってんだという話ではあるんですが。

相当古いって言っても4年前とか5年前ぐらいですけどね。
最近はCPU性能の伸びが鈍化してるみたいですし、この数年間がどれだけタブレット市場を進化させたのかわからないんですが、どうなんでしょう。


でもまあ、とにかくNexus 7が重いので、最新タブレットがそれなりに性能向上していることを期待して、新規購入することにしようと思いました。

それも、タブレットはよく使うので投資する価値が高いですから、中途半端に安いのを買うより、確実に性能の良い高いのを買っちゃおうと思います!


昔の当ブログの記事を読み返してみたところ現在使用中のNexus 7は2万円で購入したようなんですが、今回は3万円~4万円くらいを出そうと思っています。

4万円というとどうでしょう、タブレット市場全体からみたらミドルクラスあたりじゃないでしょうか。

私は普段はロークラス(KEIANとかが売ってる安すぎるやつじゃなくて最低限の性能は備えたASUSとかのやつ、まあそのKEIANが売ってる安すぎるやつを買ったことがあるのも私なんですが)の製品ばっかり買っているので、今回みたいな出費はなかなかないですよ。

まあ今使ってるデスクトップPCもCore i5なので、ミドルクラスあたりではありますけどね。

続きを読む

tag: パソコン タブレット 性能 サルでもわかる小遣い帳 購入 Apple iPad 2ch Nexus

次のページ

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