はじめに | サイトマップ | サイトポリシー・免責事項など




広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2018年04月16日

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













キーワード
Pythonプログラミング Google Colaboratory



Google ColaboratoryでPythonプログラミングを始めよう


【Google Colaboratory版】
PythonでゲームAIプログラミング入門
Hello World〜じゃんけんAI乱数 編(動画)



Google Colaboratory 」は、Pythonプログラミング初学者・入門者の方々にとって、比較的に導入時の失敗が少ないのではないかと感じましたので、「 Google Colaboratory 」の始め方について簡単にまとめた動画コンテンツを作成しました。

ディープラーニングをはじめとした、機械学習・人工知能(artificial intelligence:AI)・人工無脳(Artificial incompetence・Artificial Innocence:AI)などに関心のある方のはじめの一歩の参考になることがありましたら幸いです。



1.Google Colaboratoryとは?料金は?無料で使える?


2.ステップ2のサンプルコード.Hello Worldプログラミング


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


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


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



【Google Colaboratory版】PythonでAIプログラミングの作り方入門講座.png




動画は、Googleアカウントで、ログインした状態から解説していきます。

【 ColaboratoryでHello,world! 〜じゃんけんAIプログラミング】

・ステップ1(Python3を始めよう)
・ステップ2(Hello,worl!プログラミング)
・ステップ3(じゃんけんAI - 入力なし・勝ち負けの判定なし版)
・ステップ4(じゃんけんAI - 入力なし・勝ち負けの判定なし版)
・ステップ5(じゃんけんAI - キー入力後の実行・勝ち負けの判定なし版)
・ステップ6(じゃんけんAI - 入力あり・勝ち負けの判定あり版)





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

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







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












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



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



【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門










                 ▲ この記事のトップへ















1.Google Colaboratoryとは?料金は?無料で使える?


Google Colaboratory


Googleアカウントを持っている方は、

Colaboratory

 * Google提供の機械学習の教育や研究に利用できる研究ツール
   無料で利用できる研究プロジェクト(2018年4月15日確認時時点)

をWebブラウザの環境で使えます。


Webブラウザ上で、Jupyter notebook を使うことができます。




キーワード
:Google Colaboratory


などで検索してみると、

Hello, Colaboratory - Colaboratory

というページがヒットするのではないかと思います。(2018年4月15日確認時点)









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










2.ステップ2のサンプルコード.Hello Worldプログラミング


▼▼▼ ステップ2のサンプルコード - はじめ ▼▼▼




print("Hello World")




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



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

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




実行後、新たにコードを入力したい場合は、「 +:コード 」をクリックします。









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










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


▼▼▼ ステップ3のサンプルコード - はじめ ▼▼▼




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プログラム


▼▼▼ ステップ4のサンプルコード - はじめ ▼▼▼




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を作ることができそうですね。











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










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


▼▼▼ ステップ5のサンプルコード - はじめ ▼▼▼




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 - 入力なし・勝ち負けの判定なし版

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















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











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


▼▼▼ ステップ6のサンプルコード - はじめ ▼▼▼




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:あなたの勝ちです。













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
















C言語で、

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

まとめていますので

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

ご活用ください。





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

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

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



二次元配列を活用して、

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

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

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














[ スポンサードリンク ]


















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










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










                 ▲ 記事ページのトップへ











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


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


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


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







サイト内検索


おすすめ入門講座・特集コンテンツ
このサイトで作成している入門講座や、特集関連などのおすすめコンテンツです。お気に入りの講座コンテンツや、気になる特集探しなどにお役立てください 
  1. 1. 悩めるプログラマーが知りたい!?「 MANABIYA -teratail Developer Days- 」はチェック済み?(2018年)| #427 デジタルライフコラム
  2. 2. no img 人工知能(AI)・機械学習プログラミング入門者のための数学入門講座
  3. 3. 人工知能(AI)プログラミング入門者に嬉しい? AI・機械学習・ディープラーニングのオンライン学習セットをチェック | #406 デジタルライフコラム
  4. 4. 独学プログラマーのためのAI(人工知能・無能)プログラム入門講座
  5. 5. Macでアフィリエイトのやり方・始め方入門講座
  6. 6. Xcode(Mac)で覚えるSwiftプログラミング入門講座(一覧)
  7. 7. デジタルライフコラム(Column)
  8. 8. no img パソコン便利機能関連記事(一覧) | エクセル・ワード・パワーポイント
  9. 9. パソコンでイラスト作成入門講座 | 基礎から求人探しまで
  10. 10. 「 クラウド型の給与計算ソフトってどうなの? 」クラウド給与計算ソフトについて考えてみる。| 確定申告・会計 特集
最新記事


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


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

子供や、プログラミングを学び始めたい独学者向けに、プログラミングの入門的な内容を取り扱ったウェブ教室も運営していこうと考えています。これから、コンピュータプログラミングを始めたい方で関心のある方がいましたら、ウェブサイトの作成状況に応じてご活用いただけると幸いです。

こちらの記事ページもご活用ください。
「 子供向けプログラミングウェブ教室 」始まる | #234 デジタルライフコラム

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


・ サイトマップ

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

・ はじめに

・ トップページ

・ CONTENTS(コンテンツ)一覧

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

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

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

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

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

・ Mac関連

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

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

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

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

・ 確定申告・会計 特集 

・ デジタルライフコラム

・ エンジニア求人探し



[ スポンサードリンク ]



タグクラウド
QRコード
<< 2018年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          
月別アーカイブ
2018年04月(4)
2018年02月(4)
2018年01月(4)
2017年12月(5)
2017年11月(10)
2017年10月(7)
2017年08月(5)
2017年07月(3)
2017年06月(23)
2017年05月(7)
2017年04月(10)
2017年03月(3)
2017年02月(8)
2017年01月(21)
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月(18)
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月からこのブログを始めてみましたが、随分記事がたまってきました。どれかの記事が、何かの参考になることがありましたら幸いです。
無料プログラミングQ&Aサイト




無料でプログラミングの質問をするならこのサイト
teratail(テラテイル)| プログラミング関連Q&Aサイト
(レバレジーズ株式会社)
仕事レベルのエンジニアから、プログラミング初心者まで

PR:ITエンジニア向け転職マッチングサービス「Tech Stars 」



Eメールアドレス・Facebookアカウントで簡単無料登録♪

[ サービスのポイント ]
1.登録企業からの「 カジュアル面談 」
2.IT勉強会・IT交流会イベント「 TECH eight 」に優先的に招待
3.元エンジニア出身のアドバイザーも在籍


* 2017年12月確認時点の情報

簡単登録はこちらから
Tech Stars


You Tubeチャンネルぺージ


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

×

この広告は30日以上新しい記事の更新がないブログに表示されております。