RUST 中Craig Reynolds植绒算法的实现
2022-06-11 14:03:38 18KB rust 算法
Paxakos 是基于 Leslie Lamport 的Paxos的分布式共识算法的纯 Rust 实现。它使分布式系统能够一致地修改其网络中的共享状态,即使在出现故障的情况下也是如此 为了使用 Paxakos,需要实现特征 [ LogEntry]、[ State]、[ NodeInfo] 和Communicator。前两个描述了将在网络上复制的状态以及可用的操作。后者描述了网络中的节点以及它们之间的通信方式。 下面是和的两个部分实现。其他两个特征比较抽象,这里不再赘述。请参阅示例以获得更全面的信息
2022-06-11 14:03:37 171KB rust 算法
通用 CRC 算法的纯 Rust 实现 支持的算法 CRC-3/GSM,CRC-3/ROHC,CRC-4/G-704,CRC-4/INTERLAKEN,CRC-5/EPC-C1G2,CRC-5/G-704,CRC-5/USB,CRC-6/CDMA2000-A, CRC-6/CDMA2000-B,CRC-6/DARC,CRC-6/G-704,CRC-6/GSM,CRC-7/MMC,CRC-7/ROHC,CRC-7/UMTS,CRC-8/AUTOSAR, CRC-8/BLUETOOTH,CRC-8/CDMA2000,CRC-8/DARC,CRC-8/DVB-S2,CRC-8/GSM-A,CRC-8/GSM-B,CRC-8/I-432-1, CRC-8/I-CODE,CRC-8/LTE,CRC-8/MAXIM-DOW,CRC-8/NRSC-5,CRC-8/OPENSAFETY,CRC-8/ROHC,CRC-8/SAE-J1850, CRC-8/SMBUS,CRC-8/TECH-3250,CRC-8/WCDMA,CRC-10/ATM,CRC-10/CDMA2000,CRC
2022-06-11 14:03:36 13KB rust 算法
Paul Bourke提出的 Delaunay 三角剖分算法的 Rust 实现 。 这是为了更好地习惯 Rust 而开发的。据我所知,它有效,但可能无效。此外,这是一个 O(n 1.5 ) (近似)算法,它没有并行化,并且根本不使用 GPU。
2022-06-11 14:03:36 9KB rust 算法
这是一个模拟,它使用人工智能(具体来说:遗传算法)来尝试制造越来越好的车辆。车辆必须克服障碍,从一些小山坡开始,然后是更陡峭的山坡,最后是一些跳跃。车辆由面板和轮子制成,连接在一起,类似于游戏围攻,除了 2D。 传算法 快速了解它的工作原理: 车辆数量最初是随机生成的。 模拟在所有车辆上运行。车辆越过障碍路线,其适应度就越高。如果车辆没有离开起始区域,它的适应度为 0。如果车辆一直到达终点线,它的适应度约为 14000。如果车辆分崩离析,则将其适应度除以 10,对其进行惩罚;车辆应尽量保持完好。此外,还设置了一个计时器,因此车辆只有一定的时间才能到达终点线。 这些车辆经历了交叉和变异的过程,更适合的车辆被用作父母的机会更高。该程序使用锦标赛选择来选择父母,并使用单点交叉从两个父母产生后代(这意味着,给定两个父母车辆 A 和 B,A 的左侧与右侧B,反之亦然,创建两辆新车)。此外,块是统一变异的(这意味着块被随机挑选并更改为空气、面板或轮子)。结果是新的车辆数量,进入了新一代。 转到第 2 步。无限重复。 理想情况下,在足够频繁地重复这些步骤之后,人群的适应度应该会提高,并且许多车辆
2022-06-11 14:03:35 1.99MB 算法 rust
Rust 像素绘图算法
2022-06-11 14:03:35 7KB rust 算法
AlphaZero 的 Rust 实现 这个 repo 是一个由多个 crate 和二进制文件组成的货物工作空间: synthesis: 包含所有主要训练和 MCTS 逻辑的主库 crate study-connect4: 使用综合库训练网络玩 Connect4 的二进制 crate base65536: 一个小箱子,用于将 u8 编码/解码为有效的 utf-8 字符串 slimnn: 一个纯锈的小型神经网络板条箱 export: 一个将pytorch权重保存为slimnn可以理解的格式的二进制包 实施了什么 与 tch-rs [1] 包集成以在 rust 中支持 pytorch 支持标准推出方法以及使用 NN 代替推出的通用 MCTS 实现 包括 MCTS 求解器 [2] 包括 FPU [3] 一个使用 MCTS+NN 收集经验并训练策略和价值函数的 AlphaZero [4] 学习器 支持多个价值目标 所有超参数暴露 多线程支持! 针对具有各种探索次数的标准部署 mct 进行轻量级评估 将游戏结果保存到 pgn 文件 运行 bayeselo [
2022-06-11 14:03:31 44KB rust 算法
此存储库包含以下 crate: oqs-sys- 低级 FFI 绑定liboqs。 oqs- 更高级别的 Rust 表示。 oqs-kex-rpc- JSON-RPC 2.0 服务器和客户端通过oqs. mullvad-wg-establish-psk- 用于通过wireguard 隧道协商wireguard 兼容的预共享密钥的服务器和客户端程序。此密钥稍后可用于将隧道升级为后量子安全。
2022-06-11 14:03:31 40KB rust 算法
基于 Sublime Text 的字符串搜索的模糊匹配算法。遍历搜索字符串的字符并计算分数。 分数基于几个因素: Word 开头像tin some_thingget a bonus ( bonus_word_start) 连续比赛每场连续比赛获得累积奖金(bonus_consecutive) 在不区分大小写的搜索中,匹配大小写(T->T而不是t-> )的匹配将获得奖励( )Tbonus_match_case 两场比赛之间的距离将乘以penalty_distance罚分并从得分中减去 默认评分被配置为给予单词开头很大的权重。所以一个模式scc将匹配 S occer Cartoon Controller ,而不是S o cc erCartoonController。
2022-06-11 14:03:30 17KB rust 算法
sts_map_oracle 来自 Slay the Spire 的地图生成算法的完美副本 用法 在控制台中打印给定种子的地图布局: sts_map_oracle.exe --seed 673465884448 以 JSON 格式将地图保存在给定目录中: sts_map_oracle.exe --seed 673465884448 --path C:\maps\
2022-06-11 14:03:29 12KB rust 算法