人工智能(英语:Artificial Intelligence,缩写为AI)亦称智械、机器智能,指由人制造出来的机器所表现出来的智能。通常人工智能是指通过普通计算机程序来呈现人类智能的技术。该词也指出研究这样的智能系统是否能够实现,以及如何实现。同时,通过医学、神经科学、机器人学及统计学等的进步,常态预测则认为人类的无数职业也逐渐被其取代。
本文是对人工智能基础的期末复习知识总结。
在下面两篇文章中有本文部分算法的C++实现,有兴趣的话可以选择性阅读。
算法学习—排序、图、回溯(最小冲突、遗传)、动态规划基础算法复习
以罗马尼亚问题为例,学习人工智能DFS/A*搜索算法
排序、动态规划、回溯、图等可以说是必须掌握的基础算法知识了,但发现自己掌握的还很差,知识不成体系,记忆不牢固,理解不深入,所以再来一次梳理,按排序、图、回溯(最小冲突、遗传)、动态规划的顺序依次学习并实现。
主要参考«算法导论»(Introduction of Algorithm[Third Edition])和维基百科。
其中排序是10000~100000个随机数的排序,图算法大多以Romania Problem为例,回溯法用来解决了一个著名八皇后问题,这里当作CSP问题来处理就同时使用了Min-Conflicts和Genetic Algorithm(GA),动态规划解决TSP旅行商问题。
赶上操作系统快要结课,Linux的VFS看样是不会讲了,限于时间没法系统地学习 Linux Kernel ,只能和大家做一个简单的分享。之前已经学习了Linux的启动过程,本文承接上文,可以从一个更底层的角度观察一下Linux的文件系统。
MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The
MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C、C++、Java、Python和FORTRAN)编写的程序。
尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。另外还有一个配套软件包Simulink,提供一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。
From Wikipedia
另外,Matlab在上世纪七十年代前由Fortran编写,后来用C改写。
Linux 发行版(英语:Linux distribution,也被叫做GNU/Linux 发行版),为一般用户预先集成好的Linux操作系统及各种应用软件。一般用户不需要重新编译,在直接安装之后,只需要小幅度更改设置就可以使用,通常以软件包管理系统来进行应用软件的管理。Linux发行版通常包含了包括桌面环境、办公包、媒体播放器、数据库等应用软件。这些操作系统通常由Linux内核、以及来自GNU计划的大量的函数库,和基于X Window的图形界面。有些发行版考虑到容量大小而没有预装 X Window,而使用更加轻量级的软件,如:busybox, uclibc 或 dietlibc。现在有超过300个Linux发行版(Linux发行版列表)。大部分都正处于活跃的开发中,不断地改进。
由于大多数软件包是自由软件和开源软件,所以Linux发行版的形式多种多样——从功能齐全的桌面系统以及服务器系统到小型系统(通常在嵌入式设备,或者启动软盘)。除了一些定制软件(如安装和配置工具),发行版通常只是将特定的应用软件安装在一堆函数库和内核上,以满足特定用户的需求。
这些发行版可以分为商业发行版,比如Ubuntu(Canonical公司)、Fedora(Red Hat)、openSUSE(Novell)和Mandriva Linux;和社区发行版,它们由自由软件社区提供支持,如Debian和Gentoo;也有发行版既不是商业发行版也不是社区发行版,如Slackware。
Update your browser to view this website correctly. Update my browser now