灌输一些观念
2015-12-25 23:37
169 查看
check
identity check(证同性测试)如C++面向对象设计时的赋值构造(assignment constructor)要避免
自我赋值:
Widget& Widget::operator=(const Widget& rhs) { if (this == &rhs) return *this; // identity test .... }
sanity check(合理性检测)
有时为避免出错,需做一些简单的甚至傻瓜式的检验。
import numpy as np np.random.seed(0) p = np.random.random(100000) rolls = np.random.random((11, len(p))) Alice_wins = np.cumsum(rolls < p, 0) Bob_wins = np.cumsum(rolls >= p, 0) total_wins = Alice_wins + Bob_wins assert np.all(total_wins.T == np.arange(1, 12)) # sanity check, # == array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) print('sanity check passed') # 方案之二 # Alice_wins = rolls < p # Bob_wins = rolls >= p # total_wins = Alice_wins + Bob_wins # assert np.all(total_wins == 1) # print('sanity check passed')
如何在程序中实现概率机制
一大法宝:if条件判断,例P(A)=p,P(B)=1−pif (x<p) { // x ~ U[0, 1] // 表达事件A发生的概念。 ... } else { // 表达事件B发生的概念 ... }
p = np.random.random(100000) rolls = np.random.random((11, len(p))) Alice_wins = np.cumsum(rolls < p, 0) Bob_wins = np.cumsum(rolls >= p, 0) # 如果 p = 0.6 # 则 Alice_wins == .6,Bob_wins == .4
相关文章推荐
- 对象序列化为何要定义serialVersionUID的来龙去脉
- asp.net MVC4的执行流程
- LeetCode Find Minimum in Rotated Sorted Array
- 存储器的分配与回收算法实现
- Angular-依赖注入
- javaMap
- Objective-C中的浅拷贝和深拷贝
- SQL中视图整理
- SQLServer 维护脚本分享(05)内存(Memory)
- 使用加密解密技术和CA认证解决网络传输中的安全隐患
- boost库实现Base64编解码
- LayoutInflater
- 工作六年六个月
- SQL Server汇总数据之聚合函数与分组
- 简单研究下APK文件
- Hdu 2050解题报告
- 嵌入式C笔试小结
- Dijkstra算法
- 锋利的jquery学习
- Latex中遇到的问题及解决办法