榨干AI,算法清单

榨干AI,算法清单

https://images.unsplash.com/photo-1676245437659-2a05627080e4?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb

突然想知道AI知道哪些算法,于是我连续问了二十多次。最后可能是因为AI记不住上下文了,开始重复回答。我记录下了收集到的结果,但有很多算法我都没有听过。

这次的prompt很宽,”请帮我梳理一个编程算法的清单,只需要算法名称和用途”。然后不断输入继续。

下次再限定一个领域的,比如一个图像处理方面的算法,辅助制造领域的算法,可能就会有更细致的答案。

排序算法:

  • 快速排序:通过分治法对数组进行排序,时间复杂度O(nlogn)
  • 归并排序:通过分治法对数组进行排序,时间复杂度O(nlogn)
  • 堆排序:通过堆结构对数组进行排序,时间复杂度O(nlogn)

查找算法:

  • 二分查找:对有序数组进行快速查找,时间复杂度O(logn)
  • 哈希表查找:通过哈希函数映射到表中快速查找,时间复杂度O(1)图算法:- 深度优先搜索:从根节点开始深度遍历图
  • 广度优先搜索:从根节点开始宽度遍历图
  • 最短路径算法:寻找图中的最短路径,例如Dijkstra算法、Bellman-Ford算法、Floyd算法等字符串匹配:- KMP算法:快速匹配字符串是否包含子串,时间复杂度O(n)
  • Rabin-Karp算法:通过哈希求子串是否匹配,时间复杂度O(n)

动态规划:

  • 爬楼梯问题:计算不同方法爬到楼顶
  • 背包问题:选择不同物品放入背包达到最大价值
  • 最长公共子序列:找出两个字符串的最长公共子序列

加密算法:

  • MD5算法:对字符串进行加密,通常用来验证数据有效性
  • SHA算法:安全HASH算法,比MD5更安全,分SHA-1、SHA-2等标准
  • AES算法:一种常用的对称加密算法,用来对数据进行加密解密

压缩算法:

  • Huffman编码:根据字符出现频率构建Huffman树,再进行编码压缩,常用于文本文件压缩
  • LZ77算法:通过查找重复串进行压缩,常用于PKZIP、WinRAR等格式
  • JPEG图像压缩:通过DCT变换、量化、熵编码等步骤压缩图像,常用于JPG图片格式

其他常用算法:

  • 贪心算法:通过局部最优解找出全局近似最优解,用于解决一些优化问题
  • K近邻算法:通过训练样本找到与输入最邻近的K个样本,用于分类与回归问题
  • 朴素贝叶斯分类器:基于贝叶斯定理与特征条件独立假设进行分类,用于文本分类与垃圾邮件过滤
  • 随机森林:通过集成多个决策树预测结果,用于分类与回归问题,效果较好
  • PageRank算法:Google搜素引擎用于评估网页权重与排名的算法
  • K-Means算法:一种聚类分析算法,将n个观察值划分为k个聚类,k 是预先指定的聚类数

人工智能领域:

  • α-β剪枝算法:用于游戏对弈的搜索算法,提高搜索效率
  • A*搜索算法:一种启发式搜索算法,用于pathfinding与游戏开发
  • 遗传算法:一种启发式随机搜索算法,适用于求解复杂优化问题
  • 最大熵模型:一种概率模型,用于解决分类与回归问题,理论基础简单但效果较好

区块链与比特币:

  • 椭圆曲线数字签名算法(ECDSA):比特币算法中用于钱包地址生成与交易签名
  • Hashcash算法:一种基于hash的PoW算法,用于抵抗垃圾邮件与DDoS攻击
  • Scrypt算法:一种Key衍生算法,用于比特币钱包密钥生成
  • Ethash算法:以太坊使用的PoW算法实现,目的是ASIC局限性要高

数据挖掘与机器学习:

  • SVM算法:一种二分类算法,通过最大间隔分隔超平面对样本进行分类
  • 决策树:一种流行的分类算法,通过树状结构对样本进行分类
  • 逻辑回归:一种分类算法,通过建立样本与类别之间的logit函数进行分类
  • EM算法:一种聚类算法,通过迭代寻找最大似然估计参数对样本进行聚类
  • AdaBoost算法:一种集成学习算法,通过调整各分类器权重实现提高分类准确率

其他:

  • 梯度下降法:一种最优化算法,通过迭代寻找目标函数的最小值
  • Dijkstra算法:一种最短路径算法,用于找到图中最短路径
  • 拓扑排序:对有向无环图进行排序,使得每个顶点之前的顶点都已经排好序

计算机网络:

  • TCP拥塞控制算法:用于控制TCP连接的传输速率,如Tahoe、Reno、NewReno、BIC、CUBIC等
  • DVSRP算法:一种距离矢量路由算法,用于计算网络各节点之间的最短路径
  • OSPF算法:一种链路状态路由算法,用于构建网络链路拓扑并计算最短路径
  • BGP算法:用于在自治系统之间进行路由选择的算法,实现互联网的路由功能

操作系统:

  • 进程调度算法:用于决定将CPU分配给哪个进程,如FCFS、SJF、LRU、RR等算法
  • 页置换算法:用于决定当内存页满时淘汰哪些页,如FIFO、LRU、OPT等算法
  • 存储碎片整理算法:用于整理碎片化的内存空间,如首次适应算法、最佳适应算法等
  • 磁盘调度算法:用于决定磁盘访问哪些请求,以减少磁头移动距离,如FCFS、SSTF、SCAN等

数据库:

  • B+树:一种自平衡的搜索树,用于索引和索引查找,能实现对数据的高速访问
  • Hash索引:通过Hash函数将键值映射到散列桶中,实现快速查找
  • 聚集索引:通过对表中的某一列建立索引,实现快速查找,但会影响插入和修改性能
  • 非聚集索引:不会按索引列的值对记录进行物理排序,lookup需要二次查找,但插入和修改性能好

组合优化:

  • 分支定界法:通过对问题的解空间进行分支与界定,从而缩小搜索规模,用于求解NP难问题
  • Simulated Annealing算法:一种基于蒙特卡罗方法的启发式算法,用于求解NP难问题
  • Tabu Search算法:一种基于禁忌表的启发式算法,用以逃离局部最优解,求解NP难问题
  • 蚁群算法:一种启发式算法,模拟蚂蚁寻找食物的行为,用于解决复杂优化问题

图片与信号处理:

  • 高斯模糊:通过高斯函数对图像进行平滑处理,消除噪声
  • Sobel算子:一种边缘检测算子,用于检测图像中的水平、垂直和对角边缘
  • Canny算子:一种边缘检测算法,通过高低阈值检测和链接实现平滑的边缘检测
  • DCT变换:一种重要的傅立叶变换,用于图像压缩(JPEG)和视频压缩(MPEG)
  • 小波变换:通过多分辨率分析实现图像压缩、去噪、边缘检测等处理
  • Huffman编码:一种编码压缩算法,用于图像压缩减少文件的大小

数据与图像压缩:

  • 位图图像:像素级的无损图像格式,颜色深度高但文件体积大
  • 向量图:通过几何形状描述图像,边界清晰,无损且体积小,但颜色深度受限
  • JPEG:一种有损压缩图像格式,通过DCT变换、量化与熵编码进行压缩
  • PNG:一种有无损压缩格式,支持alpha通道与动画,无专利限制
  • MPEG:利用动态图像压缩算法,用于视频数据的压缩与解压
  • ZIP:一种文件压缩格式,通过LZ77等算法实现无损数据压缩

语音与音频处理:

  • FFT快速傅立叶变换:将信号转换到频域,实现滤波、频谱分析等处理
  • LPCC线性预测编码:利用人声学原理,提取语音参数用于识别与合成
  • MFCC倒谱系数:基于人耳听觉模型,用于语音特征提取与识别
  • CELP码本激励线性预测:一种语音编码技术,用于数字式语音通信
  • MP3:一种有损音频压缩格式,利用MDCT、量化、Huffman等算法进行高压缩

计算机图形学:

  • 线性代数:向量、矩阵运算的基础,用于坐标变换、投影等
  • 几何变换:平移、旋转、缩放、错切、射影变换等,用于图像变形
  • 视点变换:平行投影、透视投影,用于生成3D场景的2D投影图像
  • 光栅化:将3D图形转换成2D像素点的过程,用于显示器显示
  • 渲染:光照计算、纹理映射、阴影生成等,用于增加真实感
  • 锯齿现象:图像中斜线与曲线显示为锯齿状,需要抗锯齿技术处理
  • 纹理映射:将2D图像贴在3D模型表面,增加真实感
  • 几何建模:多边形、曲面、体积等,用于构建3D场景
  • 光照模型:平行光源、点光源、聚光灯等,模拟光照与ombre效果

人工智能:

  • 线性分类模型:感知器、Logistic回归,用于二分类问题
  • 决策树:通过树形结构实现分类与回归
  • 随机森林:通过集成决策树提高预测性能
  • 贝叶斯分类:基于贝叶斯规则与条件独立性实现分类
  • K-近邻算法:通过训练样本最近邻居进行预测
  • 神经网络:感知机、BP神经网络、CNN、RNN等,用于学习复杂函数映射
  • 聚类分析:K-Means、DBSCAN、层次聚类等,用于无监督学习
  • 强化学习:通过AGENT与环境交互,达到最大化奖励
  • 规划:通过有向无环图与启发函数寻找最佳路径,用于游戏开发等
  • 自然语言处理:词向量、情感分析、词性标注、机器翻译等

其他算法:

  • 演化算法:模拟生物进化过程,用于求解复杂优化问题
  • 细胞自动机:利用规则演化一维或二维细胞空间,用于模拟复杂系统
  • L系统:一种形式语言及其解析软件,用于植物生长模拟
  • VI算法:一种启发式视觉嵌入算法,用于知识表示与推理
  • 块链算法:一种去中心化数据结构,用于构建区块链与加密货币
  • MapReduce算法:一种流行的云计算与大数据处理框架
  • 置信区间算法:用于统计分析与机器学习中计算置信区间
  • EM算法:一种神经网络训练算法,用于最大化模型对观测数据的似然估计
  • 蒙特卡罗算法:一种随机模拟算法,用于求解复杂系统不可解决的确定性问题
  • 拟牛顿法:一种二阶优化算法,通过估计hessian矩阵实现快速收敛
  • 协方差矩阵算法:用于计算随机变量之间的相关性矩阵,应用于统计分析与模式识别
  • 主成分分析:一种降维技术,用于提取数据集中主要信息,实现特征选择与数据压缩
  • 卡尔曼滤波:一种递归估计算法,用于对线性动态系统的状态估计
  • 阻塞算法:用于保证进程或线程访问临界资源的互斥,实现运行时的同步与互斥控制

并行算法:

  • fork/join 并行框架:用于并行计算中任务的拆分与合并
  • MapReduce算法:用于大数据云计算框架中的数据处理与计算
  • GPU并行算法:通过显卡实现矩阵、图形运算的并行加速
  • OpenMP算法:通过多线程实现共享内存系统的并行
  • MPI算法:通过消息传递实现分布式内存系统的并行
  • 股权证券化算法:用于将资产拆分成小份并行出售,实现风险分散

密码学算法:

  • DES/3DES算法:一种对称加密算法,用于信息安全
  • RSA算法:一种非对称加密算法,用于信息安全
  • DSA算法:一种数字签名算法,用于信息安全
  • ECC算法:一种基于椭圆曲线的密码算法,用于信息安全
  • MD5/SHA算法:一种哈希算法,用于信息摘要及校验

网络管理算法:

  • OSPF/BGP算法:用于网络路由选择与路径生成
  • Spanning Tree算法:用于生成网络中的最小生成树,避免网络循环
  • DNS算法:用于域名系统中的域名解析及缓存
  • ARP算法:用于以太网中IP地址到MAC地址的解析
  • DHCP算法:用于动态主机配置协议,实现IP地址的自动配置
  • SNMP算法:用于简单网络管理协议,实现网络设备的管理

机器人算法:

  • 通路规划算法:用于确定机器人从起点到终点的最佳路径,如A*算法
  • 运动控制算法:用于控制机器人各关节的运动,实现规划路径的跟踪
  • 定位算法:用于确定机器人在环境中的相对位置与朝向,如里程计与IMU
  • 环境建模算法:用于机器人感知周围环境,建立环境地图,如SLAM算法
  • 路径跟踪算法:用于控制机器人按规划路径行驶,如PID控制算法
  • 机器视觉算法:用于机器人识别环境中的物体,判断空间信息,如SIFT、HOG

生物信息算法:

  • Smith-Waterman算法:用于生物序列的局部比对,找出最优比对结果
  • Needleman-Wunsch算法:用于生物序列的全局比对,实现序列之间的比对
  • BLAST算法:一种生物序列搜索工具,用于快速在数据库中找出相似序列
  • Clustal算法:一种生物序列的多重比对工具,用于分析进化关系
  • MEGA软件:一种生物进化分析工具,利用距离矩阵实现序列的分类与进化树构建
  • PHYLIP软件:一种生物进化分析工具,实现序列的进化树构建与进化分析

其他算法:

  • ε-NFA算法:一种正则表达式到NFA的转换算法,用于正则表达式的匹配
  • AC自动机算法:一种字符串匹配算法,通过状态机实现多个模式串的快速匹配
  • KMP算法:一种字符串匹配算法,通过部分匹配表实现单模式串的快速匹配
  • 模拟退火算法:一种随机搜索优化算法,通过渐减温度逃离局部最优,寻找全局最优解
  • PSO算法:一种基于群体智能的优化算法,通过个体与群体飞行寻找到达最优位置

数据挖掘算法:

  • Apriori算法:一种频繁项集挖掘算法,用于关联规则学习
  • FP-Growth算法:一种频繁项集挖掘算法,通过FP树实现高效挖掘
  • K-均值算法:一种聚类分析算法,将数据划分为K个簇
  • 主成分分析:一种降维算法,通过特征值分解实现
  • Latent Dirichlet Allocation:一种主题模型算法,用于文本主题挖掘
  • 支持向量机:一种监督学习算法,通过最大间隔分离超平面实现分类与回归
  • 朴素贝叶斯:一种分类算法,基于贝叶斯定理与特征条件独立性假设
  • 决策树:一种分类与回归算法,通过树形结构实现预测
  • 随机森林:一种集成学习算法,通过随机森林实现提高分类与回归性能
  • PageRank算法:一种网页排名算法,用于搜索引擎的网页权重计算

推荐算法:

  • 协同过滤算法:一种推荐算法,通过用户兴趣相似性实现推荐
  • 基于内容的推荐:一种推荐算法,通过内容相似性实现推荐
  • 神经网络推荐:一种推荐算法,通过神经网络学习用户兴趣实现推荐
  • 矩阵分解算法:一种推荐算法,通过矩阵分解获取用户兴趣实现推荐
  • PageRank算法:一种推荐算法,通过网页链接构建兴趣图谱实现推荐
  • K-近邻算法:一种推荐算法,通过用户相似邻居兴趣实现推荐
  • 混合算法:综合多种算法优点,提高推荐性能,如协同过滤+内容推荐。

计算社会学算法:

  • 小世界模型:用于研究人际网络中节点之间的最短路径
  • 群体智能模型:用于模拟个体之间相互作用,产生群体智能
  • 传播模型:用于研究信息在社会网络中的传播,如SI、SIS、SIR模型
  • Barabási-Albert模型:用于生成无标度网络,模拟复杂网络的演化过程
  • Markov model:用于研究状态之间的转移概率,预测网络的演化趋势

计算生物学算法:

  • BLAST算法:一种生物序列搜索工具,用于在数据库中快速查找同源序列
  • Smith-Waterman算法:一种生物序列局部比对算法,用于找出最优比对
  • Needleman-Wunsch算法:一种生物序列全局比对算法,用于序列比对
  • Clustal算法:一种生物序列多重比对算法,用于分析序列的进化关系
  • PHYLIP算法:一种生物序列进化分析软件,用于构建进化树
  • MEGA软件:一种生物序列进化分析软件,用于构建进化树与进化分析
  • DNA序列装配算法:用于 fragment 拼接成完整的 DNA 序列
  • 编码区识别算法:用于识别基因组序列中的编码区、内含子与外显子区间
  • SNPs检测算法:用于检测基因组或替代亚基因组中的单核苷酸变异
  • 马尔科夫链蒙特卡罛算法:用于模拟生物序列的演化过程,重构祖先序列

计算化学算法:

  • 分子力场算法:用于计算分子内各原子间的相互作用力,分析分子结构
  • 分子动力学算法:用于模拟分子在一定温度及时间尺度下的运动轨迹
  • 拓扑优化算法:用于搜索分子的空间构型,找到能量最低的构型
  • 化学反应动力学算法:用于研究化学反应速率与反应机理,预测产物
  • 定量构效关系算法:用于建立化合物结构与性质之间的定量模型
  • 化学信息学算法:用于分析和总结大量化合物数据,发现数据间的关联规律

计算经济学算法:

  • 泰勒规则算法:用于预测量化宏观经济变量的变化趋势,如GDP
  • 随机游走算法:用于模拟金融时间序列的随机变化,预测股价变动
  • CAPM模型:用于计算资产的期望收益率,评估资产定价是否合理
  • 马尔科夫过程:用于预测宏观经济变量之间的转移概率,研究经济周期
  • 向量自回归模型:用于研究多个时间序列变量之间的动态联系,预测趋势
  • 时滞模型:用于研究经济变量之间的动态因果关系,判断变量的先行性
  • 联立方程模型:用于研究宏观经济变量的动态互动机理,判断政策效果
  • 震荡器模型:用于模拟经济变量周期性波动的幅度与频率,研究周期机理
  • 阿隆索效应:用于解释通货膨胀与失业率之间的动态关系,作为政策参考

计算金融学算法:

  • 时间序列模型:AR、MA、ARMA、ARIMA,用于预测金融时间序列的变动趋势
  • GARCH模型:用于预测金融时间序列的波动率,研究金融市场的波动性
  • 随机游走算法:用于模拟股票价格等金融变量的随机变化过程
  • 蒙特卡罗算法:用于对复杂金融工具进行风险分析,当实际模型难以解析时
  • 动态规划算法:用于选择投资组合且最大化投资收益,解决资金配置问题
  • 蚁群算法:用于搜索投资策略空间,找到潜在的最优投资策略
  • 神经网络算法:用于学习金融时间序列的复杂模式,实现金融预测

控制算法:

  • PID控制算法:一种广泛用于工业控制的算法,通过比例、积分、微分控制量实现控制
  • LQR控制算法:一种线性二次型调节算法,用于控制线性系统
  • H∞控制算法:一种 robust 控制算法,可以抑制外部噪声的影响,适用于不确定系统
  • 变结构控制算法:一种非线性控制算法,通过切换不同的控制结构实现控制
  • 自适应控制算法:一种智能控制算法,可以根据系统的变化自动调整控制参数
  • 神经网络控制算法:一种智能控制算法,通过神经网络实现对复杂系统的控制
  • 模糊控制算法:一种智能控制算法,利用模糊逻辑实现对不确定系统的控制
  • 广义预测控制算法:一种先进控制算法,预测不同控制量下的系统响应,选择最优控制输入

信号处理算法:

  • 傅里叶变换:用于将信号从时域转换到频域,实现过滤、频谱分析等
  • 小波变换:一种时频分析工具,用于分析非平稳信号
  • 数字滤波器:用于滤除信号中的噪声与干扰分量,如FIR、IIR滤波器
  • K均值算法:用于对信号进行向量量化,实现数据压缩
  • LPC算法:一种语音分析与合成算法,通过预测谱实现信号处理
  • MFCC算法:一种语音特征分析算法,基于人耳听觉模型
  • 奇异值分解:用于信号分离与降噪,提取信号的主要特征分量
  • 隐马尔科夫模型:用于模拟时间序列信号的生成机制,预测未来信号分量
  • bispectrum分析:用于研究信号的二阶统计特性,分析信号的非线性耦合

图算法:

  • DFS/BFS算法:用于遍历图中的所有节点,实现搜索与路径查找
  • Dijkstra算法:用于查找加权图中的最短路径,解决单源最短路径问题
  • A*算法:一种启发式搜索算法,用于在图中查找从起点到终点的最佳路径
  • Prim算法:用于在加权图中查找最小生成树,解决最小权重生成树问题
  • Kruskal算法:用于在加权图中查找最小生成树,基于割的贪心算法
  • 拓扑排序算法:用于对有向无环图进行排序,按节点间的依赖关系排序
  • 最小割算法:用于在流网络中查找源点到汇点的最小割,实现网络流控制
  • 最大流算法:用于在流网络中查找源点到汇点的最大流,实现网络流分配

图像处理算法:

  • 边缘检测:Sobel、Prewitt、Canny 算法,用于检测图像中的边缘
  • 灰度变换:线性变换、对数变换、伽马变换等,用于修改图像灰度
  • 滤波处理:中值滤波、高通滤波、低通滤波、Butterworth等,用于滤除图像噪声
  • 图像分割:阈值分割、边缘分割、区域生长等,用于分割图像成有意义的区域
  • 图像压缩:JPEG、PNG、GIF等,用于减少图像所占存储空间
  • 图像修复:中值滤波、PDE等,用于修复图像中的小划痕或噪点
  • 特征提取:SIFT、SURF、ORB等,用于从图像中提取有意义的特征
  • 图像配准:通过图像特征匹配不同视角下的图像,用于图像拼接或变化检测
  • 图像识别:通过机器学习对输入图像进行分类或者识别物体

压缩算法:

  • Huffman编码:一种可变字长编码算法,用于实现数据的无损压缩
  • LZ77/LZ78算法:一种词典方法数据压缩算法,通过字符串替换实现压缩
  • DEFLATE算法:一种广泛应用于文件压缩的算法,结合LZ77/Huffman 编码
  • JPEG算法:一种有损图像压缩算法,基于DCT变换与量化实现压缩
  • MP3算法:一种有损音频压缩算法,基于时域与频域工具实现压缩
  • MPEG算法:一种视频压缩算法,用于有损动态图像的高度压缩

加密算法:

  • DES算法:一种对称加密算法,基于分组加密技术,密钥长度为56位
  • 3DES算法:一种对称加密算法,通过三重DES运算增强算法安全强度
  • AES算法:一种对称加密算法,基于分组加密技术,密钥长度为128/192/256位
  • RSA算法:一种非对称加密算法,基于大整数分解实现,用于数字签名与加密
  • ECC算法:一种非对称加密算法,基于椭圆曲线,相比RSA更简单更安全
  • MD5算法:一种不可逆加密算法,产生128位哈希值,用于信息校验
  • SHA算法:一种不可逆加密算法,SHA-1/SHA-2,产生160-512位哈希值

并行算法:

  • 消息传递接口:用于分布式内存系统的进程通信与并行
  • 共享内存:通过多线程访问共享数据,在一台机器上实现并行
  • GPU并行:通过显卡上的多核实现矩阵与图形运算的并行加速
  • MapReduce:用于云计算环境下的大规模数据处理与并行
  • MPI:用于分布式集群中进程间的通信与并行,实现跨机器的并行
  • Pthreads:用于多线程环境下进程内的线程管理与并行
  • OpenMP:用于共享内存系统中多线程的自动并行,通过pragma指令实现