随心情不定时更新,什么都可能写一点的技术博客

0%

前言

在传统程序中,是通过编码定义好规则,为程序提供一个输入,程序通过规则产生输出,如果一个程序只是枚举所有的输入,来产生相应的输出,那可能根本算不上“智能”,因为未知的输入太多,而且也不现实,比如围棋的棋谱就是千变万化的。
对于AI(人工智能)技术来说,恰恰相反,是通过已知的输入和输出,来生成规则,程序通过大量样本数据的训练,使之越来越“明白”这个规则,从而能够预测未知输入的结果,这就是所谓的“监督学习”。

阅读全文 »

二分查找适用于对于有序数组的精确查找,例如从一个有序数组中找到指定元素的索引,可将时间复杂度从普通枚举的$ O(n) $降至$ O(log n) $,前提是数组必须是有序的,否则是没有办法使用二分查找的。
二分查找的思想虽然简单,不过在实现过程中会有很多细节问题需要注意,例如判断循环是用left < right还是用left <= right,right是取最右的元素还是取数组的边界。本文想通过七个例题,约定一种规则或是模板,从此让写二分查找不再出现模棱两可的局面。

阅读全文 »

NetTask

NetTask是一款基于.net core3.0开发的的通用任务管理系统,将任务逻辑和任务调度彻底分离,并可通过Web界面远程监控和管理任务。
.Net Core 3.0可回收程序集加载上下文AssemblyLoadContext新增了Unload方法,真正实现了程序集的热插拔。

阅读全文 »

先从一个故事说起,话说酒吧里有一男一女,女人提议玩一个游戏,规则如下:
2人各出一枚硬币,如果2个硬币都是正面则男人赢3块钱,如果都是反面则男人赢1块钱,如果是一正一反则女人赢2块钱。
男人心想,假如一个硬币的正面或反面的概率是1/2,那么就有1/4的概率赢3块钱、1/4的概率赢1块钱,还有1/2的概率会输2块钱,赢钱和输钱的概率差不多,运气好点说不定还能赚,于是欣然答应了。
结果玩了一段时间,男人发现自己一直在输钱,这里面是有什么猫腻吗?

阅读全文 »