Processing math: 100%

《编程原本 》一2.4 轨道规模的度量

简介: 本节书摘来自华章出版社《编程原本 》一书中的第2章,第2.4节,作者(美)斯特潘诺夫(Stepanov, A.),(美)麦克琼斯(McJones, P.),更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.4 轨道规模的度量

对于类型T上的轨道,有关规模o,h和c的自然类型应该是一个足以记录类型T中所有不同的值的个数的整数计数类型.如果类型T占了k位,它至多有2k 个值,所以一个k位的计数类型将不能表示从0到2k 的所有计数值.但在使用距离类型时有一种表示这些规模的方法.
一条轨道有可能包含某类型的所有值,这时o就可能无法存入相应的距离类型.对不同形状的轨道,h或c也可能无法存入.然而对ρ-形轨道,h和c一定能存入.对所有情况下面几个量都可以存入:o.1(轨道中的最大距离),h.1(柄里的最大距离),以及c.1(环里的最大距离).这使我们可以实现一个过程,它返回一个三元组来表示轨道的完整结构,其三个成员分别是:
image

template<typename F> requires(Transformation(F)) 
triple<DistanceType(F), DistanceType(F), Domain(F)> 
orbit structure nonterminating orbit(const Domain(F)& x, F f) 
{ typedef DistanceType(F) N; Domain(F) y = connection point nonterminating orbit(x, f); return triple<N, N, Domain(F)>(distance(x, y, f), distance(f(y), y, f), y); 
}
template<typename F, typename P> requires(Transformation(F) && 
UnaryPredicate(P) && Domain(F) == Domain(P)) triple<DistanceType(F), DistanceType(F), Domain(F)> orbit structure(const Domain(F)& x, F f, P p) 
{ 
//前条件:p(x). f(x)有定义
typedef DistanceType(F) N;Domain(F) y = connection point(x, f, p);N m = distance(x, y, f);N n(0);if (p(y)) n = distance(f(y), y, f);
//终止时:m=h.1∧n=0//否则:m=h∧n=c.1
return triple<N, N, Domain(F)>(m, n, y); 
}

练习2.4请推导出本章各算法中使用不同操作(f,p,相等)的次数的公式.
练习2.5用orbitstructurenonterminatingorbit确定在你所使用的平台上的伪随机数生成器对不同种子值的平均柄规模和环路规模.

相关文章
|
安全 数据安全/隐私保护 Android开发
AVB源码学习(二):Uboot阶段AVB2.0校验流程
AVB源码学习(二):Uboot阶段AVB2.0校验流程
628 0
|
12月前
|
人工智能 Swift 决策智能
社区供稿 | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
在 2024 年 7 月 4 日的 WAIC 科学前沿主论坛上,上海人工智能实验室推出了书生·浦语系列模型的全新版本——InternLM2.5。
|
存储 算法 安全
加密解密AES(证件号、手机号)
加密解密AES(证件号、手机号)
|
Swift
swift 闭包简写实际参数名01等理解
swift 闭包简写实际参数名01等理解
299 0
IT服务生命周期
IT服务生命周期
483 0
|
存储 JSON 网络协议
微服务之consul初体验
consul是google开源的一个使用go语言开发的服务发现、配置管理中心服务。内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。服务部署简单,只有一个可运行的二进制的包。每个节点都需要运行agent,他有两种运行模式server和client。每个数据中心官方建议需要3或5个server节点以保证数据安全,同时保证server-leader的选举能够正确的进行。
362 1
|
存储 NoSQL 数据可视化
MongoDB性能系列最佳实践-Index
MongoDB将会推出一系列介绍MongoDB性能最佳实践的文章,旨在帮助用户在多个关键方面实现规模化性能优化。
MongoDB性能系列最佳实践-Index
|
设计模式 SQL 缓存
Android 单例模式必知必会
一、概念 单例模式是运用最广泛的设计模式之一,在应用这个模式时,单例模式的类必须保证只有一个实例存在。多用于整个程序只需要有一个实例,通常很消耗资源的类,比如线程池,缓存,网络请求,IO操作,访问数据库等。由于类比较耗资源,所以没必要让它构造多个实例,这种就是单例模式比较好的使用场景。
290 0
|
弹性计算 运维 负载均衡
阿里云轻量应用服务器和ECS突发性能t6有什么区别?
阿里云服务器ECS突发性能型t6和轻量应用服务器如何选择?一个限制CPU基准性能,一个100% CPU性能
692 0
阿里云轻量应用服务器和ECS突发性能t6有什么区别?
|
算法 Java 索引
算法必知 --- 归并排序(优化与案例)
算法必知 --- 归并排序(优化与案例)