Just $ A sandbox

プログラミングと計算機科学とかわいさ

2012-01-01から1年間の記事一覧

はてブの投稿てすてす

登録してみた はてブを最近やたら見るようになったので移行もワンチャンある気がしてきました。 というか、Markdownの誘惑に負けました、はい。 いやこれ便利ですよほんとに 細かい書式とかにあんまりこだわりたくない場合はこっちのほうが遥かに速いし、何…

Lensで行こう!

続編:Lensで行こう!(2):Isoへの拡張 - みょんさんの。 Lensとは Lens(http://hackage.haskell.org/package/lens-3.7.1.2)というパッケージがあります。 非常に大きなパッケージで、中には非常に便利な函数群がたくさん揃っています。私が調べた限りでは、 …

commitとpushしかできない人のためのgithubの使い方まとめ

github(というよりgit)使っている方は結構な数いらっしゃると思います。 私もそのうちの一人ですが、正直「addしてcommitしてpushするだけ」です、はい。 branchとかmergeとかfetchとかあの辺がいまいちわからない情弱です。あんまりこの辺をまとめて書いた…

Free Monadを使ってみよう!

続編:Free Monadを使ってみよう!(2) - みょんさんの。Haskell楽しいです。 Haskellは純粋なのでとても大好きです。 ただ、Haskellでは副作用のあるように見える(手続きっぽい)書き方をしたくなる時がどうしてもありますので、そういうところでは手続きっぽ…

最も素敵な言語とは?(函数型言語とは何なのか)

函数型言語とは何なのか 函数型言語、という名前くらいは皆さんご存知だと思いますが、しかし使ったことがない人は多いと思います。 入門書は山のように有りますが、「なぜ函数で記述するの?」ということが分からなければそれらを読み進めることも難しいと…

3.pythonで対話型AI制作[モジュール化]

前回以降の部分で最初に目標として設定していた、最低限の機能を備えた自律学習型AIの中核はほぼ完成しました。しかしまだコードが読みにくいので*1、モジュール化してみます。 という訳でモジュール化されたコードがコチラ!→https://github.com/myuon/AI/b…

可愛いは、測れる?

SNSのプロフィールなどを見ていてふと気がついたのですが、「可愛いプロフィール」というものが存在するとすれば、それは一体どういうものでしょうか? それは定量化できるものなのでしょうか?安易に考えればひらがなのような柔らかい文字列+記号の多用が可…

2.pythonで対話型AI制作[形態素解析]

形態素解析とは 形態素解析とはなんでしょうか?ちょっと調べてみましょう。 形態素解析(けいたいそかいせき、Morphological Analysis)とは、コンピュータ等の計算機を用いた自然言語処理の基礎技術のひとつ。かな漢字変換等にも応用されている。対象言語…

1.pythonで対話型AI制作[マルコフ連鎖]

マルコフ連鎖とは 今回から実際にAIを作っていきますが、最初はまずマルコフ連鎖というアルゴリズムでプログラムを書きます。 マルコフ連鎖は数学的なモデルも確立しているとても有名な過程なので詳しくは調べていただければ良いかと思います。ざっくばらん…

0.pythonで対話型AI制作

昔作っていたpythonによる対話型AI*1が出てきたこともあり、せっかくなのでここにまとめることにしました。 全ソースコードは私のgithubからダウンロード可能です(https://github.com/myuon/AI)。 ほしい方は右の真ん中より少し上にあるDownloadボタンからお…

1.Haskellで遺伝的プログラミング[ファイル入出力]

Haskellで遺伝的プログラムとか大仰なことを言いましたが私自身まだHaskellを使い始めたばかりで、初歩的な型エラーに何時間も悩むレベルです。 なので、まぁゆっくり少しずつ、悩みながら作っていきたいと思います(つまり遅いということです)。 ファイル入…

2.ショートコーディングC[コラッツ予想]

今回はコラッツ予想のショートコーディングをしてみましょう。コラッツ予想を知らない方はコチラ→コラッツの問題 - Wikipedia まずは愚直に 何も考えずに組んだプログラムが以下になります。 2から順に全ての数の、コラッツ予想の手順に沿って数を出力するプ…

0.Haskellで遺伝的プログラミング

Haskellで遺伝的プログラミングを組んでみることにしました。 そもそも「論理式は解の個数と判定時間が性質を与えているに違いない!*1」「プログラム的な手法(つまりはアルゴリズム)は多くの場合は限定論理式で書けるのではないか」「ではプログラムは自己…

みょんさんのTwitterの使い方について

ぼくのTwitterポリシー - くだらぬみちくさにっき ---- To waste one’s time on the road might be good, I think.でお見かけしたのでまぁ真似(パクリ)しようってだけです。 そういえば私はいろんな所にプロフィールあるけど結構雑に書いているのとそれのま…

1.ショートコーディングC[素数列]

今回は「素数列」のショートコードを書いてみましょう。 まずはそこそこ速いコードを 以下に、使い古された普通のCコードを書きます。 #include <stdio.h> #define N 100 int main(void){ int primes[N]; int i=1,n=3; int isPrime; int j; primes[0]=2; while(i</stdio.h>

0.ショートコーディングC

ショートコーディングとは? ショートコーディングとはその名の通り短くコードを書く、ということに重きをおいて行われるプログラミングです。 普通ではやらないような記法を使ってでも、1バイトでも短くなるようにコードを組みます。もちろんこれはかなり…