はじめに | サイトマップ | プライバシーポリシー・サイトポリシー・免責事項など | 【レビュー】Parallels Desktop 15 for Mac 




2017年04月17日

PythonでAI(人工知能・無能)プログラミングの作り方入門講座(Hello World〜じゃんけんAIプログラム 乱数編)











キーワード
Pythonプログラミング じゃんけんAI 乱数編



PythonでAI(人工知能・無能)プログラミングの作り方入門講座
Hello World〜じゃんけんAIプログラム 乱数編


Web上で使える「 Google Colaboratory 」を使って、解説している動画なども作成しましたので、Pythonプログラミング環境の構築や、はじめの一歩でつまずいている方などは必要に応じてご活用ください。

【Google Colaboratory版】PythonでAIプログラミングの作り方入門講座(Hello World〜じゃんけんAI乱数編) | 記事ページへ



1.チュートリアル動画


2.サンプルコード.Hello Worldプログラミング


3.サンプルコード.じゃんけんAI - 入力なし・勝ち負けの判定なし版


4.サンプルコード.じゃんけんAI - キー入力後の実行・勝ち負けの判定なし版


5.サンプルコード.じゃんけんAI - 入力あり・勝ち負けの判定あり版



人工知能・機械学習・ディープラーニング関連の専門書を学ぶ中で、数学の理論解説で、ギリシャ文字や数式の知識がわからない方もいるのではないかと思います。数学の入門コンテンツも作成していこうと思いますので、関心のある方は、ご活用いただけると幸いです。

人工知能(AI)・機械学習プログラミング入門者のための数学入門講座(一覧へ) 





[ スポンサードリンク ]









PythonでAIプログラミングの作り方入門講座(じゃんけんAI 乱数編).png






このページには、プログラミング言語のPython(パイソン)を使って、比較的に簡単な


じゃんけんプログラミング:じゃんけんAI

 * AI:人工知能・人工無脳


を作る方法を解説していく予定です。

コンテンツの作成状況に応じてご活用いただけると幸いです。




簡単な「 じゃんけんプログラム 」を作りながら人工知能(AI:Artificial Intelligence)について、考えていきたいと思います。今回は、乱数を利用して、コンピュータが、出す手(グー、チョキ、パー)を決定する、プログラミングを実装していきます。

この段階では、乱数で、コンピュータが、行き当たりばったりで、次に出すじゃんけんの手を決めているので、プログラミングの内容としては、

人工無能(Artificial incompetence・Artificial Innocence)

的ではないかと思いますが、プログラミング言語Pythonを使って、様々なプログラムを作る練習としては、面白いのではないかと思います。







[ PR:Pythonで人工知能を学ぶなら「 機械学習エンジニアコース(旧:エキスパートAIコース)」| DIVE INTO CODE ]





AIについて学びたいと思っている方も
増えてきているのではないかと思いますが、
AI関連の学習コースを探すのって難しいですよね。

以下のリンク先の「 機械学習エンジニアコース(旧:エキスパートAIコース)」のページで
詳細を確認できると思いますので
現在の興味や学習ニーズに合いそうかチェックしてみてください。

さらにDIVE INTO CODEの
機械学習エンジニアコース(旧:エキスパートAIコース)」について
知りたい方は、
無料カウンセリング
も検討してみてください。

 * 2019年1月5日確認時点では、
   次回の開催は2019年4月期(2019年3月22日22:00締め切り予定:定員10名)のようでした。
   また、入校のためには、「 事前コーディングテスト 」と「 面談
   もあるようです。
   現在の掲載状況は、リンク先でご確認ください。

 * 「 機械学習エンジニアコース(旧:エキスパートAIコース)」は
   2018年8月に、経済産業省 第2回「第四次産業革命スキル習得講座」に認定されたようです。
   その他にも 
   厚生労働大臣により「専門実践教育訓練講座」に指定されたため、
  「専門実践教育訓練給付金」・「教育訓練支援給付金」の対象講座にも指定されたようです。
   気になる方は、リンク先で詳細をご確認ください。  
   現在の掲載状況は、リンク先でご確認ください。    




機械学習エンジニアコース(旧:エキスパートAIコース)
の詳しい内容はこちらから

機械学習エンジニアコース(旧:エキスパートAIコース)| DIVE INTO CODE







[ PR:Udemy - 機械学習・人工知能・データ分析関連の動画教材探しに ]


みんなのディープラーニング講座 ゼロからChainerとPythonで学ぶ深層学習の基礎



みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習









                 ▲ この記事のトップへ















1.チュートリアル動画
PythonでゲームAI(人工知能・人工無能)プログラミング入門
Hello World〜じゃんけんAI乱数 編








Pythonプログラミングの始め方に関しては、こちらの記事もご活用ください。

AI初学者が「 ゼロから作るDeep Learning 」で躓かないためのまとめ

記事では、

Anaconda 」(アナコンダ)

 * macOS・Windows・Linux対応

というディストリビューション(パッケージ)を利用してPythonプログラミングを始める方法などについてまとめています。人工知能・機械学習などの話題で、Pythonの話題を目にする機会もあるのではないかと思いますが、いざ、プログラミングを始めてみようと思ってみても、始めの1歩を踏み出すのは時間がかかってしまいますよね。
これから、Pythonプログラミングを始めてみたい方の、きっかけになることがありましたら嬉しいと思います。









    ▲ Hello World〜じゃんけんAIプログラム 乱数編(一覧へ)










2.サンプルコード.Hello Worldプログラミング


▼▼▼ サンプルコード - はじめ ▼▼▼




print("Hello World")




▲▲▲ サンプルコード - おわり ▲▲▲



* Pythonのバージョンは3系で解説しています。

* 上記のプログラムのコード入力は、「 半角英数 」で行なっています。
 実行してもエラーが出てしまう方は、再度確認して入力してみてください。




チュートリアル動画も作成してみましたので、イメージがつかみにくい方などは、あわせてご活用ください。


Pythonで「 Hello World 」プログラミング入門
macOS・Windows・Linux対応(動画)


















    ▲ Hello World〜じゃんけんAIプログラム 乱数編(一覧へ)










3.サンプルコード.じゃんけんAI - 入力なし・勝ち負けの判定なし版


▼▼▼ サンプルコード - はじめ ▼▼▼




import random

print("じゃんけん、ぽん")

janken_ai = random.randint(0, 2)

if janken_ai == 0:
 print("じゃんけんAI:グーです。")
elif janken_ai == 1:
 print("じゃんけんAI:チョキです。")
elif janken_ai == 2:
 print("じゃんけんAI:パーです。")





▲▲▲ サンプルコード - おわり ▲▲▲



* Pythonのバージョンは3系で解説しています。

* 「 janken_ai 」という名前の変数を作成しています。
  変数名は自分でわかりやすいように名前をつけてみてください。 

* 手入力で上記のコードを入力する場合、
  エディタによっては自動インデント(行頭の空白文字の数のこと)
  してくれると思います。

  ただし、上記コードをコピー&ペーストして実行する場合、

if janken_ai == 0:
 print("じゃんけんAI:グーです。")
elif janken_ai == 1:
 print("じゃんけんAI:チョキです。")
elif janken_ai == 2:
 print("じゃんけんAI:パーです。")


  のコード記述の、「 print 」のインデントを
  お好みの「 半角英数でのスペースキー数 」や、
  「 tabキー 」を使用してインデントを新たに作成していただく
  必要があるのではないかと思います。
 (Web上での表示の兼ね合いで、「 全角でのスペース 」でインデントを表現したため。)

  Pythonのコード記述では、インデントが重要な意味を持つようですね。



Pythonでプログラムコードを記述後に、プログラムを実行すると、コンピュータの出すじゃんけんの手が、自動的に表示されるプログラムです。


・ if〜elif:条件分岐
・ random:乱数値の生成



を活用して、プログラミングしています。



プログラムを簡単に説明すると「 0〜2 」の範囲で乱数を生成して、乱数で出力された数(値)が

・ 「 0 」の時は、「 じゃんけんAI:グーです。 」が表示されます。

・ 「 1 」の時は、「 じゃんけんAI:チョキです。 」が表示されます。

・ 「 2 」の時は、「 じゃんけんAI:パーです。 」が表示されます。

というようなニュアンスを、Pythonのプログラミング言語で記述しています。
ちなみに、「 random.randint(0,2) 」のコード記述をすることで「 0から2までの整数 」を生成しています。「 int 」は「 integer:整数型 」を表すようです。





その他の条件分岐の記述方法例としては、


elif janken_ai == 2:


の部分を


else:


と記述することもできるのではないかと思います。

else」を使う場合は、「 if 」「 elif 」の条件式に合わなかった数値が返された場合(生成された場合)の処理内容を表現することができます。上記のサンプルコードでは、乱数が「 0〜2 」の3パターンのみですので、じゃんけんAIの出力結果に、特徴を持たせることは難しいのですが、乱数の範囲を「 0〜5 」などと、6パターンにすると、「 else」を使うことで、じゃんけんAIのじゃんけんの手に、クセ(特徴)があるプログラムを作れるのではないかと思います。
興味のある方は、サンプルコードをいじりながら、色々と試してみてください。






例.「 パー 」を出しやすいじゃんけんAIプログラム


▼▼▼ サンプルコード - はじめ ▼▼▼




import random

print("じゃんけん、ぽん")

janken_ai = random.randint(0, 5)

if janken_ai == 0:
 print("じゃんけんAI:グーです。")
elif janken_ai == 1:
 print("じゃんけんAI:チョキです。")
else:
 print("じゃんけんAI:パーです。")





▲▲▲ サンプルコード - おわり ▲▲▲



* 手入力で上記のコードを入力する場合、
  エディタによっては自動インデント(行頭の空白文字の数のこと)
  してくれると思います。

  ただし、上記コードをコピー&ペーストして実行する場合、

if janken_ai == 0:
 print("じゃんけんAI:グーです。")
elif janken_ai == 1:
 print("じゃんけんAI:チョキです。")
else:
 print("じゃんけんAI:パーです。")


  のコード記述の、「 print 」のインデントを
  お好みの「 半角英数でのスペースキー数 」や、
  「 tabキー 」を使用してインデントを新たに作成していただく
  必要があるのではないかと思います。
 (Web上での表示の兼ね合いで、「 全角でのスペース 」でインデントを表現したため。)




実行した結果は、いかがでしたか?
ちょっとした工夫次第で、出す手に、特徴を持たせたじゃんけんAIを作ることができそうですね。






チュートリアル動画も作成してみましたので、イメージがつかみにくい方などは、あわせてご活用ください。


Pythonで「 じゃんけんAI(人工知能・人工無能) 」ゲームプログラミング入門
入力・勝負判定なし版(動画)


















    ▲ Hello World〜じゃんけんAIプログラム 乱数編(一覧へ)










4.サンプルコード.じゃんけんAI - キー入力後の実行・勝ち負けの判定なし版


▼▼▼ サンプルコード - はじめ ▼▼▼




import random

print("じゃんけんAIと「じゃんけん」をしよう!")
input("「enter」キーを押してね。")
print("じゃんけん、ぽん")

janken_ai = random.randint(0, 2)

if janken_ai == 0:
 print("じゃんけんAI:グーです。")
elif janken_ai == 1:
 print("じゃんけんAI:チョキです。")
elif janken_ai == 2:
 print("じゃんけんAI:パーです。")





▲▲▲ サンプルコード - おわり ▲▲▲



* 手入力で上記のコードを入力する場合、
  エディタによっては自動インデント(行頭の空白文字の数のこと)
  してくれると思います。

  ただし、上記コードをコピー&ペーストして実行する場合、

if janken_ai == 0:
 print("じゃんけんAI:グーです。")
elif janken_ai == 1:
 print("じゃんけんAI:チョキです。")
elif janken_ai == 2:
 print("じゃんけんAI:パーです。")


  のコード記述の、「 print 」のインデントを
  お好みの「 半角英数でのスペースキー数 」や、
  「 tabキー 」を使用してインデントを新たに作成していただく
  必要があるのではないかと思います。
 (Web上での表示の兼ね合いで、「 全角でのスペース 」でインデントを表現したため。)


* Pythonのバージョンは3系で解説しています。



プログラムを実行し、「 enter 」キーを押すと、コンピュータの結果が出力されるように、プログラミングをしていきます。
今回は、「 input() 」を使ってキー入力後に、じゃんけんが実行されるプログラムです。
このプログラムに、特徴を持たせたい場合は、

サンプルコード.じゃんけんAI - 入力なし・勝ち負けの判定なし版

も参考にして、自分なりにアレンジしてみてください。






チュートリアル動画も作成してみましたので、イメージがつかみにくい方などは、あわせてご活用ください。


Pythonで「 じゃんけんAI(人工知能・人工無能) 」プログラミング入門
キー入力後実行・勝負判定なし版(動画)


















    ▲ Hello World〜じゃんけんAIプログラム 乱数編(一覧へ)











5.サンプルコード.じゃんけんAI - 入力あり・勝ち負けの判定あり版


▼▼▼ サンプルコード - はじめ ▼▼▼




import random

janken_hand = ["グーです。","チョキです。","パーです。"]

print("じゃんけんAIと「じゃんけん」をしよう!")
print("\n0:グー\n1:チョキ\n2:パー")
my_janken = int(input("じゃんけんの手を決めてください。数値を入力後「enter」キーを押してね。:"))

janken_ai = random.randint(0, 2)

print("出した手:", janken_hand[my_janken])
print("じゃんけんAI", janken_hand[janken_ai])

hantei =(my_janken - janken_ai + 3) % 3
if hantei == 0:
 print("あいこです。")
elif hantei == 1:
 print("あなたの負けです。")
else:
 print("あなたの勝ちです。")





▲▲▲ サンプルコード - おわり ▲▲▲




* Pythonのバージョンは3系で解説しています。

* 「 janken_hand 」「 my_janken
 「 janken_ai 」「 hantei
  という名前の変数を作成しています。
  変数名は自分でわかりやすいように名前をつけてみてください。 

* 手入力で上記のコードを入力する場合、
  エディタによっては自動インデント(行頭の空白文字の数のこと)
  してくれると思います。

  ただし、上記コードをコピー&ペーストして実行する場合、

if hantei == 0:
 print("あいこです。")
elif hantei == 1:
 print("あなたの負けです。")
else:
 print("あなたの勝ちです。")


  のコード記述の、「 print 」のインデントを
  お好みの「 半角英数でのスペースキー数 」や、
  「 tabキー 」を使用してインデントを新たに作成していただく
  必要があるのではないかと思います。
 (Web上での表示の兼ね合いで、「 全角でのスペース 」でインデントを表現したため。)

  Pythonのコード記述では、インデントが重要な意味を持つようですね。





プログラムを実行し、指定したキー(今回は、0・1・2)のキーボード入力後に「 enter 」キーを押すと、コンピュータの結果と、勝ち負けの判定結果が出力されるように、プログラミングをしていきます。


今回は、「 グーです。」「 チョキです。」「 パーです。」
といった複数の値を1つの変数で管理するために
janken_hand = ["グーです。","チョキです。","パーです。"] 」のリスト(list)を作成しています。
ちなみに、リスト内の左から順番に「 0:グーです。 」「 1:チョキです。 」「 2:パーです。 」の数値に割り当てられています。


自分の手とじゃんけんAIのじゃんけんの手の文字表示では、
print("出した手:", janken_hand[my_janken])
 print("じゃんけんAI", janken_hand[janken_ai])

などで記述しているように、今までのサンプルコードとは違った方法での文字表示の方法も利用しています。


勝ち負けの判定では、
hantei =(my_janken - janken_ai + 3) % 3
の計算式で示したように、

{ 自分のじゃんけんの手(0〜2) ー じゃんけんAIの手(0〜2) + 3 }/ 3

の余りの数値によって、勝敗の結果を計算するようにしてあります。
0:あいこです。 」「 1:あなたの負けです。 」「 2:あなたの勝ちです。






チュートリアル動画も作成してみましたので、イメージがつかみにくい方などは、あわせてご活用ください。


【 勝負判定機能付き 】
Pythonで「 じゃんけんAI(人工知能・人工無能) 」ゲームプログラミング入門
入力・勝負判定あり版(動画)



















    ▲ Hello World〜じゃんけんAIプログラム 乱数編(一覧へ)
















C言語で、

じゃんけんプログラミング作成する方法も

まとめていますので

C言語でじゃんけんAI作成に関心のある方は、

ご活用ください。





乱数を活用した基本的な仕組みの

じゃんけんプログラミングをしたい方はこちら

AI(人工知能・無能)プログラミングの作り方入門講座(Hello World〜じゃんけんAIプログラム 乱数編)



二次元配列を活用して、

経験値を考慮したプログラムや、

思考パターンをプログラミングしてみたい方はこちら

AI(人工知能・無能)プログラミングの作り方入門講座(Hello World〜じゃんけんAIプログラム 2次元配列編)














[ スポンサードリンク ]


















                    by はじめてのコンピュータ・パソコン










AI(人工知能・無能)エンジニア・プログラマー養成講座(一覧ページへ) 


あの「機械学習関連講座」が着々と実績を積み上げ中!! | #442 デジタルライフコラム








                 ▲ 記事ページのトップへ











右向き三角1サイトマップ


右向き三角1プロフィール | サイトポリシー・免責事項など


右向き三角1CONTENTS(コンテンツ)一覧


右向き三角1独学プログラマーのためのAI(人工知能・無能)プログラム入門講座(一覧)







Parallels Desktop 15 for Mac クーポン・特価情報




MacでWindowsを使えるソフトウェア【Parallels】

2019年8月に発売開始されたParallels Desktop 15 for Macをレビュー中。
【レビュー】Parallels Desktop 15 for Mac(一覧へ) 

【20% OFF特価情報】Parallels Desktop15 for Mac(2019年11月26日〜2019年12月4日午後5時まで)   
サイト内検索


おすすめ入門講座・特集コンテンツ
このサイトで作成している入門講座や、特集関連などのおすすめコンテンツです。お気に入りの講座コンテンツや、気になる特集探しなどにお役立てください 
  1. 1. 準備はOK? 確定申告・会計 特集 | 2019年版(2018年・平成30年分)
  2. 2. 【Mac版】データ復元・復旧SOS講座(一覧)
  3. 3. no img パソコン便利機能関連記事(一覧) | エクセル・ワード・パワーポイント
  4. 4. Pythonで機械学習・人工知能(AI)プログラミング入門 | 数字の画像認識(anaconda - Jupyterノートブック版)
  5. 5. no img 人工知能(AI)・機械学習プログラミング入門者のための数学入門講座
  6. 6. 独学プログラマーのためのAI(人工知能・無能)プログラム入門講座
  7. 7. Macでアフィリエイトのやり方・始め方入門講座
  8. 8. Xcode(Mac)で覚えるSwiftプログラミング入門講座(一覧)
  9. 9. デジタルライフコラム(Column)
  10. 10. パソコンでイラスト作成入門講座 | 基礎から求人探しまで
最新記事


サイトポリシー・免責
HajimeteCPCさんの画像
HajimeteCPC
プロフィール
子供プログラマー | プログラミング入門ウェブ教室


子供プログラマー | プログラミング入門ウェブ教室_イメージ.png

子供と一緒にプログラミングを楽しむために、大人がプログラミングを学ぶための学習支援サイトです。

こちらの記事ページもご活用ください。
日本人のための人工知能プログラマー入門講座(機械学習)

メニュー | はじめてのコンピュータ・パソコン


・ サイトマップ

・ プライバシーポリシー・サイトポリシー・免責事項など

・ はじめに

・ トップページ

・ CONTENTS(コンテンツ)一覧

・ 年賀状をパソコンで自宅で作ろう講座

・ エクセル・ワード・パワーポイントの使い方入門

・ 独学プログラマーのためのAI(人工知能・無能)プログラム入門講座

・ Xcode(Mac)で覚えるC言語入門講座

・ Xcode(Mac)で覚えるSwiftプログラミング入門講座

・ Mac関連

・ コンピュータ・プログラミング書籍関連 | まとめ・書評など(一覧)

・ パソコンでイラスト作成入門講座

・ アフィリエイトのやり方・始め方入門講座 

・ SEO・レンタルサーバー入門講座

・ 確定申告・会計 特集 

・ デジタルライフコラム

・ エンジニア求人探し



[ スポンサードリンク ]



タグクラウド




QRコード
<< 2017年04月 >>
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
月別アーカイブ
2019年12月(4)
2019年11月(10)
2019年10月(1)
2019年09月(7)
2019年02月(5)
2019年01月(22)
2018年12月(7)
2018年11月(6)
2018年10月(8)
2018年09月(5)
2018年08月(5)
2018年04月(1)
2018年02月(2)
2018年01月(4)
2017年12月(4)
2017年11月(5)
2017年10月(7)
2017年08月(5)
2017年07月(3)
2017年06月(23)
2017年05月(7)
2017年04月(9)
2017年03月(2)
2017年02月(8)
2017年01月(20)
2016年12月(18)
2016年11月(8)
2016年10月(11)
2016年09月(8)
2016年08月(27)
2016年07月(34)
2016年06月(27)
2016年05月(26)
2016年04月(26)
2016年03月(20)
2016年02月(17)
2016年01月(58)
2015年12月(49)
2015年11月(26)
2015年10月(64)
2015年09月(43)
2015年08月(30)
2015年07月(13)
2015年06月(35)
2015年05月(40)
2015年04月(22)
2015年03月(18)
2015年02月(11)
2015年01月(10)
2014年12月(13)
2014年11月(4)
2014年10月(2)
2014年09月(9)
2014年08月(15)



2014年8月からこのブログを始めてみましたが、随分記事がたまってきました。どれかの記事が、何かの参考になることがありましたら幸いです。
You Tubeチャンネルぺージ


RehabC | イメージ.png
You Tubeのチャンネルもあります。
エクセル、ワード、パワーポイントなどの
基本的な操作方法の学習や、
プログラミングやイラスト作成をはじめとした、
パソコン学習の補助などにご活用ください。
よろしくお願いいたします。

Macの買取サービス


【Mac買取ネット】
ユーザー満足度98%のMac買取専門店

「梱包キット」も頼めて、おおよその価格の仮見積もり金額もすぐに調べられるので、Macを売りたい方にとっては、ありがたいサービスですね。


【オンラインMac買取ストア | 中古・壊れたMac高額買取専門店
壊れたMacを売りたい方にはありがたいですね。

【オンラインMac買取ストア】

以前、壊れてしまって、使えないMacBook Pro 17インチを買い取っていただいた時の体験談もまとめておきましたので、壊れて使えないMacを売りたい方の参考になることがありましたら幸いです。 :【体験者は語る - 評判】故障したMacBook Pro 17インチが買取サービスで無事、仮査定金額通りに売れました。| #429 デジタルライフコラム

現在は、iMacでこのサイトを運営中です。