使用rust-libp2p作为网络层的 PBFT 共识算法的实现
2022-06-12 14:05:26 34KB rust 算法
分别在RFC 6238和RFC 4226中指定的基于时间的一次性密码 (TOTP) 和基于 HMAC 的一次性密码算法的简单 Rust 实现。 用法 从 rustotp_cli crate 构建命令行客户端: $ cd rustotp_cli $ cargo build 从密钥生成单个 OTP: $ ./target/debug/rustotp_cli 42 663792 或者,启动一个交互式会话,在每个时间步都会生成一个新的 OTP,并带有可视进度条: $ ./target/debug/rustotp_cli 42 --timestep=5 --interactive 495515 ##### ##### 783920 ##### ##### 484936 ##### ####
2022-06-12 14:05:25 10KB 算法 rust
PQ-Grams 是一种有效评估树结构/内容相似性的方法,用于可以抽象为嵌套(标签、儿童)对的树结构。鉴于此前提,单个 PQ-Gram 是前 P 个祖先标签(包括当前节点)和下一个 Q 子标签。PQ-Gram 配置文件是一棵树中所有 PQ-Gram 的集合,包括填充每个子集的左侧和右侧的“填充器”节点,以及祖先树的顶部。 然后可以将这些 PQ-Gram 与 NLP 中的 n-Gram 或 shingles 类似地使用,通过集合并集和集合差异度量来评估树之间的相似性。最初的用法是执行类似集合差分的操作来计算近似的树编辑距离。
2022-06-12 14:05:24 10KB 算法 rust
以纯 Rust 实现的 rijndael-cbc 加密和解密算法(支持零填充或 pkcs7)
2022-06-12 14:05:24 26KB 算法 rust
Rust 中的中文分词算法 MMSEG
2022-06-12 14:05:23 467KB 算法 rust
Rust 中的 Fastq 配对算法 尝试对不同的 fastq 配对方法进行基准测试,以确定内存和运行时之间的权衡。 方法 描述 资源 存储读取 迭代 R1 并存储。迭代 R2 并写出。 两者兼而有之 同时遍历 R1/R2。找到成对的写入/弹出哈希图。 寻读 将标头散列到字节位置。迭代 R2 并寻找 R1 写出对。 Seek-Iter-Both 遍历 R1/R2 存储字节位置。查找/写入/弹出哈希图作为对。
2022-06-12 14:05:23 17KB 算法 rust
该库使用进化算法 ( EA ) 自动进化群体中每个个体的人工神经网络的拓扑结构。 进化算法属于进化计算研究领域,涉及受生物进化过程和机制启发的计算方法。达尔文提出了通过自然选择(通过修改下降)的进化过程,以说明生命的多样性及其对环境的适应性(适应性适应)。进化机制描述了进化是如何通过遗传物质(蛋白质)的修饰和繁殖实际发生的。进化算法关注的是研究类似于进化过程和机制的简化版本的计算系统,以实现这些过程和机制的效果,即自适应系统的发展。属于进化计算领域的其他学科领域是寻求利用种群遗传学、种群生态学、协同进化生物学和发育生物学相关领域的属性的算法。--聪明的算法.com 人工神经网络的特征在于它们的结构(拓扑)和它们的参数(包括连接的权重)。因此,当为给定问题开发 ANN 时,需要考虑两个方面: 网络的结构(或拓扑)应该是什么? 给定神经网络的结构,其参数的最佳值是多少? EANT2,Evolutionary Acquisition of Neural Topologies,是一种进化强化学习系统,适合通过交互来学习和适应环境。它结合了神经网络、强化学习和进化方法的原理。
2022-06-12 14:05:22 22.55MB 算法 rust
序列比对与 A* 示例 这是使用 A* 路径查找来加速动态规划算法的示例,在本例中是序列比对问题,Levenshtein 距离是其中的一个特定实例。 O(n * e^2)与标准的 Levenshtein 距离算法不同,它运行的时间类似于n输入长度和e编辑距离的时间。它通过使用像 A* 这样的启发式算法来仅探索沿网格对角线的有希望的状态,而不是整个O(n^2)网格。 对于具有少量编辑的大文件,它比O(n^2)它所基于的简单动态编程算法要快得多,但仍然比专门的和高度优化的全局序列比对程序(如Edlib )慢得多。不同之处在于我在两个小时内编写了这个,它有 150 行代码,包括测试、调试例程和示例。 它是用 Rust 编写的,包含两个示例程序: seqalign:读取 FASTA 格式的基因序列文件并打印对齐距离。 seqalign_plain:读取两个纯文本文件并打印对齐距离。
2022-06-12 14:05:21 5KB 算法 rust
国际象棋-极小极大 这是一个用 Rust 编写的国际象棋机器人,使用带有基本 alpha beta 修剪的 minimax 算法。 注意:此分支尚未完成。它正在重写原始项目,以拥有更清洁且希望更快的代码。一项修改是它允许在运行时作为双方播放,而不是让它成为编译时标志。 终端 如果你想完全控制,终端接口是最好的选择。它允许您使用命令来改变棋盘,即使是以不公平的方式,并获得有趣的信息,如技术分数和所有可能的动作。
2022-06-12 14:05:21 42KB 算法 rust
zw-快速分位数 Rust 中的快速近似分位数算法 这个库中有两种实现:FixedSizeEpsilonSummary一种是预先知道流的大小,另UnboundEpsilonSummary一种是用于未知大小的流。您可以调整epsilon自己的错误率以在空间和准确性之间进行权衡。
2022-06-12 14:05:20 18KB 算法 rust