会微积分的喵

我走得很慢,但我从不后退

0x01 SVN简介

SVN知道的同学可能比较少,但是大家可能对git都不陌生,相信大家基本都用过全球最大同性交友网站github。

SVN和git是一样的,都是一种版本控制系统,用于多个人共同开发同一个项目,共用资源的目的。

SVN历史比较悠久,在git出来前就有。

0x02 SVN服务器

SVN是CS模式,需要有服务器。SVN服务器支持两种运行方式:独立服务器和借助apache运行,本文主要讲独立服务器的运行方式

本文主要讲在Linux系统Ubuntu 18.04下的安装,其他发行版相差不大。

  1. 安装SVN
    1
    apt-get install subversion
  2. 建立SVN服务器的文件夹
    1
    2
    # svn默认目录
    mkdir /var/svn
阅读全文 »

0x01 简介

这篇论文是一篇关于匹配系统算法的论文(2012年),那会机器学习才刚开始兴起。

主要讲的是《Ghost Recon Online》(中文名称:幽灵行动)游戏研发beta测试的时候,对匹配系统算法做的一些研究,论文中提到的算法并没有在线上使用,主要是离线验证。

Ghost Recon Online

阅读全文 »

OR-Tools CP-SAT 搜索参数

所有参数:

https://github.com/google/or-tools/blob/stable/ortools/sat/sat_parameters.proto

很多参数都要在了解背后的搜索算法后,才知道含义

输出所有参数及其默认值:

1
2
3
4
5
attributes = [attr for attr in dir(solver.parameters) if not attr.startswith('__')]
for attr in attributes:
if attr == "Extensions":
continue
print("{} = {}".format(attr, eval("solver.parameters.{}".format(attr))))

下面是参数类型及一些例子:

Branching and polarity 搜索算法相关参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
enum VariableOrder {
IN_ORDER = 0; // As specified by the problem.
IN_REVERSE_ORDER = 1;
IN_RANDOM_ORDER = 2;
}

# 变量顺序
# 这个参数不变,可以在定义变量时,考虑变量顺序
preferred_variable_order = IN_ORDER

enum Polarity {
POLARITY_TRUE = 0;
POLARITY_FALSE = 1;
POLARITY_RANDOM = 2;
POLARITY_REVERSE_WEIGHTED_SIGN = 4;
}

# 初始化相关设置
optional Polarity initial_polarity = POLARITY_FALSE;
阅读全文 »

写在前面

最近看了一些机器学习、深度学习的视频,感觉不错,想推荐给大家,都是我自己看过的。

我个人是比较喜欢看视频学习,尤其是刚开始学的时候,对知识有所了解后,会看一些其他的,比如书籍、博客、开源代码。

主要是一些深度学习视频

最近在看

李宏毅-2021-《机器学习》

学机器学习、深度学习的同学,应该都听说过台湾大学的李宏毅老师,在网上有很多视频教程。

他的课是中文教学的,而且内容比较有趣。

2021又上线了他的《机器学习》课程,线下、线上都有的,说是机器学习,其实重点讲解的是深度学习。从2月26日正式开始,6月中旬结束。

课程主页:https://speech.ee.ntu.edu.tw/~hylee/ml/2021-spring.html

Youtube视频链接: https://www.youtube.com/watch?v=Ye018rCVvOo&list=PLJV_el3uVTsMhtt7_Y6sgTHGHp1Vb2P2J&index=1

Bilibili视频链接: https://www.bilibili.com/video/BV11K4y1S7AD?p=3

阅读全文 »

写在前面

最近春天到了,连日的下雨,看天气预报周天天气比较好,平时刷抖音有看到太子湾公园的花开了,就想着去爬山赏花,和同事以及同事的室友,三人行,路线是八卦田 -> 玉皇山 -> 太子湾公园,后面基本都是徒步,开始去之前,发现太子湾公园是需要先预约的,看的时候都已经预约满了,后面想着从公园后面的山进去,绕了好大一圈,最后还是进去了。

八卦田

上面种着八种不同的庄稼,一年四季,八种庄稼呈现出不同的颜色。在八卦田中心,有个圆圆的土墩,那就是太极图。现在种了很少的庄家,主要是油菜花。

八卦田油菜花

阅读全文 »

写在前面

来网易做游戏匹配相关的工作也一年多了,从最开始不知道什么是匹配,到现在也成功做了几个游戏战场的匹配系统,后续准备多写写游戏匹配系统相关的介绍。

设计一个匹配系统服务时,需要考虑玩家的习惯、行为和期望。匹配系统本身是一个没有完美答案的难题,其中大部分重要的决定都是只能进行权衡取舍,不存在面面俱到的解决方案,越多人加入匹配,匹配可选择的空间就越大,结果就越准确。

下面是一些做匹配系统时需要考虑的因素,有的可能是矛盾的,需要开发者自己权衡。

一、时间因素

匹配系统的第一个要素:尽可能快的匹配到对局,从而使得你不需要等待太久。这是匹配系统优先级最高的规则之一。

阅读全文 »

函数式编程简介

函数式编程在最近几年比较热门。

高阶函数

函数名其实是指向函数的变量,比如以python内置函数abs为例,我们可以通过下面的代码来证明:

1
2
3
4
5
6
7
8
9
10
>>> f = abs
>>> f(-4)
4
>>> abs = len
>>> abs(-4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'int' has no len()
>> abs([1, 2, 3])
3

变量可以指向函数,函数的参数可以接受变量,一个函数可以接受另一个函数作为参数。
我们把能接受函数做参数的函数称为高阶函数
阅读全文 »

写在前面

我们平时在使用python包过程中,经常都能看到包对应的文档,拉到网页底部,往往能看到”Powered by Sphinx”,sphinx是一种基于Python的文档工具,当然对其他文档也有支持。本文就主要基于代码已有的注释,使用sphinx自动化生成API文档。

sphinx安装

1
pip install sphinx

版本:v3.0.2

这个版本和之前在网上教程看的好多例子不太一样。

一个简单的例子

新建一个项目

阅读全文 »
0%