Tokyo Techies: 学生がチェスのアプリを作成するのをサポートしました

人工知能(Al)を使用してチェスの携帯電話アプリケーションを作成することは簡単ではありません。しかし、Tokyo Techiesに通う15歳の学生(名前:JP)は、これにチャレンジしました。人間に勝つことができ、iPhoneで使える彼の最初のチェスボットの開発に成功したのです。

 

まず、JPは基本的なアルゴリズムを学び、更に彼は、上級レベルのアルゴリズム、AI、そしてiOSプログラミング技術を習得しました。その後、このiPhone用チェスアプリの開発に挑戦したのです。

 

チェスアプリを開発するという課題は、ゲームのルールから始まります。ボードは64の正方形で構成されており、各プレーヤーは16個の駒を持ちます。(それぞれ対極の異なる視点。)

さまざまな駒があり、キング、クイーン、ルーク、ビショップ、ナイト、そしてポーンと名前があり、それぞれの駒はボード上での動きに一連のルールを持っています。

 

 

チェスのゲームには、アプリのプログラミングを非常に困難にするいくつかの規則があります。

例えば、ポーンは1マスのみ動かすことができ(最初の位置から移動する時のみ2マスを前方に動かすことができます)、ゲーム中いつでもポーンは対角線上の駒を取ることもできます。

ゲームが終わりに近づくと、ポーンは特別で、あまり一般的ではないアンパッサンという動きができます。また、ポーンがボードの反対側に無事に着くと、別の駒(クイーン、ルーク、ビショップ、ナイト)に昇格することができます。

 

チェスは10120パターンの可能性を持つ非常に複雑なゲームです。ルークとキングと間にはキャスリングという動きがあります。ビショップは駒の上を移動できる唯一の駒です。キングは最大8つの動きが可能ですが、危険にさらす事のないよう注意が必要です。それからステールメイトという引き分けの特別なルールがあります。キングがチェックされた時ゲームを続けるためには、特別なルールがあります。チェスアプリのプログラミングにおける大きな問題の1つは、チェックメイトの状態の時にゲームが終了したことをアプリが認識することです。

JPは、ゲームのルールに従ってチェスアプリが正しく機能するようにプログラムする方法を学びました。最後の最大の課題は、人間に勝てるボットを開発することでした。

私達はJPにインタビューする事で、彼の経験から学び、他の若い学生が同様の成果を達成できるか検討するよい機会とする事ができました。

 

ドゥック:  なぜこのチェスアプリをプログラムしたかったのですか?

JP: このチェスアプリを作りたかった理由は主に二つあります。まず、私はいつも”クール”なプログラムを作りたい、そして、アプリストアのアプリケーションがどのように作られるのかを学びたいと思っていました。次に、ビル・ゲイツが最初のプログラムとして三目並べゲームを作ったことを知っていたので、それよりももっとクールなものを作りたかったのです。最初に始めるにはチェスプログラムが最適だと思いました。

 

ドゥック:どんなプランがあったのですか?

JP: 私の最初の計画は、実用的な人間対人間のチェスアプリケーションを作ることでした。しかし、Tokyo Techiesのメンターは、人間に勝てるチェスプログラムを開発するよう私に勧めてくれました。

 

ドゥック:最終的にどんな結果となりましたか?

JP: Tokyo Techiesの先生の一人が、AIモードでコーディングする事を提案してくれました。そのアドバイスのお陰でプログラムから学ぶ内容が劇的に変わりました。15歳の男子として、ボットやAIがどのように機能するのか全く無知で、大学で学ぶ科目としてAIを捉えていました。AIですよ!お分かり頂けますよね?私にとってAIはロケットサイエンスのように聞こえました。Tokyo Techiesの先生方のおかげで、私は代表的なアルゴリズムについて多くを学ぶことができ、その知識をチェスアプリケーションにうまく実装することができました。私は簡単なチェスのアプリを作るつもりでしたが、最終的には「人間対人間」モードと「AI」モードの両方を持たせる事に成功しました。

 

ドゥック:Tokyo Techiesで得た学習のポイントは何ですか?

JP: これが私の最初のアプリケーションだったので非常に多くの重要な学習のポイントがあったと言えます。しかし、3つだけを選ぶとすれば、AIボットアルゴリズムの実装、プログラムの論理とUIの構造化/設計、そしてSwift構文の習得でしょう。これらが私がTokyo Techiesで学んだ最も重要な鍵となる項目です。

 

ドゥック:JPの経験は、東京テックで経験可能な数多くのサクセスストーリーの1つにすぎません。これは、大人でも学生でも同様の成果を上げられることを示唆しています。

 

Tokyo Techiesでコーディングを学習する理由とは?

実世界で子供達が経験するコーディングのチャレンジに役立つラーニングセンターを探しているなら、Tokyo Techiesにお任せください。

Tokyo Techiesでは、あらゆる年齢の学生、ゲームのプログラミング方法、アプリケーションの作成方法、ロボットの作成方法、科学研究や実用的なアプリケーションのカスタムプロジェクトの作成方法に熱心に取り組むプロやエキスパートに出会えます。Tokyo Techiesでは、子供達にコーディングの基本を全て教えます。そして子供達が実用的なレベルでコードを作成し、開発する過程をサポートします。私たちのプラットフォームは7歳から12歳までの子供向けの技術クラスを特徴としており、私たちの専門家は比較的若い年齢の子供達にコーディングの本質を教えるために総合的なアプローチを採用しています。もしチェスに興味が無くてもご安心ください。Tokyo Techiesでは、産業界および学術界の経験豊富な専門家によって設計されたあらゆる種類の技術コースを提供しています。コースは参加して下さる生徒の皆さんの為に、長期的なスキル開発を念頭に置いて設計されています。基本的なPythonプログラミングを学んだ後は、ゲーム開発、データサイエンス、機械学習、アプリケーション開発、そしてさまざまな技術を使った研究プロジェクトに進むことができます。

この記事は、東京でテクノロジー教育をリードするTokyo Techiesが執筆しました。

 

Tokyo Techies Professional Training For All Ages

Tokyo Techiesのフェイスブックで是非最新情報を入手してください。 https://www.facebook.com/tokyotechies/

© 2020 Tokyo Techies. All rights reserved.