【C#】遺伝的アルゴリズムを実装してみた

大学の授業で遺伝的アルゴリズムの話題が出たので、C#を使って遺伝的アルゴリズムを実装してみました。といっても、実装するのは初めてで原理もよくわかっていなかったので、こちらのサイトにあるソースコードを参考に作ってみました。 www.sist.ac.jp 遺伝的アルゴリズムはいくつか種類がありますが、これはルーレット選択 + 一点交叉 + 突然変異を組み合わせたものです。 流れとしてはこのようになっています。 適当な遺伝子配列をつくる その遺伝子配列の評価を行う ルーレット選択によって値を決める 一点交叉で遺伝子配列の一部を入れ替える 突然変異で遺伝子配列の一部を変更 評価を行い、以前の評価値より…

【Minecraft + C#】村人を遠隔操作する

久しぶりのマイクラ記事です。今回はタイトルにある通り、村人を遠隔操作します。具体的には、村人に指示した方向へ移動してもらいます。 1. 村人のスポーンと指定 まずは操作したい村人を指定する必要があります。方法としては村人の UUID を指定する方法と、NAME を指定する方法があります。が、個人的には後者をおすすめします。前者の方法では、村人のデータタグを確認する必要があるので少し面倒です。 遠隔操作したい村人を指定する場合は、名前をつけた村人をスポーンさせます。また、そのままスポーンさせると移動してしまうので、停止させるためのタグ NoAI:true を付け加えます。したがって、村人スポーン…

Zenn にて本を書きました

Zenn というエンジニア情報共有サイトがあるのですが、そこで本を書きました。タイトルは「Azure × LINE Messaging API による Minecraft 農業の自動化」 です。 zenn.dev 元ネタは以前ブログで紹介したこれです。 blog.takunology.jp いつか、何らかの形で作り方を紹介しようと思っていましたが、本になりました。 この本は Minecraft を軸にして Azure, LINE Messaging API, C# プログラミングを体験できます。無料で公開しているので、ぜひご利用ください。 特に、学生の方におすすめです。 (adsbygoogl…