以前書いた記事に追記し、2019年版として改めて投稿します。
競馬用人工知能(AI)の開発言語について 2019年版
人工知能というと難しいイメージもあるかもしれませんが基本的にはプログラムの一種ですので、作るためにはプログラミング言語を使います。
そこで今回は実際に人工知能を開発している立場から数多あるプログラミング言語を、独断と偏見でまとめてみたいと思います。
最後の方にAIの開発言語の人気ランキングの投票もありますので、AIを開発してる方は是非投票してみてください。
Python(パイソン)
人工知能といえばPython、Pythonといえば人工知能という位になりましたね。
人工知能にPythonが選ばれる理由ですが、難しいプログラミングのテクニックや知識を知らなくても比較的簡単に人工知能を利用し目的の結果を得ることが出来るからと考えます。
私の知っているデータサイエンス、科学計算分野の研究者にはPython推しが多いです。こういった分野ではプログラミングテクニック自体が重要なのではなく、得られる結果が全てですので、なるべく簡単にプログラミングできる言語が好まれるようです。
競馬用人工知能の開発にもPythonは選択肢の上位に来るはずです。
- Pythonの長所
- ・とにかく簡単に人工知能を利用し結果を求めたい時に最適
- ・最新の人工知能がいち早く実装されます
- ・情報も多くなってきました
- Pythonの短所
- ・処理速度は速くありません
- ・スタンドアロンのソフトとしては向いていません(出来ない事はありませんが)
C/C++
C言語は昔からあり、プログラミング言語の中での知名度は1番なのでは?
もちろんC言語でも人工知能は作れます。というか、コンピュータの性能を引き出すことと開発難易度のバランスから言えば、これがベストの選択のような気がします。
個人的には最も好きな言語です。
- C/C++の長所
- ・コンピュータの性能を引き出せます(だたし、最速とは限りません)
- ・歴史が長く、情報が多いです
- C/C++の短所
- ・Python等に比べると学習、開発に時間が掛かります
- ・Pythonに比べてコードが増えます
- ・難しいイメージがあること
JAVA(ジャバ)
PCだけではなくAndroidスマホやLinuxでも動きます。
個人的には人工知能のイメージは薄いですが、JAVAでも人工知能は作れます。作れますがPythonやC言語を選択してもよい条件なら、あえてJAVAを選ぶ理由は私には思いつきません。
- JAVAの長所
- ・シェアが大きく、開発するための情報が豊富で、習得しやすい気がします
- ・多くのプラットフォームで実行可能です
- JAVAの短所
- ・処理速度は速くありません
Ruby(ルビー)
日本で開発されたプログラミング言語で、Pythonと比べられることが多いです。
正直、初めて知った頃は色物かと思いましたが、特に日本では確固たる地位を築いています。
- Rubyの長所
- ・日本で開発されただけあって日本語の情報が多いです
- ・Pythonと同様、初心者にもやさしいです
- ・Webアプリ開発ならおすすめ
- Rubyの短所
- ・人工知能に関してはPythonの方が数歩先行している印象です
- ・処理速度は速くありません
C#/VisualBasic
Windows用ソフトを作るのには最適ですが、人工知能に特段適しているということはありません。
事務ソフトから科学計算分野まで幅広く使えます。
- C#/VisualBasicの長所
- ・歴史が長いので情報が多いです
- ・Windowsを使った事務ソフトを作るならこれが最適と思います
- ・独特な癖はあるものの、初心者にもやさしいと思います
- C#/VisualBasicの短所
- ・VisualBasicの方は時代遅れとされることも多いです
- ・一時期に比べC#の勢いが減っている気がします
- ・処理速度は速くありません
Swift
iOSを使うiPhoneやiPadで動かす人工知能を作るならSwiftでしょう。
個人的にはObjective-Cも新しい言語な気がしていましたが、流石にプログラミング言語の進化は速いです。幾ら今はPythonが人気とは言っても今後これもまた変わる事でしょう。
- Swiftの長所
- ・長所というわけではありませんがiPhoneやiPadなら必須です
- Swiftの短所
- ・使えるプラットフォームが限定されます
その他
プログラミング言語にはこれら以外にも沢山の種類があります。
今回は人工知能に適していると思う言語を取り上げたのですが、他の言語でも人工知能を開発するのは可能です。
敢えて他の人とは違う言語で人工知能を開発するのも面白いかもしれません。
競馬用人工知能の開発に最適なプログラミング言語
競馬用人工知能といっても特別なものではなく、一般的な人工知能の範疇になります。これから競馬人工知能を開発するのであればやはりPythonやC/C++/C#を選択すれば間違いないと思います。JAVAも悪くないですね。
最新のAI開発言語人気ランキング
最新のAIの開発言語の人気ランキングはどうなのでしょうか?非常に興味があります。
実際にAIを開発している方や勉強している方に投票してもらえると嬉しいです。
いくらAIブームといっても、実際にAIを開発している方はそれ程居ない様な気もしますので、もしかしたら投票数が0の可能性もあるのではと思っています。
AIの勉強として使っている言語でもOKです。お気軽にどうぞ。