Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

de:code 2019 MW51 「C# ドキドキ・ライブコーディング対決」 小島の分

935 views

Published on

2019/05/30

MW51 | C# ドキドキ・ライブコーディング対決 @ de:code - ONLY C#!! Blazor Web 開発バトル - | de:code 2019

https://www.microsoft.com/ja-jp/events/decode/2019session/detail.aspx?sid=MW51

Published in: Technology
  • Be the first to comment

  • Be the first to like this

de:code 2019 MW51 「C# ドキドキ・ライブコーディング対決」 小島の分

  1. 1. de:code 2019 C# ドキドキ・ライブコーディング対決 @ de:code - ONLY C#!! Blazor Web 開発バトル - 小島の分 MW51 小島 富治雄 福井コンピュータ グループ Microsoft MVP for Developer Technologies
  2. 2. 自己紹介
  3. 3. 過去の対戦での工夫
  4. 4. 今回の 7並べの 戦略 9
  5. 5. 自分の役割は何か? ~役割に合った戦略を~ 役割を考える
  6. 6. 今回の戦略は2つ ざわ… ざわ… イ カ サ マ だ !
  7. 7. 戦略 その1 「対 チート」
  8. 8. public interface IPlayer { ... // 自分の手番で出すカードを返す Card PutCard(IList<Card> myCards, IList<Card> cardsOnTable, // テーブルのカード IDictionary<IPlayer, int> playerPassCount); // 全員のパスの回数 } 今回の各自が実装するコード 誰かが工夫を 仕掛けてこない 理由がない
  9. 9. 過去に「オセロ対決の最初の手番で盤面を全部自分の石にした」人がいる
  10. 10. // チートがあったら自分の手札とパスの回数を戻して、 if (RestoreAgainstCheat(myCards, playerPassCount)) // 不正を報告する // (IFTTT を使って、Twitter に #decode19 付きで晒上げるか?) ReportCheat(); 「対 チート」 対策
  11. 11. 戦略 その2 「ML (Machine Learning: 機械学習)」
  12. 12. 先ずは学習用データの準備
  13. 13. 局面を数値化
  14. 14. 0 1 2 1 0 0 0 1 0 2 2 2 2 0 0 0 0 0 1 0 0 0 1 2 0 0 0 1 0 0 0 1 1 0 2 2 2 2 1 0 0 0 0 0 0 1 0 0 1 2 2 2 1 0 0 0 局面を数値化
  15. 15. GameRunner ツールの作成
  16. 16. GameRunner ツールの作成
  17. 17. 一回目のデータ
  18. 18. 機械学習の流れ (Machine Learning)! GameRunner Azure SQL Database クラウドに保存 Azure Machine Learning Studio 機械学習で解析! 沢山戦わせた局面 と勝敗のデータ のべの計算時間 10時間 ML で作成した学習 モデルで AI を作成 繰り返して モデルを洗練
  19. 19. Azure SQL Database
  20. 20. Azure SQL Database
  21. 21. Azure Machine Learning Studio
  22. 22. Azure Machine Learning Studio
  23. 23. Azure Machine Learning Studio
  24. 24. Azure Machine Learning Studio
  25. 25. 機械学習の流れ (Machine Learning)! GameRunner Azure SQL Database クラウドに保存 Azure Machine Learning Studio 機械学習で解析! 沢山戦わせた局面 と勝敗のデータ のべの計算時間 10時間 ML で作成した学習 モデルで AI を作成 何度も繰り返す ことでより強く!
  26. 26. Machine Learning
  27. 27. あれ? なんか違和感。 忘れてることない?
  28. 28. クロス ドメイン
  29. 29. クロス ドメイン対策
  30. 30. クロス ドメイン対策 ざわ… ざわ… Currently, we don‘t support disabling CORS on API side. マジか。
  31. 31. クロス ドメイン対策 ざわ… ざわ… Web 上の API が呼べ ないなら、ML.NET を 使えばよいじゃない マジか。いや、それが … …
  32. 32. ML.NET は? public class PlayerKojima : IPlayer { public override string PalyerName { get => "小島"; } public override string PalyerImageName { get => "kojima.jpg"; } public Card PutCard(IList<Card> myCards, IList<Card> cardsOnTable, IDictionary<IPlayer, int> playerPassCount) { … } }
  33. 33. 結局、手でロジックを組んで API で評価 ボロ… ボロ… ボロ… Deep Shallow Learning! 圧倒的、浅さっ…!
  34. 34. 最後に… Blazor の感想 ねぇ、L は? L はどこからきたの?

×