見出し画像

麻雀AIで機械学習を学ぶ

AI、人工知能って響き、わくわくしませんか?

人間じゃできないような思考と試行を巡らせ、最適解を導き出す。考えるだけでめちゃめちゃかっこいい。

できることなら自分でAIを作りたい。人工知能で人工知能でしかできないような何かを成し遂げてみたい。

...でも難しそう。

ずっとやりたいと思ってはいたのですが、なかなか自分からアクションを起こすことはせず...

しかし、調べてみると、素人でも扱えるようなライブラリも出てきて、理論もある程度確立してるっぽい? 参考書は数式だとかが多くてまだ難しそうだけど、できなくはないのかも?

というわけで、始めます。

麻雀AIで機械学習を学ぶ!!!!!!

自己紹介

改めまして、はじめまして。たんぴんと申します。
都内のIT企業にシステムエンジニアとして新卒で入社し、現在2年目になります。

近頃はコロナウイルスの影響で、趣味の雀荘巡りも、パチンコパチスロも全てできず。さらには在宅勤務も重なってとにかく時間が有り余っております。(ずっとリモートワークならいいのにね)

というわけで、せっかくだから機械学習でもやってみよう!
やるなら備忘録の意味でも勉強の成果を残しておこう!
と、noteを始めるに至りました。

機械学習初心者どころか、pythonでの開発経験もなく、さらには麻雀も天鳳5段という、とても人に何かを与えられるようなモノはありませんが、AIへの憧れは誰にも負けません!(笑)

時間をかけて取り組んでいきたいと思いますので、応援よろしくお願いします。

開発にあたって

先にも少し触れましたが、開発にあたって使用する言語はpythonです。
少しでも触れたことのある方はご存じかと思いますが、pythonは機械学習において最もメジャーな言語です。その理由はいくつかありますが、最も大きいのはライブラリの充実です。

python自体、ライブラリ・フレームワークに富んだ言語ですが、特に人工知能分野に関しては抜きん出でています。特化したところでいえばChainerやKeras、汎用的な数値計算ではNumpyやScipyなどがあります。
また、それらの計算結果をグラフ等へ可視化するコストも低いと言われております。
...まあ、どれも私はほとんど触ったことがないのですが。

また、次のような自分ルールを決めておきます。


①究極の目標は最強麻雀AIを作ることだが、ゴールとしては違和感のない打牌選択ができるAIを目標とする。

②一点特化せず、なるべく多くの技法やアルゴリズムを勉強し、使用して回り道しながら進めていく。

③根本的なところから理解をしたいので、ライブラリ等はどうしても必要になるまで使用しない


ライブラリを使えることと、概念を理解していることは違う!というお偉い方のお話に従い、ライブラリ頼りにならないよう、できるだけ自力で、勉強品が進めていきたいと思っています。


以上、麻雀AIで機械学習を学ぶ。これから隔日くらいのペースで更新を予定しておりますので、見守っていただけると幸いです。

次回からは、基礎の基礎から実装を開始していきたいと思います。

この記事が気に入ったらサポートをしてみませんか?