博文
[置顶] 21世纪七大数学难题(2007-03-28 12:28:00)
摘要:
21世纪七大数学难题
来源:青少年宫在线 发布时间:2006-06-29
“千僖难题”之一:P(多项式算法)问题对NP(非多项式算法)问题
在一个周六的晚上,你参加了一个盛大的晚会。由于感到局促不安,你想知道这一大厅中是否有你已经认识的人。你的主人向你提议说,你一定认识那位正在甜点盘附近角落的女士罗丝。不费一秒钟,你就能向那里扫视,并且发现你的主人是正确的。然而,如果没有这样的暗示,你就必须环顾整个大厅,一个个地审视每一个人,看是否有你认识的人。生成问题的一个解通常比验证一个给定的解时间花费要多得多。这是这种一般现象的一个例子。与此类似的是,如果某人告诉你,数13,717,421可以写成两个较小的数的乘积,你可能不知道是否应该相信他,但是如果他告诉你它可以因子分解为3607乘上3803,那么你就可以用一个袖珍计算器容易验证这是对的。不管我们编写程序是否灵巧,判定一个答案是可以很快利用内部知识来验证,还是没有这样的提示而需要花费大量时间来求解,被看作逻辑和计算机科学中最突出的问题之一。它是斯蒂文?考克(StephenCook)于1971年陈述的。
“千僖难题”之二: 霍奇(Hodge)猜想
二十世纪的数学家们发现了研究复杂对象的形状的强有力的办法。基本想法是问在怎样的程度上,我们可以把给定对象的形状通过把维数不断增加的简单几何营造块粘合在一起来形成。这种技巧是变得如此有用,使得它可以用许多不同的方式来推广;最终导至一些强有力的工具,使数学家在对他们研究中所遇到的形形色色的对象进行分类时取得巨大的进展。不幸的是,在这一推广中,程序的几何出发点变得模糊起来。在某种意义下,必须加上某些没有任何几何解释的部件。霍奇猜想断言,对于所谓射影代数簇这种特别完美的空间类型来说,称作霍奇闭链的部件实际上是称作代数闭链的几何部件的(有理线性)组合。
“千僖难题”之三: 庞加莱(Poincare)猜想
如果我们伸缩围绕一个苹果表面的橡皮带,那么我们可以既不扯断它,也不让它离开表面,使它慢慢移动收缩为一个点。另一方面,如果我们想象同样的橡皮带以适当的方向被伸缩在一个轮胎面上,那么不扯断橡皮带或者轮胎面,是没有办法把它收缩到一点......
[置顶] 关于国产科学软件的思考 (2007-03-25 09:22:00)
摘要:
关于国产科学软件的思考发表时间:2006年10月23日 17时53分
[%repeat_0 match="/data/option"%]
[%=@title%]
[%=@count%]票 [[%=@percent%]%][%_repeat_0%]
这一段一直在问自己这个问题:“在我们常用的科学计算软件当中,有多少国产的?”,在记忆里面搜索了很久,似乎真正能够数得上“常用”或者“听过名字”的,一个是叫作FEPG的有限元源码生成器,这几年不时在一些论坛上见过他们的广告;另外一个是CTEX套装软件,作科学排版的,听说是中科院的人参与了一些工作。此外,实在想不起来还有什么。当然不排除学校课题组自产自用的软件,但断言我们没有发展出象matlab/mathematica/maple/lapack等这样一批影响科技发展的科学工具也是不失偏颇的。
科学计算软件的匮乏反应了中国软件开发能力和科技应用水平的不足。国内对科学计算软件的需求是很大的,但令人担忧的是,几乎整个市场都被国外的软件占据了。有限元的论坛上,言必称的是ANSYS, Fluent, Abaqus...,电路模拟的论坛上,熙熙攘攘的是HFSS, ADS, microwave office,...,,计算化学的讨论中,<edit>Gaussian</edit>, NWChem, ADF占据了大面积的篇幅,而我参与了很久的数学工具的讨论中,几乎也充满了matlab, mathematica, tecplot和IDL的大名。我们很少有机会看到大家热烈地讨论一个自创的软件,或者计划编写、合写这样的软件。造成这种情况的原因很多,最重要的有下面几条:
1. 盗版软件太容易获得。国外很多科学软件,包括一些开源的、免费的软件都是被商用软件“逼”出来的,由于企业、科研单位需要某种科学计算功能,而商用软件的licensing费用太高,导致企业或者科研院所自行编写适合自己的软件,并且软件或者以商业化,或者以免费的形式发布出来满足社会上类似的需求。而在中国,几元一张的盗版光盘上,几千、几万美元的科学软件一应具有,再加上科研、商业的诚信制度还没有完全建立,盗版软件成为很多人的首选,大家非但不以使用“盗版”软件为耻,反而堂......
[置顶] 浅谈程序员的数学修养 (2007-03-20 19:19:00)
摘要:可能有很多朋友在网上看过google公司早几年的招聘广告,它的第一题如下了:{first 10-digit prime found in consecutive digits e}.com,e中出现的连续的第一个10个数字组成的质数。据说当时这个试题在美国很多地铁的出站口都有大幅广告,只要正确解答了这道题,在浏览器的地址栏中输入这个答案,就可以进入下一轮的测试,整个测试过程如同一个数学迷宫,直到你成为google的一员。又如Intel某年的一道面试题目:巴拿赫病故于1945年8月31日。他的出生年份恰好是他在世时某年年龄的平方,问:他是哪年出生的?这道看似很简单的数学问题,你能不能能快地解答呢?下面则是一道世界第一大软件公司微软的招聘测试题:中间只隔一个数字的两个素数被称为素数对,比如5和7,17和19,证明素数对之间的数字总能被6整除(假设这两个素数都大于6),现在证明没有由三个素数组成的素数对。这样的试题还有很多很多,这些题目乍初看上去都是一些数学问题。但是世界上一些著名的公司都把它们用于招聘测试,可见它们对新员工数学基础的重视。数学试题与应用程序试题是许多大型软件公司面试中指向性最明显的一类试题,这些试题就是考察应聘者的数学能力与计算机能力。某咨询公司的一名高级顾问曾说:微软是一家电脑软件公司,当然要求其员工有一定的计算机和数学能力,面试中自然就会考察这类能力。微软的面试题目就考察了应聘人员对基础知识的掌握程度、对基础知识的应用能力,甚至暗含了对计算机基本原理的考察。所以,这样的面试题目的确很“毒辣”,足以筛选到合适的人。
四川大学数学学院的曹广福教授曾说过:“一个大学生将来的作为与他的数学修养有很大的关系”。大学计算机专业学生都有感触,计算机专业课程中最难的几门课程莫过于离散数学、编译原理、数据结构,当然像组合数学、密码学、计算机图形学等课程也令许多人学起来相当吃力,很多自认为数据库学得很好的学生在范式、函数依赖、传递依赖等数学性比较强的概念面前感到力不从心,这些都是因为数学基础或者说数学知识的缺乏所造成的。数学是计算机的基础,这也是为什么考计算机专业研究生数学都采用最难试题(数学一)的原因,当然这也能促使一些新的交叉学科如数学与应用软件、信息与计算科学专业等飞速发展。许多天才程序员本身就是数学尖子,众所周知,Bill Gates的数学成绩一直都很......
Content-Based Image Retrieval(2009-10-09 20:47:00)
摘要:Content-Based Image Retrieval
Image dataset
http://www-i6.informatik.rwth-aachen.de/dagmdb/index.php/Content-Based_Image_Retrieval
The Vision Lab at UIUC
Corel database
Computer Vision Test Images
http://www.fotosearch.cn/
Brodatz Textures
http://www.cs.washington.edu/research/imagedatabase/groundtruth/
Demo
http://wang.ist.psu.edu/IMAGE/ (S I M P L I c i t y)
http://labs.systemone.at/retrievr/ (Flickr)
http://cvit.iiit.ac.in/fish/advanced.cgi (Fish)
http://tineye.com/ (TinEye)
Computer Vision Online Demo
http://www.cs.washington.edu/research/imagedatabase/demo/
中科院计算所 Mires
VisualSEEk
IBM QBIC
Edited by Guoping Zou 2009-10-09......
Face Detection Demo(2009-07-03 21:19:00)
摘要:1. OpenCV1.0 + VC6.0
2. Emgu.CV.-1.4.0.0 + VC# 2005
......
Object-Based Image Retrieval System(2009-07-03 20:53:00)
摘要:
基于目标的图像检索实验,VC#2005+SQL Server 2000
......
C#图像处理――前奏(二)(2009-06-02 21:36:00)
摘要:四 指针法
C/C++的习惯,不是C#的特点
public static Bitmap RGB2Gray(Bitmap srcBitmap)
{
int wide = srcBitmap.Width;
int height = srcBitmap.Height ;
Rectangle rect = new Rectangle(0, 0, wide, height);
BitmapData srcBmData = srcBitmap.LockBits(rect,
ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
Bitmap dstBitmap = CreateGrayscaleImage(wide, height);
BitmapData dstBmData = dstBitmap.LockBits(rect,
&nb......
C#图像处理――前奏(一)(2009-06-02 21:31:00)
摘要:一.Bitmap类
Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下:
1. GetPixel方法和 SetPixel方法:获取和设置一个图像的指定像素的颜色.
2. PixelFormat属性:返回图像的像素格式.
3. Palette属性:获取和设置图像所使用的颜色调色板.
4. Height Width属性:返回图像的高度和宽度.
5. LockBits 方法和UnlockBits方法:分别锁定和解锁系统内存中的位图像素.在基于像素点的图像处理方法中使用LockBits 和UnlockBits是一个很好的方式,这两种方法可以使我们指定像素的范围来控制位图的任意一部分,从而消除了通过循环对位图的像素逐个进行处理,每调用LockBits 之后都应该调用一次UnlockBits.
二.BitmapData类
BitmapData对象指定了位图的属性
1. Height属性:被锁定位图的高度.
2. Width属性:被锁定位图的高度.
3. PixelFormat属性:数据的实际像素格式.
4. Scan0属性:被锁定数组的首字节地址,如果整个图像被锁定,则是图像的第一个字节地址.
5. Stride属性:步幅,也称为扫描宽度.
如上图所示,数组的长度并不一定等于图像像素数组的长度,还有一部分未用区......