【C#】深層学習入門 #3 ニューラルネットワークと活性化関数

はじめに 多層パーセプトロンは単層パーセプトロンを複数の層で重ねたものであり、ニューラルネットワークとも言えます。が、活性化関数があるかないかでニューラルネットワークかどうかが決まります。とくに最近ではReLU関数を活性化関数として扱っているも…

【C#】WPFアプリケーション入門 #13 グラフを描く

はじめに 深層学習の勉強中に、プログラムでグラフを描画したときのメモです。WPFよりもWindows Formsで作る記事が多かったので、WPFでも描けるように色々調べました。 お品書き 参照の追加 XAMLデザイン 描画ロジック 実行結果 1. 参照の追加 どうやら Wind…

【C#】深層学習入門 #2 多層パーセプトロン

はじめに 前回は単層パーセプトロンについてやりました。単純な論理回路(AND, OR, NAND) は実装できましたが、このままでは組み合わせ回路が実現できません。特にXORはNANDとORで作りますが、単層ではNANDもしくはORのどちらかしか実装できません。なので、…

【C#】深層学習入門 #1 単層パーセプトロン

はじめに 最近話題の機械学習。その中でも深層学習を扱うところが多いですね。ゲームAIをはじめ、画像認識やセキュリティなど幅広く活躍しています。 自分も興味があったのですが、アルゴリズムが苦手で敬遠していました。しかし、やっぱり機械学習やってみ…

【C#】WPFアプリケーション入門 #12 ポリモーフィズムとインターフェース

はじめに オブジェクト指向 (#10) でポリモーフィズムについて扱いました。ポリモーフィズムを意識すると、同じメソッドなのにクラスが違うと処理内容が変わるような処理ができます。つまり、操作名を共通化できます。 お品書き 今回扱う内容です。 ポリモー…

【C#】Minecraft自動化 #5 整地自動化

はじめに 前回は湧き潰し自動化を改良しました。具体的には任意の平面座標における湧き潰しを、地形を考慮して行うプログラムに直しました。 今回は指定範囲内を更地(整地)にするプログラムを作りたいと思います。整地は建築のための前準備ですね。整地し…

【C#】Minecraft自動化 #4 湧きつぶしの改良と地表判定ロジック

はじめに 前回は湧き潰しのプログラムを書きました。が、前回のプログラムのままでは障害物のブロックがあったときに、ブロックを置き換えてしまいます。ブロックを置き換えてしまうということは、地表に松明が設置されないことがあるので湧き潰しに不備が出…

Geant4をWindows10で動かす

Geant4 を Windows10 で動かすために行ったメモです。一筋縄で行かなかったので大変だった記録。 実行環境(動いたVer) Windows 10 Pro CMake 3.15.2 Visual Studio 2019 Community Microsoft (R) C/C++ Optimizing Compiler Version 19.21.27702.2 for x86…

【C#】Minecraft自動化 #3 範囲指定と湧きつぶし

はじめに 前回はプレイヤーの位置座標とブロックの配置方法についてやりました。今回は前回に引き続き、湧きつぶしをやりたいと思います。 湧きつぶしはフィールド上にモンスターがスポーンしないよう、暗い場所にたいまつなどの照明を一定間隔で置いていく…

【C#】Minecraft自動化 #2 プレイヤー座標の取得とブロックの配置

はじめに 前回は環境構築とマイクラに対してコマンドを送れるようにしました。今回はプレイヤーの座標を取得し、ブロックをその座標へ配置していきます。 お品書き ブロックを置くコマンド C# を用いてブロックを配置したいが... プレイヤーの座標を取得する…