Mrli
别装作很努力,
因为结局不会陪你演戏。
Contacts:
QQ博客园

Mr.li's Blog

Welcome to my Blog!
MinMax-极小极大算法——2048
MinMax-极小极大算法——2048 算法介绍 大家在编程的时候应该或多或少都接触到过这样的写法:min(max(xxx,yyy)),MinMax算法的表达形式就是如此,不过其中的Min和Max都是具有对应含义的。 一般解决博弈类问题的自然想法是将格局组织成一棵),树的每一个节点表示一种格局,而父子关系表示由父格局经过一步可以到达子格局。Minimax也不例外,它通过对以当前格局为根的格局树搜索来确定下一步的选择。而一切格局树搜索算法的核心都是对每个格局价值的评价。Minimax算法基于以下朴素思想确定格局价值: Minimax是一种悲观算法,即假设对手每一步都会将我方引入从当前看 ...

Latex测试
UCB1(Si)=Vi‾+clog⁡Nni,c=2UCB1(S_{i})=\overline{V_{i}}+c \sqrt{\frac{\log N}{n_{i}}}, c=2UCB1(Si​)=Vi​​+cni​logN​​,c=2 UCB1(Si)=Vi‾+clog⁡Nni,c=2UCB1(S_{i})=\overline{V_{i}}+c \sqrt{\frac{\log N}{n_{i}}}, c=2 UCB1(Si​)=Vi​​+cni​logN​​,c=2 Q(vi)N(vi)\frac{Q(v_{i})}{N(v_{i})}N(vi​)Q(vi​)​ Q(vi)N(vi)\fra ...

PAT冲冲冲
PAT冲冲冲 PAT甲级练习题 ——PAT (Advanced Level) Practice PAT甲级(Advanced Level)真题 柳婼 の blog经验 saquarius’s blog PAT甲级题目及分类总结 pat甲级题解目录 ▲报名费256,可以刷牛客网的题来获得-50的优惠券,该练习场下的所有题目只要通过都算 乙级练习题 NowCoder数列 没想到第二题就是考了个数据范围,由于0≤n≤1000000,所以F(n)必然比long long大,而判断3的倍数可表示为===> F(n) % 3 —> (F(n-1)%3 + F(n-2)%3) % ...

蒙特卡洛树搜索MCTS
蒙特卡洛树搜索MCTS 跟围棋的关联 AlphaGo Zero 蒙特卡洛树搜索——内含用于树遍历的 PUCT 函数的某些变体 残差卷积神经网络——其中的策略和价值网络被用于评估棋局,以进行下一步落子位置的先验概率估算。 强化学习——通过自我对弈进行神经网络训练 AlphaGo Zero跟AlphaGo的最大区别是抛弃人类棋谱的,完全通过自我对弈来学会下棋的,并且仅用40小时就到达了AlphaGo的棋力。 过程是这样,首先生成棋谱,然后将棋谱作为输入训练神经网络,训练好的神经网络用来预测落子和胜率。如下图: 在AlphaGo Zero中蒙特卡洛树搜索主要是用来生成棋谱的 蒙特卡洛树 ...

PIL的Image笔记
PIL的Image学习 transpose和rotate transpose 1234from PIL import Imageimg = getCaptcha()# 对称反转img.transpose(Image.FLIP_LEFT_RIGHT) rotate 123456from PIL import Imageimg = getCaptcha()# expand默认为False时,超出原有尺寸的部分将用黑色填充,不会拓展尺寸img = img.rotate(45)# expand为True时,会根据图片大小,拓展尺寸img = img.rotate(45,expand=Tru ...

2019年8月23号运维笔记
2019年8月23号运维笔记 docker docker stop containerID,以后再重新启动时报错 1Error response from daemon: driver failed programming external connectivity on endpoint app (3c0c01ac6b42b7a420644fc2b4debfbbcc0e1d2e74e6294155c28aca82f794c4): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 12345 ...

app测试
app测试 命令 adb shell monkey 500随机执行500次 adb shell pm list packages -3 查看第三方包 adb shell monkey -p tv.danmaku.bili指定在某个软件中随机压力测试 adb shell monkey -p tv.danmaku.bili -p com.umaman.laiyifen 500会先执行来伊份 ▲.在测试应用程序某些选项的同时,也会进行系统级功能的测试,如截图、调音量等 adb shell monkey [-options] times 参数说明 1234567-s seed种子值:种子相同时, ...

2019-9月7号C++编程笔记
2019-9月7号C++编程笔记 auto 定义变量时放在变量前,无需知道具体变量类型,系统可自行推断类型,减少编程工作,特别是在模板使用时,使用更方便。 123456789101112131415161718auto a=1;auto b='a';auto s="abdc";auto c;//这样使用时错误的,系统无法自动推断出变量类型//下面为迭代指针使用,很方便vector<int> vec;auto it=vec.begin();/**模板使用案例*/template<typename InputIterator> TreeNode *creatTre ...

MinMax和Alpha-beta剪枝分析[转]
MinMax和Alpha-beta剪枝分析[转] 一般解决博弈类问题的自然想法是将格局组织成一棵),树的每一个节点表示一种格局,而父子关系表示由父格局经过一步可以到达子格局。Minimax也不例外,它通过对以当前格局为根的格局树搜索来确定下一步的选择。而一切格局树搜索算法的核心都是对每个格局价值的评价。Minimax算法基于以下朴素思想确定格局价值: Minimax是一种悲观算法,即假设对手每一步都会将我方引入从当前看理论上价值最小的格局方向,即对手具有完美决策能力。因此我方的策略应该是选择那些对方所能达到的让我方最差情况中最好的,也就是让对方在完美决策下所对我造成的损失最小。 Mini ...

Python网络编程Websocket
网络知识——Websocket TCP :面向连接—> 打电话(相互回复,一来一回),客户端向服务器端 拨号 , 三次握手 , UDP : 面向无连接 --> 寄快递(寄出去就不管了) e.g.直播 UDP四层结构 网络访问层(链路层): 物理连接设备(网线)、MAC地址(物理地址) 互联网层: IP地址(定位设备) 传输层: port (端口号) : 表示通信进程,将数据交给哪个应用处理 应用层: 自己定义的协议(处理字符串消息的方法) 套接字(socket) : 特殊的设备文件 , 写网络应用程序的接口,写入后就是发送,接收就是读取。 类似于 esp8266 ...

第二十八届“和巨耀通杯”南京邮电大学在线测评系统程序设计邀请赛--
第二十八届“和巨耀通杯”NOJ邀请赛 三人团队赛, 正好最近在刷PTA, 于是一个人报名尝试了一下。 一共AC了三题, Rank28 C. Battle game 签到题 Description: You are playing a game which you will battle with an enemy. As you don’t want to lose, your total power can’t be lower than your enemy’s. Your power is simply added by the power of your soldiers, ...

Openmv使用
Openmv使用 下载Openmv IDE Openmv官网 中国代理——星瞳 Github_release 推荐下载星瞳的,这个是中文版的,并且其他两个下载非常慢。 捕捉图片设置: 设置彩色/黑白 sensor.set_pixformat() 设置像素模式。 sensor.GRAYSCALE: 灰度,每个像素8bit。 sensor.RGB565: 彩色,每个像素16bit。 设置图像大小 sensor.set_framesize() 设置图像的大小 sensor.QQVGA: 160x120 sensor.QQVGA2: 128x160 (用于 lcd 扩展板) ...

软件测试笔记
软件测试笔记 移动应用测试 appnium使用 安装的是appnium-desktop,没有教程中所说的Appium/node_modules/.bin/路径,使用命令行输入appnium和appium-doctor也都没啥反应,后来索性没管,直接跑代码 真机测试 使用的时候报错Build info: version: 'unknown', revision: 'unknown', time: 'unknown',以为是appnium版本的问题,第一次安装的是1.13,后来换成了1.9,其实没多大区别,只不过据说要保证版本在1.6以上。 更换版本后,发现还是Build info: ...

玩玩Stm32
玩玩Stm32 文件结构 12345678910111213141516G:.├───CORE # startup_stm32f10x_hd.s汇编编写的启动文件| # core_cm3.c底层函数├───HARDWARE # 相关外设的初始化代码├───OBJ├───STM32F10x_FWLib # 固件库包: GPIO/i2c/...│ ├───inc│ └───src├───SYSTEM # 正点原子提供的常用、通用模块│ ├───delay│ ├───sys│ └───usart└───USER # stm32f10x_it.c 中断管理文件 | ...

git命令详解
git命令详解 自己的仓库管理: git add <filename> 将文件添加到暂存区中 (其中git add.可以将当前目录的子目录文件都添加到暂存区中) git commit -m "...": 保存仓库的历史记录,其中 -m "…"提交信息(概述) git config --global user.name "..."、git config --global user.email "...": 配置提交作者信息 git log: 查看提交日志(当前状态为终点) 会产生版本库 ...

OpenAI Gym使用、rendering画图
OpenAI Gym使用、rendering画图 gym开源库:包含一个测试问题集,每个问题成为环境(environment),可以用于自己的RL算法开发。这些环境有共享的接口,允许用户设计通用的算法。其包含了deep mind 使用的Atari游戏测试床。 在强化学习中有2个基本概念,一个是环境(environment),称为外部世界,另一个为智能体agent(写的算法)。agent发送action至environment,environment返回观察和回报。 Gym官方文档 Hello gym 123456789import gym# 创建一个小车倒立摆模型env = gym.m ...

Python多进程
Python多进程 守护进程 守护进程其实就是**“子进程“是否伴随主进程一起结束**:守护==>伴随,即守护进程会伴随主进程的代码运行完毕后而死掉 进程:当父进程需要将一个任务并发出去执行,需要将该任务放到以个子进程里 守护:当该子进程内的代码在父进程代码运行完毕后就没有存在的意义了,就应该 将该子进程设置为守护进程,会在父进程代码结束后死掉 1234567891011121314151617181920212223from multiprocessing import Processimport timedef foo(): print(123) time.sle ...

TD-afterstate
TD-afterstate afterstae: 当前执行一个动作后的状态,可以理解为中间态 是处理问题的一个改动,一种思想 以俄罗斯方块为例: 状态是由当前的局面和一个随机方块组成,执行一个下落动作之后会产生一个局面就称为afterstate,即动作结束后不能进行新的动作(没有新方块)的状态。 中间态和下一个随机方块构成了下一个状态 对于没有这种随机性的问题,afterstate就是next state td做预测,afterstate做控制 更多: 强化学习经典入门书的读书笔记系列–第六篇Temporal-Difference

Python random
Python random 老是忘记random中每个函数之间的区别,而且常常跟numpy里的random也经常搞混,因此还是写篇文章记一下吧。 random模块 choice和sample python中random.choice()可以从给定的可迭代对象中随机挑选出一个。 而python中random.sample()方法则可以随机地从给定的可迭代对象中提取出N个不同的元素,列表的维数没有限制。(即第二参数给出个数N) 1234567891011import randomprint(random.sample([chr(97 + x) for x in range(int(9)) ...

numpy使用记录
Numpy使用记录 numpy中的random numpy.random.choice(a, size=None, replace=True, p=None) a : 如果是一维数组,就表示从这个一维数组中随机采样;如果是int型,就表示从0到a-1这个序列中随机采样。 size : 采样结果的数量,默认为1.可以是整数,表示要采样的数量;也可以为tuple,如(m, n, k),则要采样的数量为m * n * k,size为(m, n, k) replace : boolean型,采样的样本是否要更换?这个地方我不太理解,测了一下发现replace指定为True时,采样的元素会有重复; ...