トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン

認知ロボティクス研究室>ゼミのお話>N本腕バンディットを解くプログラムの作成

up



はじめに

古くから,暇な時などに楽しむものとしてゲームは人々に親しまれている.現在では家庭用ゲーム機などに代表されるコンピュータゲームを主に指す言葉として知られているが,もちろんそれだけではない.100m走や幅跳び,砲丸投げなど身体能力を競う競争や競技も"ゲーム"である.また将棋やチェスといった知力を競う"ゲーム"も長い歴史を持ち,その延長上としてコンピュータゲームが登場し,次第に独自の文化を築いている.

特に知力を競うゲームを考えると,その起源は戦争の代替・練習のものとしてあると考えられている.そのためか,ゲームの基本性質として"対戦相手"が存在し,それに"勝利"することが共通した目的がある.ゲームはいくつかのタイプに分類することができるが,常勝(常に勝つ)のための方法・方策について様々な研究が行われ,学問にもなっている\cite{beasley1}.学問的に研究している学者も,プロ・アマ問わずそのゲームの競技者も,基本的にはまずゲームをプレイしルールに慣れ試行錯誤を行うところから始まる.次第に経験を通して勝つためのルールを自分なりに作成していき,常勝への道の探求を行うものである.

本演習では,簡単なゲームを対象にして,ゲームに"勝てる"方法を考え,アルゴリズム化(演算の定型化)を行い,プログラムにすることを目標とする.

製作対象

目的

N本腕バンディットに対して,よい成績(スコア)を得ることができるプログラムの作成を目標とする.

N本腕バンディットって何?

N本腕バンディットとは,N本のレバーのあるスロットマシンのようなものである.各レバーには当たり確率等が設定されており,レバーを引くことによって"当たり"または"はずれ"が決定する."当たり"となると,報酬(お金など)をもらうことができる.

N本腕バンディット問題とは,プレーヤーはいかに多くの報酬を獲得するか,という問題であり,バンディットとプレーヤー間の競争ゲームとなる.

N本腕バンディット問題.png

製作方法

解く対象のN本腕バンディット一覧

NetBSD amd64用(S-JIS,CRLF)

Windows用(S-JIS,CRLF)

#include(): Limit exceeded: ゼミのお話/一覧/N本腕バンディットチャレンジ/バンディットプログラム/SJISCRLF

Mac用

#include(): Limit exceeded: ゼミのお話/一覧/N本腕バンディットチャレンジ/バンディットプログラム/Mac

ヘッダ・オブジェクトファイル使用方法

#include(): Limit exceeded: ゼミのお話/一覧/N本腕バンディットチャレンジ/N本腕バンディットプログラム使用法

ヘッダ・オブジェクトファイル使用例

評価方法

他人と競う時の,スコア計算方法

#include(): Limit exceeded: ゼミのお話/一覧/N本腕バンディットチャレンジ/スコア計算法

公平なスコア計算を実現するために

#include(): Limit exceeded: ゼミのお話/一覧/スコアリングのためのモジュール化

過去の成績

スコアランキング一覧


Last-modified: 2023-03-29 (水) 10:47:55