ゼミのお話/一覧/N本腕バンディットチャレンジ/N本腕バンディットプログラム例 の変更点


-人間が10回バンディットゲームを行い,毎回バンディット結果を表示するプログラム
--ソース:player.c
 #include <stdio.h>
 #include <stdlib.h>
 #include "bandit.h" /* ダウンロードしてきたファイル */
 
 int main(){
   int i, select_arm, num_arm;
   double reword, total_reword=0.0;
   double reward, total_reward=0.0;
 
   init_bandit();               /* 初期化 */
   num_arm = get_arm_num(); /* バンディットの腕の数を取得 */
 
   printf("バンディットの腕の数は%dです\n",num_arm);
 
   for(i=0 ; i<10 ; i++){   /* 10試行行う */
 
     do{                        /* 腕の選択   */
       printf("腕を選択してください[1-%d]:",num_arm);
       scanf("%d", &select_arm);
       reword=bandit(select_arm);
     }while(reword == -1.0); /* bandit の返り値が異常(-1.0)を示している.*/
       reward=bandit(select_arm);
     }while(reward == -1.0); /* bandit の返り値が異常(-1.0)を示している.*/
 
     total_reword += reword;
     total_reward += reward;
 
     printf("%d試行:報酬は%lfです\n", i+1, reword);
     printf("%d試行:報酬は%lfです\n", i+1, reward);
   }
   printf("獲得報酬: %lf\n", total_reword);
   printf("獲得報酬: %lf\n", total_reward);
   return 0;
 }
--コンパイル方法:bandit00に対するプログラム
---gcc -o game player.c bandit00.o