数学/物理知识在软件/算法中应用(1),数学知识应用

> 数学知识

1.拉普拉斯算子可以给图像锐化;2.傅里叶变化可以给图像去燥啊,压缩啊,提取特征那些吧。

3.高斯模糊;4.RSA,大数难分解;5.了解矩阵,Android开发之图像处理那点事——变换。

三阶贝塞尔曲线,矩阵运算;AES,移位运算;

图像处理常用边缘检测算子总结- https://blog.csdn.net/icamera0/article/details/50521442
 Sobel算子,Isotropic Sobel算子,Roberts算子,Prewitt算子,Laplacian算子,Canny算子

傅立叶变换的物理意义- https://blog.csdn.net/icamera0/article/details/50521444
  傅立叶变换是数字信号处理领域一种很重要的算法。要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义。傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和相位。
  傅里叶变换在物理学、数论、组合数学、信号处理、概率、统计、密码学、声学、光学等领域都有着广泛的应用。
  从纯粹的数学意义上看,傅立叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅立叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅立叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅立叶逆变换是将图像的频率分布函数变换为灰度分布函数

>  数学/物理知识在软件/算法中应用

数学/物理在软件或在算法中运用?数学建模与算法设计?

树遍历、排序、算法分析、矩阵操作等计算机科学主题。
机器学习翻译和Google翻译算法- http://geek.csdn.net/news/detail/231271

计算机图形学,GPU/CPU

让 IjkPlayer 支持插入自定义的 GPU 滤镜?

【《Real-Time Rendering 3rd》 提炼总结】(六) 第七章 · 高级着色:BRDF及相关技术- http://blog.csdn.net/poem_qianmo/article/details/75943714

[OpenGL]矩阵乘法引发的血案- http://blog.csdn.net/martin20150405/article/details/61617049  http://blog.csdn.net/martin20150405?viewmode=contents

-- 贝塞尔曲线:
  在数学的数值分析领域中,贝塞尔曲线(英语:Bézier curve,亦作“贝塞尔”)是计算机图形学中相当重要的参数曲线。更高维度的广泛化贝塞尔曲线就称作贝兹曲面,其中贝兹三角是一种特殊的实例。
  贝塞尔曲线于1962年,由法国工程师皮埃尔·贝兹(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计。贝塞尔曲线最初由保尔·德·卡斯特里奥于1959年运用德卡斯特里奥算法开发,以稳定数值的方法求出贝塞尔曲线。

-- 谈谈工科学生如何学习数学- https://blog.csdn.net/shangzwz/article/details/37599041
  缺乏数学的帮助会使得学生们的研究缺乏思路和工具,缺乏捕捉问题的敏感性,缺乏抽取问题本质的能力,缺乏处理问题的技巧和方法。对数学的兴趣需要发掘、引导和培养。教过的高等数学等课程外,可以读一点实分析和近世代数的入门知识。了解一点关于集合、测度、连续统、Lebesgue积分,以及初等数论、群这些基本概念。
  在50年代莫斯科大学组织了一批顶级的数学家写了数学普及名著“数学――它的内容、方法和意义”。直到现在,世界范围内的科学工作者中许多人都曾经或正在从该书获得入门知识。
  当今的科技创新,其主要支撑点是技术创新――方法、工艺、条件和工具的创新。

--   纯数学和应用数学。纯数学研究数量(Quantity)、结构(Structure)、空间(Space)、变化(Change),使用各种符号找寻规律,将各种猜想形式化,并证明其真伪。数学的基础包括了:数理逻辑、集合论、范畴论、计算理论。数量主要就是数字系统的建立,结构涉及组合、数论、图论、群论、代数等,空间涉及几何、差分几何、拓扑等,变化则是微积分、差分等式、分析。而应用数学则是研究数学问题的解答,于是也可以看作是计算数学,涉及了概率论、统计、密码学、优化、数学经济/物理/化学/生物等。
  代数乃至数学中最重要的两个活动:一是定义概念后用等式表示属性(变量)间关系,从而深入了解表示这个概念的数学对象;二是有了概念之后,为其设计计算过程,通常用于解决一个问题。两者都需要证明,前者证明等式所表达关系的正确性,而后者则证明计算过程的正确性。计算过程可以使用前者找到的规律来简化。
  数学家一般是如何解决问题的呢?首先,我们会从一些公理(Axiom)和定义(Definition)出发,提出猜想和假设(Conjecture),通过中间过渡的引理(Lemma)和命题(Proposition),推导出定理(Theorem),再由此引申出一些推论(Corollary)。最需要留意的其实不是主体,而是条件(Condition)和假设(Assumption)。
  纯数学是描述性语言,描述这个世界背后的规律,而程序、算法、计算则可看作应用数学,是过程化语言。证明是纯数学的核心,那么代码(或者算法)就是计算的核心。如果将符号推导与代码做类比的话,那我们是不是可以将证明中的解释语句比作代码中的注释呢?如果这样比较还说得通的话,那是不是可以这样想:连绝顶聪明的数学家都主张在符号中加一些语句,使整个证明更加清楚,那我们普普通通的程序员不应该清清楚楚地写好注释吗,而不是一味的追求代码的自解释。

对其谈到的程序员值得学习的数学分类又补充了一些:
 1.数理逻辑(Mathematical Logic):在知乎一个帖子中看到逻辑分为计算机科学、数学、哲学三个方向,那么我们作为程序员最应该关注的就是离散数学或计算理论中的数理逻辑。
 2.欧氏几何(Euclidean Geometry):经典的欧几里德几何展现了如何从最基本的几条公理,推导出一个系统,与我们构建系统的过程如出一辙。
 3.抽象代数(Abstract Algebra):单从最通用的编程,而非AI、机器学习等专项来说,抽象代数可能是最贴合编程思想的。将数据抽象成抽象结构,再实现操作。重点关注Group Theory、Category Theory等。
 4.数论(Number Theory):数字是一切的基础,而数论就是研究数字中的奥秘。
 5.微积分(Calculus):无所不在的微积分研究万物的变化和累积,对理解算法随输入数据变化的性能变化很有帮助。
 6.概率论(Probability Theory):对现实世界问题的分析离不开概率论,同样对算法行为的分析至为重要。
 7.线性代数(Linear Algebra)
 8.统计学(Statistics)
 9.信息论(Information Theory)

  学校里学的都是连续数学,而我们需要的则是离散数学,关注整数。对程序员来说,最重要的数学分支是概率论,它是你在学校学完算数后最应该立刻学的东西。当你在想有多少种或多大几率时(即计数和计算概率),都是概率问题。此外,还有统计、线性代数、逻辑、信息论也都是对编程很有用的数学分支。
  一些重要的数学分支,那如何学呢?要广度优先,而不是深度优先。就像图和递归算法里的BFS策略一样,每一门都“浅尝辄止”:忘掉具体的算法和证明,了解它的名字、用处、有什么限制、谁在什么情况下发明的、大概是计算什么的。这里作者用了一个很妙的比喻,将程序员学习数学的方式想象成是数学专业的文科学位。数学最排外的部分可能就是它抽象的符号化。能够写一些“数学味”比较浓重的代码了,比如神经网络、基因算法、贝叶斯分类器、聚类算法、图像匹配等等非常酷的东西。你会发现那些数学符号其实是在让事情变简单而不是让你冒冷汗,就像一段优雅的代码一样。不了解语法语义时可能摸不着头脑,熟悉之后就能看出其简洁和美妙。

> 贝塞尔曲线

QQ小红点,仿真翻书效果;天气预报气温变化的平滑折线图;
Android 贝塞尔曲线解析- http://blog.csdn.net/u012124438/article/details/75949057

自定义View_利用贝塞尔曲线实现跳跃的小球- https://github.com/SuperKotlin/PointLoadingView

仿百度外卖的酷炫水波纹效果(贝塞尔曲线)- https://mp.weixin.qq.com/s?__biz=MzIwMzYwMTk1NA==&mid=2247485954&idx=1&sn=7183334de913cb70e15b40fa276af03b&chksm=96cdab4fa1ba2259d8f835861d2b55c669fbbb4ffda81f4fa1db48b630b67f0653baade80f1f&mpshare=1&scene=23&srcid=0726CGlhy57ZpSwWC2yMn0U2#rd
https://github.com/GcsSloop/AndroidNote/tree/master/CustomView
http://blog.csdn.net/u011507982/article/details/53414422

Android自定义View——实现水波纹效果类似剩余流量球- http://blog.csdn.net/a_zhon/article/details/77842615
自定义View之实现日出日落太阳动效- http://blog.csdn.net/zoujian1990520/article/details/77862495
你也可以自己写一个可爱 & 小资风格的Android加载等待自定义View- http://blog.csdn.net/carson_ho/article/details/77712072
https://github.com/Carson-Ho/Kawaii_LoadingView

微分/积分在金融/股票中运用。

> 研究图形学厉害的学校

 清华胡事民,北航陈小武,中科大刘利刚。北航虚拟现实实验室。
 交大杨旭波老师的实验室也有比较多的研究,而且和游戏相关的挺多的。
 图形学除了浙大的话只有中科大了,最近他们的3D打印研究比较出名。
 港大的王文平、魏立一、俞益州组,其中王文平老师做几何,魏立一老师做采样,俞益州老师做视频(图形、CV、DIP的交叉);在各自的领域内都是首屈一指的了。
 港中文的黄田津老师做卡通渲染,也是图形、DIP、CV的交叉学科;贾佳亚老师做CV比较多,是大牛了。
 港科大的Pedro Sander、戴秋兰老师也比较有名,其中Pedro老师做GPU和渲染;戴做几何和人机交互;CV的话有Chi-Keung Tang和权龙老师,也是蛮出名的。 港城大的付洪波老师,做得比较多,视频、人机交互、几何都涉及一些。
 台湾国立大学陈炳宇老师的组也蛮不错,做图形和人机交互的交叉。

 

成不了AI高手?因为你根本不懂数据(最实用统计学)- http://blog.csdn.net/wemedia/details.html?id=41788

如何瞬间找到视频中的目标片段?这篇顶级论文帮你详解CDC网络如何实现视频的精准定位- http://blog.csdn.net/wemedia/details.html?id=41857

贝叶斯方法

码农不识贝叶斯,虽知数据也枉然- http://blog.csdn.net/wireless_com/article/details/76756350
贝叶斯定理的概率
贝叶斯方法:各种预测、决策、推断、分类、检测、排序等诸多问题
* Gamma分布,指数随机变量的推广 
* 威沙特分布 ,是所有半正定矩阵的分布,是一个协方差矩阵的适当的先验。 
* Beta分布,随机变量定义在0到1之间,使其成为概率和比例的热门选择。 
* 幂律分布,满足公司规模和公司数量之间的关系
如果事物之间的关系能够用一条链串起来,形成了贝叶斯网络的一个特例——马尔可夫链.

数学之美--平凡而又神奇的贝叶斯方法(一)- http://blog.csdn.net/kezunhai/article/category/1399744

--------------------------------------------

  亚马逊推荐系统,就是基于物品的协同过滤算法,也就是ItemCF算法的发明时间.在协同过滤、推荐系统和个性化未来发展.
反垃圾、反作弊.
  统计语言模型。所谓的统计语言模型,它是一个马尔可夫链的概念,以一个词一个词为单位,就看在你的文章中出现这个词的概率有多少。新的样本中如果也出现这个词,就把这个概率用进去,他把两个词的短语或者三个词的短语做成一个单位,把这个概率也算出来,到时候,当新的样本里出现了两个字的短语或者三个字的短语的时候,就把这个概率用进去。各种方式都有,看你的训练样本的复杂度来决定。
  以“NLP(自然语言处理)在eBay的技术实践”为题做了主题分享,主要涵盖的应用包含:搜索(Search)、分类器(Classifiers)、命名实体识别(Name Entity Recognition)、机器翻译(Machine Translation)等。
 搜索是由自然语言处理作为技术支撑的。

 

ROCm:AMD系开源HPC/超规模GPU计算/深度学习平台- https://github.com/ROCmSoftwarePlatform/MIOpen


> 开发了Map Reduce和Big Table的Google技术大牛Jeff Dean
谷歌大牛 Jeff Dean 是如何成为互联网战神的- http://blog.csdn.net/leonzhouwei/article/details/11554391
Just Works的力量,Google科学家Jeff Dean斯坦福大学演讲的启示- http://www.csdn.net/article/2013-04-15/2814899
谷歌大神Jeff Dean对话Talking Machine:我们要推动机器学习再上一层楼- http://mini.eastday.com/a/170706135701549-3.html
Google首席科学家谈Google是怎么做深度学习的- https://www.huxiu.com/article/143219/1.html?f=wangzhan

 

>   正态分布和概率论:取20%的概率,取随机种子;如0~100的范围,取40-60的范围,如0~1000,取400-600的范围,
取的范围越大(100W),估计概率更接近20%。
 int a = (int) (Math.random() * 1000);if(a>=400 && a<=600){}
 float a=(float) (Math.random()*100);if(a>=40 && a<=60){}

Random random = new Random(); int s = random.nextInt(max)%(max-min+1) + min;
double num = (int)(rand.nextDouble()*100) / 100.0; //0.99 范围[0,1)

  每次统计20%的不固定用户。
JAVA 生成随机数,并根据概率、比率- http://blog.csdn.net/a9529lty/article/details/7464630

--------------------------------

帧差法实现的视屏前景提取- http://download.csdn.net/download/qq_25561553/9982468
滤波反投影算法- http://download.csdn.net/download/qq_33346505/9980927
混合高斯模糊算法提取视频前景图- http://download.csdn.net/download/weixin_39089928/9982505

 

> 滤波器的实现 ,巴特沃斯滤波器
重力加速计低通滤波算法— http://blog.csdn.net/yangz_xx/article/details/24784619
public void onSensorChanged(SensorEvent event)  
    {  
         // alpha 由 t / (t + dT)得到  
         // t为滤波器时间常量,为传感器单次采样时间  
         // dT为采样频率  
  
         final float alpha = 0.8;  
  
         gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0];  
         gravity[1] = alpha * gravity[1] + (1 - alpha) * event.values[1];  
         gravity[2] = alpha * gravity[2] + (1 - alpha) * event.values[2];  
  
         linear_acceleration[0] = event.values[0] - gravity[0];  
         linear_acceleration[1] = event.values[1] - gravity[1];  
         linear_acceleration[2] = event.values[2] - gravity[2];  
    }  

高通滤波算法,C++ 高通滤波器实现边缘增强- http://blog.csdn.net/u011731135/article/details/52541199
Kalman滤波器,卡尔曼滤波算法- http://blog.csdn.net/xiahouzuoxin/article/details/39582483

十大滤波算法程序大全- http://www.yunti.io/forum.php?mod=viewthread&tid=401
1、限幅滤波法(又称程序判断滤波法)
2、中位值滤波法
3、算术平均滤波法
4、递推平均滤波法(又称滑动平均滤波法)
5、中位值平均滤波法(又称防脉冲干扰平均滤波法)
6、限幅平均滤波法
7、一阶滞后滤波法
8、加权递推平均滤波法
9、消抖滤波法
10、限幅消抖滤波法
11、新增加 卡尔曼滤波 ( 非扩展卡尔曼 )

 一般情况下,加速度计已足够应付对设备移动情况的监测。几乎所有 Android 平台的手持和桌面终端都带有加速度计,它的能耗比其它运动传感器要少10倍。 不过它有一个缺点,就是你不得不实现低通和高通滤波器,以消除重力影响并减少噪声数据。
 ANdroid SDK加速度传感器的使用方法demo- http://developer.android.com/resources/samples/AccelerometerPlay/index.html

> 自从Roy Fielding博士在2000年他的博士论文中提出REST(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重的SOAP,成为Web API的标准了。

软件架构模式REST- http://zh.wikipedia.org/wiki/REST

> 算法

颜色量化算法?

> 所谓递归回溯,本质上是一种枚举法。递归回溯是本算法的核心.
解决八皇后问题(递归回溯),可以分为两个层面:
1.找出第一种正确摆放方式,也就是深度优先遍历。
2.找出全部的正确摆放方式,也就是广度优先遍历。

你可能感兴趣的:(个人随笔,知识体系/,技能)