BeautifulAlgorithms.jlConcise and beautiful algorithms written in Julia

联合创作 · 2023-09-26 01:19

BeautifulAlgorithms.jl


codecov


Concise algorithms written in Julia and formatted with Carbon.


Algorithms for machine learning, optimization, reinforcement learning, online planning, decision making under uncertainty, and sorting. All implementations are working and self-contained; refer to the test cases.



Note, these are primarily for academic purposes and are not designed for real-world usage. There are many other Julia packages that implement more sound versons of these algorithms.




] add http://github.com/mossr/BeautifulAlgorithms.jl



Note: Algorithms are modified from their original sources.


Gradient descent


Percy Liang and Dorsa Sadigh, Artificial Intelligence: Principles and Techniques, Stanford University, 2019.



Stochastic gradient descent


Percy Liang and Dorsa Sadigh, Artificial Intelligence: Principles and Techniques, Stanford University, 2019.



Two-layer neural network



Two-layer neural network (one-liner)


Multi-layer neural network



Loss functions



Distance functions



Nearest neighbor



K-nearest neighbors



K-means clustering


Percy Liang and Dorsa Sadigh, Artificial Intelligence: Principles and Techniques, Stanford University, 2019.



The EM algorithm


Andrew Ng, Mixtures of Gaussians and the EM algorithm, Stanford University, 2020.1



Linear regression


Mykel J. Kochenderfer and Tim A. Wheeler, Algorithms for Optimization, MIT Press, 2019.



Radial basis regression


Mykel J. Kochenderfer and Tim A. Wheeler, Algorithms for Optimization, MIT Press, 2019.



Cross-entropy method


Mykel J. Kochenderfer and Tim A. Wheeler, Algorithms for Optimization, MIT Press, 2019.



Finite difference methods


Mykel J. Kochenderfer and Tim A. Wheeler, Algorithms for Optimization, MIT Press, 2019.



Simulated annealing


Mykel J. Kochenderfer and Tim A. Wheeler, Algorithms for Optimization, MIT Press, 2019.



Twiddle


Sebatian Thurn, Artificial Intelligence for Robotics, Udacity, 2012.



Newton's method


John Wallis, A Treatise of Algebra both Historical and Practical, 1685.



Gaussian process


Mykel J. Kochenderfer and Tim A. Wheeler, Algorithms for Optimization, MIT Press, 2019.



Gaussian process kernels



Thompson sampling


Daniel J. Russo, Benjamin Van Roy, Abbas Kazerouni, Ian Osband, and Zheng Wen, A Tutorial on Thompson Sampling, arXiv:1707.02038, 2020.



Particle filter


Mykel J. Kochenderfer, Tim A. Wheeler, and Kyle H. Wray, Algorithms for Decision Making, Preprint.



Value iteration


Mykel J. Kochenderfer, Tim A. Wheeler, and Kyle H. Wray, Algorithms for Decision Making, Preprint.



Branch and bound


Mykel J. Kochenderfer, Tim A. Wheeler, and Kyle H. Wray, Algorithms for Decision Making, Preprint.



Monte Carlo tree search


Mykel J. Kochenderfer, Tim A. Wheeler, and Kyle H. Wray, Algorithms for Decision Making, Preprint.



Huffman coding


David A. Huffman, A Method for the Construction of Minimum-Redundancy Codes, IEEE, 1952.



Hailstone sequence (Collatz conjecture)



Bubble sort


Karey Shi, Design and Analysis of Algorithms, Stanford University, 2020.



Merge sort


Karey Shi, Design and Analysis of Algorithms, Stanford University, 2020.



Insertion sort


Karey Shi, Design and Analysis of Algorithms, Stanford University, 2020.



Bogo sort



Bogo sort (one-liner)


Quine


Nathan Daly, Julia Discord, 2019.2





Written by Robert Moss.

浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报