gpt4 book ai didi

javascript - 使用 Tensorflow.js 开发游戏 AI

转载 作者:行者123 更新时间:2023-11-30 06:21:20 24 4
gpt4 key购买 nike

我在我的 github 存储库 ( "Lil Square of Eight" ) 中制作了一个游戏,并创建了一些代码来对战机器。现在,出于学习和娱乐目的,我想用 Tensorflow.js 创建一些可以玩游戏甚至获胜的 AI。

游戏很简单,玩家每回合点击一个方 block 边,并用玩家颜色标记。关闭方 block 的玩家得分并可以继续前进。

我用 Tensorflow.js 做了一些测试,但我完全不明白。我所能做的就是验证一个方 block 是否有可以点击的边,不要给其他玩家得分的机会,或者自己得分。

const model = tf.sequential();

model.add(tf.layers.dense({ units: 16, inputShape: [8] }));
model.add(tf.layers.dense({ units: 16, inputShape: [16], activation: 'sigmoid' }));
model.add(tf.layers.dense({ units: 1, inputShape: [16] }));
model.compile({ optimizer: tf.train.adam(0.1), loss: 'meanSquaredError', lr: 0.3 });

const xs1 = tf.tensor2d([
[0, 1, 1, 1, 2, 0, 3, 0], [0, 1, 1, 0, 2, 1, 3, 0], [0, 1, 1, 0, 2, 0, 3, 1], [0, 0, 1, 1, 2, 1, 3, 0], [0, 0, 1, 1, 2, 0, 3, 1], [0, 0, 1, 0, 2, 1, 3, 1],
[0, 1, 1, 1, 2, 1, 3, 1],
[0, 0, 1, 0, 2, 0, 3, 0], [0, 1, 1, 0, 2, 0, 3, 0], [0, 0, 1, 1, 2, 0, 3, 0], [0, 0, 1, 0, 2, 1, 3, 0], [0, 0, 1, 0, 2, 0, 3, 1],
[0, 0, 1, 1, 2, 1, 3, 1], [0, 1, 1, 0, 2, 1, 3, 1], [0, 1, 1, 1, 2, 0, 3, 1], [0, 1, 1, 1, 2, 1, 3, 0]]);

await model.fit(xs1, tf.tensor2d([[0], [0], [0], [0], [0], [0], [0], [1], [1], [1], [1], [1], [2], [2], [2], [2]]), {epochs: 550});

console.log(model.predict(tf.tensor2d([[0, 1, 1, 0, 2, 0, 3, 0]])));

编辑

根据要求,我希望获得帮助,了解如何使用 Tensorflow.js 创建一个能够以智能方式思考和玩游戏的 AI。它可以学习以前的游戏并开始玩游戏。

最佳答案

您要找的是 Reinforcement learning .它不像大多数用于 ML 的 Tensorflow 方法那样流行。 TFJS 示例通常围绕监督学习方法展开。

在这种情况下,这是我的建议。最流行的(对我而言)ML 强化学习游戏方法称为 Q 学习。首先,您可以在常规的旧 Tensorflow 和 Python 中研究 Q Learning,然后在深入理解概念后将其转换为 TFJS。你将成为第一批!

这里有一个关于 Tensorflow 和 Q Learning 的精彩系列:https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-0-q-learning-with-tables-and-neural-networks-d195264329d0

我希望这能给你一些指导!

关于javascript - 使用 Tensorflow.js 开发游戏 AI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52882948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com