跳到主要内容

详解Minimax算法与α-β剪枝

· 阅读需 7 分钟

在局面确定的双人对弈里,常采用博弈树搜索。我方追求更大的赢面,而对方会设法降低我方的赢面。由于局面确定,因此可以对赢面进行评估。我方往较大赢面的方向走,同时考虑对方的走法。由于对方的走法不确定,就假设对方会选择最大程度降低我方赢面的方向走,我方应规避那些对方可以大幅降低我方赢面的走法。

Minimax算法

称我方为MAX,对方为MIN,图示如下:

Linux下实用图片批处理脚本

· 阅读需 2 分钟

经常需要在Linux下批量处理图片,想了想,还是写个实用的批处理小脚本一劳永逸。

代码

SRC为待处理目录;DST为目标目录,也就是保存处理后的文件的目录;SFX用于设置文件名后缀,如果为空就不修改文件名后缀。如果SRC有子目录,DST将和SRC有相同的子目录结构。脚本中的convert命令修改成相应的处理命令。

#!/bin/bash

SRC=/path/to/source
DST=/path/to/destination
SFX=jpg

IFS_old=$IFS
IFS=$'\n'
for dir in $(find $SRC -type d)
do
mkdir -p $(echo $dir | sed "s|$SRC|$DST|")
done
for file in $(find $SRC -type f)
do
new_file=$(echo $file | sed "s|$SRC|$DST|")
if [[ -n $SFX ]]; then
new_file=${new_file%.*}.$SFX
fi
echo $file
convert $file $new_file
done
IFS=$IFS_old

使用ipv6 hosts

· 阅读需 2 分钟

一些校园网能使用ipv6,而Google、Youtube等网站支持ipv6。但是,DNS服务器一般返回的是ipv4的地址,因此,可以通过修改hosts来直接使用ipv6地址访问这些网站。

可以先在IPv6 连接测试来测试是否接入了ipv6。

在GitHub上有ipv6-hosts,用这个替换系统默认的hosts文件即可直接使用ipv6地址来访问这些网站。

然而,在使用过程中发现stackoverflow.com不能正常使用了,因此,需要删除stackoverflow.com相关条目,用ipv4访问stackoverflow.com就正常了。

《SQL入门经典》学习笔记

· 阅读需 4 分钟

这本书总体上来讲还是比较简单的,SQL入门还是不难的。使用了三种数据库,语法有所不同,有点混乱。在看书的过程中记录了一些笔记,以便查阅吧。就是下面这本:

【实验楼】Redis基础教程——学习笔记

· 阅读需 3 分钟

Redis数据类型

字符串

设置值:set key value 获取值:get key 没有相同key时才设置值:set key newval nx 拥有相同key时才设置值:set key newval xx

增加1:incr key 增加x:incrby key x

同时设置多个值:mset key1 value1 key2 value2 同时获取多个值:mget key1 key2

列表

PUSH: lpush 插入新元素到头部;rpush 插入新元素到尾部(一次可以push多个元素) POP: lpop 删除头部元素;rpop 删除尾部元素