强化学习第二版(翻译)第一章 导论 第五节 拓展例子:井字棋 1.5 An Extended Example: Tic-Tac-Toe

《Reinforcement Learning: An Introduction》强化学习导论英文教材自译中文版Chapter 1 Chapter 1 介绍 当我们思考学习的本质时,第一个来到我们脑海中的想法便是通过与环境互动来学习。当婴儿玩耍时、舞动双臂时或四处张望时,尽管没有一个明确存在的“导师”,但确是与环境产生了直接的观感联结。通过这种联结不断实践会产生大量的因果信息、行动结果信息以及能够用来指导我们如何行动以达成特定目标的信息。在生活中,这种互动无疑是我们了解自身与自身所处环境的主要来源。无论是学习如何驾驶一辆汽车还... 阅读详情

(注:尝试了很多次就是没有办法发全文,迷)

为了说明强化学习的一般概念,并与其他方法进行对比,我们接下来将更详细地考虑一个示例。   

     想想我们熟悉的孩子玩的井字棋。棋手在三行三列的棋盘上博弈,一个棋手下X,另一个下O。若X或O的连续三个棋子落于一行或一列或同一斜线上则获胜;若棋盘被填满也不能决出胜负则为平局。让我们假设,我们是在和一个不完美的棋手比赛,他的战术有时是不正确的,并且允许我们获胜。而且,让我们考虑平局和亏损对我们同样不利。我们如何构建一个能在对手的游戏中发现玩家的漏洞,并取得最大化获胜的机会的机器棋手?

    虽然这是一个简单的问题,但传统方法难以很好地解决。例如,博弈论中经典的“极小极大”解在这里是不正确的,因为对手可能有特殊的博弈方式。极小极大棋手从不去他可能输棋的局面,就是由于对手的失误他可能能胜出(For example, a minimax player would never reach a game state from which it could lose, even if in fact it always won from that state because of incorrect play by the opponent)。经典的连续决策问题的最优方法,如动态规划,可以计算出任何对手的最优解,但要求输入该对手的全部规格,包括对手在每个基础状态(board state,不明白)下移动的概率。让我们假设在问题无法获得这些先验信息,因为它不适用于大多数实际问题。另一方面,这样的信息可以从经验中估计,在这个例子上就是和对手下棋。最好能学习对手的行为模式,达到一定的置信水平(some level of confidence),然后应用动态规划来计算近似的对手模型的最优解。这与我们在本书后面研究的强化学习方法没有什么不同。

    这个问题的一种进化方法将直接搜索一个策略空间以找到最可能赢的那个。在这里,一个策略是告诉玩家在游戏中的各个状态下如何进行移动的规则--既3*3的板子上x和o所有可能摆放的位置。我们考虑策略中,获胜的估计概率将通过与对手进行一些比赛来获得。这一评估将决定下一步将考虑哪个或哪些策略。一种典型的演化方法是在策略空间中进行爬坡,然后在尝试进步的过程中依次生成和评估策略。或者,也许可以使用遗传算法来维护和评估一组策略。实际上,我们有上百种不同的优化方法。

    下面是使用值函数的方法来解决黑白棋问题的方法。首先,我们建立了一个数字表,每个数字对应一个游戏状态。每一个数字将是我们获胜的最新估计。我们把这个估计看作是状态的价值,整个表是学习的值函数。如果A的胜率高于比,我们就认为A的价值高于B,或A比B更好。假设我们玩X,那么所有三个X居于一列的获胜的概率是1,因为我们已经赢了。同样地,对于所有三个O居于一列,或者所有三列被“填充”(or that are “filled up),获胜的概率是0,因为从那时起我们就不可能赢了。我们将所有其他状态的初始值设为0.5,表示猜测我们有50%的获胜机会。

    我们和对手打了许多场比赛。为了选择我们的动作,我们检查每个动作可能产生的状态(在棋盘上的每个空格中有一个),并在表中查找它们当前的值。大多数时候,我们贪婪地移动,选择最有价值的运动,也就是说,以最高的获胜概率。然而,偶尔我们会从其他动作中随机选择。这些被称为探索性的行动,因为它们使我们体验到我们可能从未见过的状态。在游戏中移动和考虑的序列可绘制成图1.1。

图1.1:一系列井字棋移动。实线表示游戏中所采取的动作;虚线表示我们(强化学习播放器)考虑但未做的动作。我们的第二次移动是一个探索性的举措,这意味着e*所表示的移动在等级上优于当前举动。探索性的动作不会导致任何学习,但我们的其他动作都会产生更新,导致了如弧线箭头所显示的那种更新--如文中所写,估值函数自下而上的产生了变化。

    当我们下棋的时候,我们按游戏中的发现不断改变状态的值,使这些值能更准确地估计获胜的可能性。为了做到这一点,在贪婪移动后,我们重写前一状态的值(we “back up” the value of the state after each greedy move to the state before the move)。更准确地说,前一状态的当前值被更新以接近后续状态的值。这可以通过将前一状态值稍向后状态值靠近一小部分来完成(This can be done by moving the earlier state’s value a fraction of the way toward the value of the later state)。如果让s表示在移动前的状态,s‘表示移动后状态,那么将s的估计值的更新表示为V(s),可以写成

V(s) ← V(s) +

深度强化学习——AlphaGo实例讲解(5) 本文通过分析AlphaGo实例,看看深度强化学习是怎么样用来玩围棋游戏的 阅读详情

相关推荐

《强化学习导论》最新版——————文字版本,

《强化学习导论》最新版——————文字版本,

《Reinforcement Learning: An Introduction》强化学习导论英文教材自译中文版Chapter 2

《Reinforcement Learning: An Introduction》强化学习导论英文教材自译中文版Chapter 2 Chapter 2 “多臂”赌博机 强化学习区别于其他学习方法最重要的特征在于:它使用训练信息来评估(evaluate)采取的行动而非直接给出正确行动的指令(instruct)。因此需要进行广泛的探索,即:明确地搜索好的行为。单独的评估反馈会表明某个行为有多好,而非它...

weixin_43165844的博客 2109

强化学习导论中文版 增强学习导论中文版 Reinforcement learning an introduction 中文版.

增强学习导论 强化学习导论 Reinforcement learning an introduction 中文版

强化学习笔记:AlphaGo(AlphaZero) ,蒙特卡洛树搜索(MCTS)

围棋的棋盘是 19 × 19 的网格,可以在两条线交叉的地方放置棋子,一共有 361 个可以放置棋子的位置,因此动作空间是 A = {1, · · , 361}。比如动作 a = 123 的意思是在第 123 号位置上放棋子。 于是我们便有了类似的策略网络和价值网络 和人类下棋类似,AlphaGo在做决策前,需要在“大脑里”做预判,确保几步以后很可能会占优势。如果只根据当前格局做判断,不往前看,是很难获胜的。以上只是 MCTS 的基本想法,实际做起来有很多难点需要解决。 !!Alp

qq_40206371的博客 8384

【深度学习】肺结节分割项目实战二:分割肺实质

在后续训练模型的时候如果直接使用原始的肺部CT图像,其中的非肺区域会对训练造成干扰,因此我们需要提取分割肺实质。这一部分参考了kaggle上的教程。 从这张CT图像中可以看出扫描器以外的部分为黑色,背景和肺内部颜色较深,非肺组织和骨头颜色较浅。我们的目的是将肺部分割出来。由于肺部区域和其他部分对比明显,我们可以设置一个合适的阈值对图像中的区域进行隔离。 import argparse import os import numpy as np from medpy.filter.smoothing imp

weixin_42182906的博客 7242

FPGA设计中的扇出约束实战:从XDC到代码优化的全流程解析

本文全面解析FPGA设计中扇出约束的重要性与应用,详细介绍了从XDC约束文件设置到HDL代码优化的全流程实战技巧。通过MAX_FANOUT约束控制信号负载,结合寄存器复制和物理优化策略,有效解决高扇出导致的时序违例和布线拥塞问题,提升设计性能和可靠性。

nept的博客 798

【免费下载】 强化学习导论中文PDF资源下载

强化学习导论中文PDF资源下载 【下载地址】强化学习导论中文PDF资源下载 - **文件名**: Reinforcement_Learning_An_Introduction_中文.pdf- **文件大小**: [文件大小]- **文件格式**: PDF- **语言**: 中文 ...

gitblog_09705的博客 4318

后摄模块辐射超标整改

某行车记录仪在EMI测试中出现辐射超标问题,通过模块剥离法定位到后摄模块的Ethernet数据线为噪声源。深入检查发现TYPE-C延长线屏蔽层未有效接地,形成辐射泄漏通道。整改措施包括加强屏蔽层360°接地、使用导电布改善连接处屏蔽等,最终使辐射降至EN55032 Class B限值以内。案例揭示了高速信号延长线中屏蔽连续性的重要性,建议设计阶段就重视连接器屏蔽设计和共模干扰抑制。

硬核科技 256

《Reinforcement Learning: An Introduction》强化学习导论原文翻译 17.4 设计奖励信号

17.4 设计奖励信号   强化学习优于监督学习的一个主要优点是强化学习不依赖于详细的指导信息:产生奖励信号不依赖于知道Agent的正确行为应该是什么。但强化学习应用程序的成功在很大程度上取决于奖励信号设计应用程序设计者的目标有多好,以及实现该目标的过程中,信号评估的进展有多好。出于这些原因,设计奖励信号是任何强化学习应用的关键部分。   通过设计奖励信号,我们的目的是设计Agent环境的一部分...

阿涛的博客 1627

为什么我的 Spark Executor / Yarn Container 只有一个vCore?

在很多集群里,在关闭了Spark的DynamicAllocation的前提下(避免自动申请空闲资源,干扰测试结果),都会观察到:提交Spark作业时,申请 1 个 driver + n 个 executor 会在Yarn上会对应创建 n+1 个 container,但是每个container只有一个vCore,通过--driver-cores和--executor-cores设定的vCore数都未奏效。有人会因此错误的认为Yarn上的一个vCore对应一个Spark的executor,这是非常错误的,正确的

Laurence的技术博客 918

ABAP Cloud 开发教程的文章目录

本教程涵盖 ABAP 云端 Client 处理、多租户架构、ABAP Cloud开发、动态编程优化、SQL语法改进等技术主题。最新版本1.0.0(更新至2025-12-12),包含197篇文章,重点文章包括《ABAP Client Handling与隔离机制》《ABAP Platform 2021泛型编程》《SAP BTP ABAP多租户应用开发》等,为开发者提供从基础到进阶的实战指南。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1821

强化学习第二版(翻译)第一章 导论(前言)Chapter 1 Introduction

    当我们思考学习的本质时,我们首先想到的是通过与环境互动来学习。当婴儿玩耍时,挥舞手臂或四处看,它没有明确的老师,但他可以通过直接的感觉与环境联系。他可以通过这种联系获得大量关于因果关系,行动的结果,以及如何实现目标的信息。在我们的生活中,这样的交流无疑是我们的环境和我们自己知识的主要来源。无论我们是学开车还是交谈,我们都可以敏锐的意识到我们的环境对我们所做的事情将作出什么样的反应,并且我们...

thousandsofwind的博客 931

YOLOv13涨点改进 | 全网独家创新、HyperACE改进、注意力改进篇 | CVPR 2025| 引入LRSA局部区域自注意力模块,能提升其在细节捕捉、小目标检测和长距离依赖建模方面的能力

本文提出将LRSA(局部区域自注意力)模块集成到YOLOv13中,通过局部特征交互增强细节捕捉能力、小物体检测精度和长距离依赖建模。LRSA模块采用重叠图像块处理策略,在保持计算效率的同时提升复杂背景下的检测性能。文章详细介绍了模块结构、原理优势,并提供了三种改进方案:1)在主干网络添加LRSA层;2)将关键模块替换为DSC3k2_LRSA;3)采用HyperACE_LRSA结构。配套提供了完整的PyTorch实现代码和YAML配置文件,展示了该模块如何通过局部注意力机制平衡检测精度与推理速度。

Ai缝合怪、助力小伙伴高效发论文 345

通过简单的强化学习实现井字棋(Tic-Tac-Toe)

一、强化学习简介 强化学习的过程可以理解为Agent与Environment的交互、学习、进步的过程,在井字棋中,可以简单的将其中的一方理解为Agent,另一方为Environment。交互的过程中主要有一下4个要素: 状态(state):指可能出现的情况或局面,在井字棋中指局面上的落子情况与先后手。 操作(action):指从一个状态(state)到另一个状态(state)的过程,在井字棋中指...

勿于浮沙筑高台 3705

【GameFramework框架内置模块】6、实体(Entity)

实体Entity就是一个实体的基本单元,类似于Unity的GameObject对象本体,然后这个本体上面附加其他各种各样组件,才能实现各种各样的功能。一般需要在游戏运行时动态加载的游戏对象,比如怪物、武器、子弹、特效,都需要给这个物体挂载一个实体Entity,这样的话就可以方便的对实例出来的对象进行管理。下面就来看一下如何使用吧。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 3137

RAP 语义键:让 UUID 世界变得可读、可导航、可校验

RAP 语义键的核心价值与实现要点 语义键(Semantic Key)是 ABAP RAP 模型中连接技术实现与业务体验的关键设计:通过为实体指定一组业务可读的标识字段(如订单号、物料编码等),在保持技术主键(如UUID)不变的同时,显著提升用户界面的可读性和导航体验。 主要优势: 提升UI可读性:Fiori元素会突出显示语义键字段,帮助用户快速识别关键业务数据 改善导航体验:OData URL会使用可读的语义键而非技术ID,便于分享和排查问题 降低沟通成本:业务人员能准确引用有意义的业务标识而非技术ID

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 158

AlphaZero炼成最强通用棋类AI,DeepMind强化学习算法8小时完爆人类棋类游戏

由于是通用棋类AI,因此去掉了代表围棋的英文“Go”,没有使用人类知识,从零开始训练,所以用Zero,两相结合得到“AlphaZero”,

zchang81的博客 5239

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【项目案例】利用强化学习训练“井字棋”下棋策略的详细介绍

基于Python介绍了如何用强化学习训练井字棋游戏的案例

Linshaodan520的博客 3113

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

强化学习:1.简介

Reference: Reinforcement Learning:An Introduction(second edition) 数学标记: 这套标记系统强调了随机变量与其实例的区别: 其中前者(随机变量)标记为大写字母 后者(随机变量的具体值或标量函数)标记为小写字母 此外: 小写、粗体的字母用于实数向量 (即使是随机变量). 大写的粗体字母用于矩阵. 1:简介 我们所探讨的方法被称为强化学习 (Reinforcement Learning), 其相比于其他的机器学习方法,更加关注于目标导向的从交互

今天写代码了吗 647

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

强化学习系列4:蛇棋的例子

接下来的系列基于《强化学习精要:核心算法与TensorFlow实现》一书。这本书前面的章节部分都有python代码,非常推荐。 1. 蛇棋案例 我们有两个骰子,一个是常规的骰子(1-6各有1/6的概率出现,我们称之为正常骰子),另一个骰子是1~3,每个数字出现两次(也就是说1、2、3各有1/3的概率出现,我们称之为重复骰子)。我们需要选择一个骰子进行投掷。游戏从1出发,每次投到的多大的数字就往前...

kittyzc的博客 3629

强化学习极简例子--井字棋

井字棋 3*3的棋盘上,白、黑子轮流下。如果某方棋子占满同一行、同一列、同一条斜线,则算赢。当棋盘占满还未分出胜负,则为和棋。 棋局状态编码 由于每个位置有三种可能状态:空(0)、白(1)、黑(2),可用3进制来表示棋局当前状态,其中0行0列表示最低位,0行1列表示次低位。 图1. 棋局例 图1所示棋局,用3进制表示为001200210,转化为十进制即 0×38+0×37+1×36+2×35+0×34+0×33+2×32+1×31+0×30=12360 \times 3^8 + 0 \times 3^7 +

minfanphd的博客 2757

强化学习导论翻译-来自优快云1

强化学习导论翻译-来自优快云1 去发现同类优质开源项目:https://gitcode.com/ 此资源文件是一篇关于强化学习导论的中文翻译文章,来源于优快云博客。文章深入浅出地介绍了强化学习的基本概念、框架及应用场景,旨在帮助读者快速了解并入门强化学习。 文章目录 开启本系列目的 本书框架 认识强化学习 一些可应用强化学习的场景 强化学习的基本概念 与进化算法对比 总结 附 文章采用通俗...

gitblog_06769的博客 272

强化学习系列(1.2):强化学习示例

理解强化学习的一种好方法是考虑一些指导其发展的示例和可能的应用

围炉夜敲的博客 735

白话解释DQN(DeepQ-Learning)强化学习算法(五子棋九宫格对弈实例)

本文公开一个基于dqn的九宫格游戏和五子棋游戏自动下棋算法源码,并对思路进行讲解。

石头的博客 2043

Reinforcement Learning:An Introduction-资料下载

Reinforcement Learning:An Introduction-资料下载 强化学习教父 Richard Sutton 的经典教材《Reinforcement Learning:An Introduction》第二版公布啦。本书分为三大部分,共十七章,机器之心对其简介和框架做了扼要介绍,并附上了全书目录、课程代码与资料。 书籍百度网盘:https://pan.baidu.com/...

weixin_42512376的博客 3955

增强学习导论 中文版

增强学习导论 中文版 个人学习,进行翻译,放到GitHub与各位交流。 https://github.com/holazzer/RL-book-zh-cn https://holazzer.github.io/RL-book-zh-cn 本人将会持续在github上更新的!欢迎一起学习、交流,如果喜欢可以来点一个star! ...

up_Lighter的博客 1205
上一篇: 强化学习第二版(翻译)第一章 导论 第四节 局限性和适用范围 1.4 Limitations and Scope
下一篇: 强化学习第二版(翻译)第一章 导论 第六节 小结 1.6 Summary
ThousandsOfWind
博客等级 码龄11年 21粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值