技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

アルゴリズム

プログラマ脳を鍛える数学パズル 14

要するにもっとも長くしりとりが続く順番を求めよ。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/14メディア: 単行本(ソフトカバー)この商品を含むブログ (11件) …

プログラム脳を鍛える数学パズル13

アルファベットを数字に置き換え、成立させてください。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/14メディア: 単行本(ソフトカバー)この商品を含むブログ (11…

遺伝的アルゴリズムでナップザック問題

実際には以下の書籍の写経だけど。 機械学習と深層学習 Pythonによるシミュレーション作者: 小高知宏出版社/メーカー: オーム社発売日: 2018/05/12メディア: 単行本(ソフトカバー)この商品を含むブログを見る 書いたソースはコレ github.com 平均応答を見…

プログラマ脳を鍛える数学パズル 12

平方を取った時…なんて問題。 問題文は本読んで… プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/14メディア: 単行本(ソフトカバー)この商品を含むブログ (11件) を…

プログラマ脳を鍛える数学パズル 11

フィボナッチ数の中で、各桁を足し合わせた数で割り切れるものを 5 つ探しなさい。 1, 3, 5,8, 21,144 まではわかっているので、それ以降を探しなさい。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/…

プログラマ脳を鍛える数学パズル 10

プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/14メディア: 単行本(ソフトカバー)この商品を含むブログ (11件) を見る # ルーレットのマスを作るのが面倒 eu = [0, …

プログラマ脳を鍛える数学パズル 09

プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/14メディア: 単行本(ソフトカバー)この商品を含むブログ (11件) を見る 釣り合わない男女という問題。 問題は書籍を…

プログラマ脳を鍛える数学パズル 08

前後左右に動けるロボットが存在し、こいつが 12 回移動したとすると、移動経路は何通り考えられるか? ただし一度移動したルートを踏むことはできないこととする。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井…

プログラマ脳を鍛える数学パズル 07

プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/14メディア: 単行本(ソフトカバー)この商品を含むブログ (11件) を見る 1964/10/10 から 2020/7/25 までの日付を 8 …

プログラマ脳を鍛える数学パズル 06

改変型コラッツ予想。 最初に 3 倍 + 1 して、コラッツ予想の処理にかけ、元の数字に戻る偶数は、10,000 までにいくつあるでしょうか? てのがお題目。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/…

プログラマ脳を鍛える数学パズル 4, 5

プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/14メディア: 単行本(ソフトカバー)この商品を含むブログ (11件) を見る 問題 4 出題意図は…ルールの読み替えができる…

プログラマ脳を鍛える数学パズル 03

1-100 までの裏返しのカードが裏返しの状態で並んでます 2 枚目から 1 枚おき(+2枚目)に最後まで裏返します。 次は 3 枚目から 2 枚おき(+3枚目)に最後まで…繰り返したとき裏のままの番号を答えましょう プログラマ脳を鍛える数学パズル シンプルで高速な…

ニューラルネットワークの自分メモ

ゼロDeep をすこしづつ読んで、過去読んだ機械学習本の記憶と絡めて、改めてニューラルネットワークを再理解したというはなし。 自分用メモなので、これを読んで理解できるかは別問題。 ニューラルネットワークは、よくイメージされる相互に接続されるニュー…

プログラマ脳を鍛える数学パズル 02

家に帰宅したのが23:55ざっくりといたらこんなもんよね。 PC 起動がそのあとで… プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増井敏克出版社/メーカー: 翔泳社発売日: 2015/10/14メディア: 単行本(ソフトカバー)こ…

プログラマ脳を鍛える数学パズル(再

なんか久々に見たらやりたくなったのでgit見たら、なんかそれっぽいコードが無くなってた。 あれ?僕削除したっけ?とか思いつつ、まぁいいかと強くてニューゲーム。 プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問作者: 増…

オセロのAIを作成した話2

パート 1 は こっち。 github.com QLerning QLerning は強化学習という分類のアルゴリズム。 平たく言えば、評価基準だけ与えておけば、その評価を満たせるように勝手に学習するというもの。 QLerning では、以下のプロセスを通して学習する。 状況に対して…

オセロのAIを作成した話

自社アドベントカレンダー用に平日2日ででっち上げたAI。 総作成時間は多分6時間位。 github.com この記事はその解説。 まずはリバーシ ゲームとしては枯れてるのと、ターン性なので作りやすい。 ボードを定義して初期配置を行う。 再初期化もしたいので、初…

Scala で解く「プログラマ脳を鍛える数学パズル」

病院行ったついでに待ち時間暇すぎて書店で見かけたやつ。 www.amazon.co.jp これの問2 1000 - 9999 の中で、「351 , 3 * 51 = 153」(計算結果が元の逆順になる)みたいな数字を見つけ出せ。 使っていいのは四則演算のみで、必ず1回は計算すること。 これ…

K-平均法

データを分類する為のアルゴリズム。 データの分類にはデンドログラムというアルゴリズムが有名。 デンドログラムとは 何らかの評価関数で、全ての要素間の類似度を計算する。 最も類似していると判定される二つをまとめて、平均値を持った1要素とする 「全…

ランダムフォレストを実装する

ランダムフォレスト? 実装してみた感じ、教師ありデータから分類・学習し、その後に与えられた未知のデータに対して、識別・分類を行うアルゴリズム。 正答率は 7-8 割位が目安。余り複雑な学習はできない。他のアルゴリズムと組み合わせて使うといい感じに…

第三回機械学習アルゴリズム実装会行って来た

正確には行って来たのは昨日なんですけどね。 ランダムフォレストという学習アルゴリズムの実装会でした。 内容はこれ。 http://www.slideshare.net/teppeibaba5/ss-37143977 次のエントリで実装したものを書く。

力学モデル

何というかメモ。 グラフを作画しようと思ってもなかなかレイアウトで良いアルゴリズムが思い浮かばなかったので調べてみた。 因みに最初に聞いてなんとなく困ったのが、衝突判定+摩擦係数方式。 単純にGUIで円としてアイテムを配置し、円同士が衝突 or 重…

昨日の続き

昨日 お勧め映画検索のデータ準備 - 謎言語使いの徒然 の続きで、実際に人の組み合わせをやってみたわけ、、、、だがっ! 総勢 6040 人。組み合わせ数 18,237,780 ユーザIDを Long として保存したので 4 バイト。72,951,120 MB のデータ容量。 まぁこの位は…

お勧め映画検索のデータ準備

2人間の類似値を取得する - 謎言語使いの徒然 2人間の類似値を取得する(2) - 謎言語使いの徒然 この辺の続き。 近似値が出ていれば、ある人間 azalea から見てある程度近しい人間を選び、お勧めしてる商品(azalea が持っていないもので、相手がプラス評価し…

2人間の類似値を取得する(2)

ピアソン相関を使って類似度を出力する ピアソン相関ってなんぞ?と思った人は統計学の講座。 参考になるのが下記 http://kusuri-jouhou.com/statistics/soukan.html http://www.koka.ac.jp/morigiwa/sjs/les10801.htm 片方は薬学ですがキニシナイ。 論よりR…

2人間の類似値を取得する

ユークリッド距離で計算。 まずはデータソース val source = Map( "azalea" -> Map( "Java" -> 5, "C#" -> 5, "Python" -> 2, "Perl" -> 2, "Scala" -> 5, "C" -> 4, "C++" -> 4 ), "nullpobug" -> Map( "Ruby" -> 4, "Python" -> 5, "Java" -> 4, "PHP" -> …

ランポートのパン屋

そんな面白そうな単語を職場で聞いたものだから調べて覚えるしかないなと。http://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AE%E3%83%91%E3%83%B3%E5%B1%8B%E3%81%AE%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%8…

末尾呼出と最適化

ある関数Aが、Bを呼ぶだけの場合、Bの呼び出しをジャンプで呼び出すと、スタック消費が無いとか、諸々最適化できるという話。 コレが Tail call optimization なわけですが、Scalaの2.8では自動でやるどことか、Trampoline for Tail Call までやるらしい。 …

Aspect 指向のライブラリで、インスタンスキャッシュ(シングルトン)しようとして頓挫した、、、

Aspectが全てシングルトンだと過程して、「AAspect」→「BAspect」→「メソッド実行」のチェーンを組んで、実メソッド実行後に「実行メソッド」→「BAspect」→「AAspect」で戻れる実装が再起を除いて思い浮かばない。 再起でスタックを組んでしまうと、「BAspec…

Aspect 指向のライブラリを複数対応できるようにしてみた

http://www.white-azalea.net/index.php/p/azaleaworks/downloads/アップデートしてみました。 これで複数のアスペクトも同時実行できる。 namespace TestAspect { class Program { static void Main(string[] args) { SampleTarget target = new SampleTarg…