simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

勾配降下法とユーティリティーベースAIのパラメータ決定

AI

ユーティリティーベースAIの作り方について、とても分かりやすい記事を見つけました。 moon-bear.com筆者のくろくまさんは、ユーティリティベースAIの評価関数の作り方について、明確に次の問題点を指摘しています。 しかし困ったことに「こうすればいい」と…

ユーティリティベースの8つの欲求

AI

The SiMs のキャラクターはまるで欲求を持って行動しているように見えるそうですが 実際、8つの欲求が設計されていて、時間と状況によって一番高い欲求に従うように行動しているそうなその8つとはどんな欲求だったのか見てみます。身体的欲求 1.Hunger :…

これまでのゲームAI:7つの分類

AI

ゲームの国際会議GDC2018のAIの集会で、日本人の三宅陽一郎(43)さんが発表してますが、ゲームAIについて良く調べている方と言えばこの人になります。 そんな三宅さんがゲームに用いられるAIを7つに分類してくれました。前回の私の記事で、遺伝、習性、意思決…

レイヤー構造AIデザイン(古いAI技術を新しいものに置き換えるのではなく、積み重ねて利用する考え方)

AI

ふと、別部署の方とAI談義をする機会があったのですが、興味深い気づきを与えてもらいました。 まとめます。ゲームAI技術のうちGA と呼ばれる遺伝的アルゴリズムによる進化 ユーティリティーベースの習性による行動優先度決め 未来予測と行動選択をするモン…

Distributed TensorFlow with Cloud ML Engine (Implementation Details)

■前置き 今現在、世界中の天才と呼ばれる人類層が、必死になって神秘のヴェールをはがしている領域で ごく最近使われるようになってきた単語を使って説明するので、かなり知的負荷が高いこと書きます。 筆者もいっぱいいっぱいで、わからなくても気にせず、…

Unity:UNETの基礎と実装

最近素晴らしい UNET の記事を見つけました。 nn-hokuson.hatenablog.comネットワークゲームには二種 Peer-to-Peer 型と Client-Server 型があります。数万人がアクセスするような商業成功タイプは Client-Server 型ですが、UNET は残念?ながら数人がリアル…

TensorFlow GAN メモ

■前置き 今から半年ほど前の Google AI Blog の記事ai.googleblog.com TFGAN: A Lightweight Library for Generative Adversarial Networks 要約すると「GANってのは、コンテンツ生成という新しい研究領域を広げてます。 例を見てみ、すごいっしょ! すぐに…

Google Cloud Machine Learning Engine で分散ディープラーニング

■前置き TensorFlow をクラウド環境で分散実行したい公式のチュートリアルが分かりやすかったです。本記事はGoogle Cloud ML って何?て状態の人が そのチュートリアルにたどり着くまでの記録■手順 参考サイト www.topgate.co.jpGoogle アカウントを作成 コ…

TensorFlowの導入記録(エラー無かった)

■前置き 近頃はやりの Deep Learning を触ってみることにした。Deep Learning はホントに流行っていて、覚えきれないくらいツールが溢れている(+_+)未来があると思われる、Googleが開発したTensorflow(テンサーフロー) の Hello, World なる MNIST の学習…

AWSでWebサーバーを立てるには?

■前置き 2017/7/2 にこの記事の下書きをしていたのを見つけたので、書き上げてあげることにした。■本題 こちらを参考になぞってみます。 http://qiita.com/shunsuke227ono/items/23dbf4f3bc663a2875f0qiita.com■予備知識1 Amazon Virtual Private Cloud (Am…

クライアントサイドが学ぶサーバーサイド技術

■前置き1クライアントサイド、サーバーサイドを語る前に、まずはゲームが関数であることを説明したいと思います。 ■クライアントサイドクライアントサイドは、単一機材で処理が完結する関数を最適化するお仕事ととらえることができます。 次のステップを踏み…

goでjson文字列からオブジェクトを生成

■前置きGoで書いたWebAPIサーバが今 json 文字列を受け取っています。 json文字列に含まれる情報から必要な値をピックアップして、外部のグラフ表示ソフトが期待しているようなフォーマットでファイル出力しなければなりません。さて、つまり json 文字列か…

Webページからオブジェクトをjson文字列に変換してPOST

■前置き Webページから文字列をPOSTする際、クエリストリングのように連想配列を文字列で送信できることは確認済み さて、ユーザーアクティビティってのはそう単純なデータ構造じゃないんです。 ユーザ定義のデータ構造の配列の配列なんてこともあって、これ…

Goでローカルファイルにテキストファイルを書き出す

■前置き WebページをユーザのクライアントマシンからWebブラウザで見てもらい ユーザアクティビティを短い文字列情報でPOSTしてもらうことで、ユーザ端末で何が起きたのかを収集します。ログを出すだけじゃ意味がなく、受け取った情報をファイルに保存しなけ…

GoのAPIサーバの疎通確認

■前置き 何かしらのユーザアクティビティを収集するWebページをjavascriptで書いていて、セキュリティの関係でクライアントのローカルストレージに一切アクセスできないということに気づいたとき Webサーバ側にクライアントの情報を送信するしかないってこと…

Webサーバーがブラウザから情報を受け取るサンプル

メモ書き、あとで消します。■前置き Webサイトを閲覧する iPad で行われる操作ログをファイルとして保存しようにも、保存することができない仕様なので詰む 解決するにはブラウザで処理した内容をサーバーに送るしかない どうやって?■前提知識 HTTP という…

WindowsでWeb アプリ開発環境作る

■前置き とにかく今こうして作業しているマシンがローカルネットワーク環境でWebサーバーとして機能すればいい index.html を配置したフォルダがルートになって Web サーバーとなる仕組みがほしい■本題 IIS がキーワード、導入手順は以下のどれも同じ手順を…

Go言語の通信スケルトンコード例

■前置きGoってのはマルチコア処理で効率的に同時アクセスをさばく、現時点で最強?のネットワークプログラミング言語ですので その機能を最大限に発揮するスケルトンコードをチュートリアルで公開しているものと思っていました。 が、あまりにプリミティブな…

GoのIDE試し

■前置き1 Go言語学習を、ずっとテキストファイルで進めてきましたけど、そろそろ限界 C#のようにVisual Studio のインテリセンスがあるなら使いたいVisual Studio Code で、Go サポートがあるので、設定して試してみます。■本題Visual Studio CodeVSCode 入…

Goはローカルで通信確認できる?

■前置き1Go 環境整って Hello World 動きます。 言語の目的がマルチコアのネットワークブログラムなんだから、数行でサーバーとして機能するんだよね? どういう書式か確認させてもらおう■前置き2先に書式を学んで行け、馬鹿野郎 とドキュメントに怒られた…

Go の Hello World はどうやって確認?

■あGo 言語のトップページで Hello World を確認できる The Go Programming Languageコードをオンラインで解析して、結果を返してくれるみたいjava っぽく、package 名をファイル頭で定義して import で出力関数を利用できるようにし main 関数(プログラム…

Fixed, Microsoft designer keyboard automatically sleeping problem

Step1: open device manager Step2: expand "Human Interface Devices" Step3: open Bluetooth Low Energy GATT HID Devices property Step4: select tab named power management and check off automatically sleep setting. Step5: restart you machine.Ar…

Go って何?

■前置き1プログラミング言語は最終的にマシン語に翻訳されて、コンピュータの加算器で足し算を繰り返しますので、私から見ればどんな言語も同じに見えます。 Go は何なのかという問いは、どういう思想で作られているのかという点 違いはどれだけ人間に認識し…

環境準備

■前置き1オンラインゲーム開発には UNIX ベースの OS からなるマシンが必要です。 一般の人が触れるようになった UNIX 仕様を満たすOSで有名なものが Linux で、そのLinux のディストリビューション(Linux の種類を表すもの?)には Ubuntu, Cent OS などが…

オンラインゲーム化の準備

AI

昨年9月からAIに身体性を与えるためのマイクロワールドの構築を続けてきました。 趣味プログラムなので、やりたいことをやりたい順番で進めてきたわけですが、見積もりをしてこなかったが故にしっぺ返しが… さすがにブロック同士の相互作用を行う大気シミュ…

AIに身体性を与えるためのマイクロワールドの構築18:大気の循環

この世界で水が山頂の方から流れてくるのはなぜか考えたことはありますでしょうか? 大気は循環しており、その大気に水が含まれているため、その大気が雨を降らせ、山から水が流れてきます。はい、ということで今回は大気の循環をブロックのロジックを使って…

Task.Run:Unityマルチスレッド処理に引数を渡す方法

AIに身体性を持たせるためのマイクロワールド:ブロックロジックの可視化システムの実装メモです。 まずは結果動画をご覧いただきたい。www.youtube.com マルチスレッド処理にて空気に触れている土ブロックだけが確率的に消失(正しくは空気ブロックにマテリ…

Unity:MessagePackをオブジェクトのバイナリ圧縮として使う

MessagePackは、効率の良いバイナリ形式のオブジェクト・シリアライズ フォーマットです。JSONの置き換えとして使うことができ、様々なプログラミング言語をまたいでデータを交換することが可能です。 しかも、JSONよりも速くてコンパクトです。 例えば、小さ…

Unity:C#で共用体ちっくなビットフィールドの利用:SimpleHexWorld17.8:適切にマテリアルを切り替えたい

前回、パフォーマンスを落とさないために、テクスチャ座標で異なるブロックの種類を表現できる仕組みを作ったわけですテクスチャ座標でブロックの種類を表現が、それでもマテリアルを切り替えたいときだってあります。そもそも四大元素や陰陽五行はマテリア…

金ブロックだけでできたマイクロワールドの様子

AIに身体性を与えるためのマイクロワールドの構築の、ちょっとした描画遊びです。これぞ金の山…ゴージャスです! 動画はこちら www.youtube.comマテリアルを一つにして、ブロックの種類をテクスチャ座標で切り替える方法を作りましたが、 しかし、今後金属ブ…