Sunday, December 28, 2008

很喜欢这段话

"首先,我要指出,我不是一个商人,赚钱是无关紧要的事情。我的人生目标是为世界做一些贡献,而不是从世界掠取钱财。我认为一个人有了足够吃的,就有责任瞄准更高尚目标,而不是变得‘更成功’。当然,还在挨饿的人的第一优先是找到食物。但我没有挨饿,我有能力、有责任追求更高尚的目标。

Monday, December 22, 2008

Facebook Develop(1)

Facebook App's hello world

因为实验室项目的需要,最近开始鼓捣Facebook App Dev.

大概花了半天的时间,搞定了Facebook App开发的第一个程序. 简单地记录如下:
首先,你需要有一个Facebook帐号(天哪,你连Facebook帐号都没有,赶紧去注一个,土人!)
然后,访问Facebook的开发者网页:http://developers.facebook.com/get_started.php,这是一个详细介绍如何进行facebook应用程序设置的页面,现将要点摘录如下:
点击Go to the Facebook Developer App,
点击Set up new Application
给你的新应用起个名字,比如HelloFacebook,选择同意服务条款(废话!不同意还怎么玩)
然后进入一个页面,有各种参数,只需填写callback url(就是当facebook用户访问你的应用后会被redirect的页面,你在这个页面里写你所希望开发的应用), 比如我设的是(localhost/facebook)在app设置页面的底部有一项:
Sample Code
Get started quickly with some example code!
点击example code,将里面的代码复制出来, 然后放到你的server的index.html中(即localhost/facebook在本地所对应的文件夹中), 就Ok了.

点击访问http://localhost/facebook, 你就可以看到你的前25个facebook好友的id了.

Wednesday, December 10, 2008

色彩系统的一些讨论

色彩和光谱的关系:

实际中所存在的同色异谱的现象

因为这种现象的存在,所以实际使用的色彩测量中可能会存在着一些问题,比如说色差,即标准色和合成色之间的光谱差异。当然,这种差异对于有一些应用来讲是可以忽略的,比如工业产品的外观设计上。但是,对于一些应用来讲则是必须要考虑的,比如定量遥感。

所以,关键在于我们要结合我们所研究的领域,具体的问题,具体地分析。

不同的颜色系统:
CIE系统:可以认为是最为严格的表色系统,精确地定义会对人类感知颜色造成影响的各个方面因素,适合于最为严谨的科学研究
孟塞尔颜色系统:是于一名叫做孟塞尔的艺术家提出来的,相对而言没有CIE系统那么严格的定义,但同时也比较的使用,被广泛地应用于艺术设计、工业设计等领域,也是某型国家的国家标准颜色描述方式。

Tuesday, December 9, 2008

How to configurate Google Code

First, type this url in your browser address bar:
http://code.google.com/hosting/
and you will say the following page:


Then, choose create a new project, fill your project name, summary and description. Also, you need choose a license for your project since all google code projects are considered as open source projects. The last one is the label.

When everything is done, the page is probably like this, just click next.

If everything is ok, you just successfully create a new project. So the next step is to do some configuration. First, you should clikc profile on the upperright corner of the page and choose the settings tab, then you will probably see a page like following:


the erased red part is password you need when you do SVN authorization.
Up to now, you've done everything with google code. And if you want to use a gui svn client manipulating your code, I recommend TortoiseSVN,the website is http://tortoisesvn.net/downloads But it seems that it does not have a linux/mac version. So I know there is an eclipse plug-in called subclipse(http://subclipse.tigris.org/download.html)for linux/mac gurus. Anyway, maybe command line is your guys' best choice.

I hope this instruction would be helpful.
Cheers!

如何对领域模型进行建模-以地震应急为例

专家系统的概念(1991已经有相关专著 James Ignizio, Introduction to Expert Systems)似乎很早就已经提出来了,其提出的一个主要的目的就是为了使得计算机不仅仅是一个快速的计算器和庞大的存储器,而是能够在一定程度上拥有智能,从而能够解决许多相应的实际问题,从而在很高的层面上代替人进行工作。事实上,专家系统的研究也是人工智能领域早期研究的一个重要的分支,这一点也非常地容易理解,因为人们总是很好奇,计算机到底能在多大程度上像人类一样思考。不过很可惜的是,似乎知道今天,也没有这么一个如同彭罗斯《皇帝新脑》一书中所描绘的伟大系统的诞生。计算机依然非常愚蠢,但是不过怎么样,随着知识工程这个领域研究的深入,我们也越来越惊讶于我们以前曾经忽视的我们大脑所具有的一些神奇的能力。不过,本文所要论述不是人的能力,而是机器的能力,介绍一种建模的方法,以及建模的例子,来使大家明白目前的计算机到底“聪明”到了哪种程度?

我们讨论的例子非常地贴近生活:
今年5月在中国四川发生了一次震级里氏8.0级的地震,造成了重大的人员伤亡。假设你就是负责汶川地震应急抢险的信息支持的工程师,那么,你如何在很短的时间里,根据中央领导的要求,快速组装出能够帮助进行决策的应急地图系统。

如果你是一个信息领域的专家,应该不难看出,这是一个非常困难的问题。从技术角度来看,这个组装过程涉及到以下几个方面的问题:
1. 数据源的问题,数据从何而来,如何读取
2. 数据标准的问题,对于一个要综合相当多的方面的大系统来说,我们可能并没有一套全面适用的标准来对数据进行统一的操作,甚至在一些子领域,我们都没有数据交换标准。比如说对于空间数据,可能中国军方提供的数据是基于西安80坐标系统,而其他国家为我们提供的最新的卫星影像的数据则是基于WGS84坐标系统,而这两种坐标系统的数据在没有进行转换前则是不能够简单地进行叠加的。
3. 概念实体建模的问题,在对概念建模的过程中(往大了说就是知识表达),我们经常使用的方法是本体法,但是如何建立这个本体?却是一个很大的问题,因为不同专业领域的人可能对于相同的概念有着截然不同的理解,如何克服这种差异?在这里,我们要讨论的则更多的是另外一种差异,就是人的大脑中理解和我们使用计算机所能理解的本体语言表达出来之后的差异。或者说,计算机是否有这么一种能力,能够完备地表达出我们对于一个概念的理解。

(to continue...)

Monday, December 8, 2008

Protégé使用初体验

Protégé是斯坦福大学开发的一套用于对本体知识进行描述、表达和推理的软件。简单的讲,它就是一个本体编辑器和知识查询系统。

虽然以前的一个863项目也和Protégé有着密切的关系,但是因为自己当时负责的部分和Protégé没有很大的关系,所以一直也没有接触Protégé.这一次,由于项目的原因,终于有机会和这个仰慕已久的软件有了第一次的亲密接触,一下就简单地介绍一下我的感受。

一、软件的安装
总的来说,Protégé的安装和绝大多数的windows软件一样,非常地容易,基本上从它的官方网站(protege.stanford.edu)下载到它的安装文件,然后点击几下鼠标,即可搞定。不过,一个小小的要求是你的电脑上需要安装有Java SDK(不过据说它的官方网站也提供了带Java版本的protege的安装程序)

二、软件的直观印象
启动Protégé之后,系统会启动一个命令行形式的窗口,根据我的猜测是进行一些软件初始化的工作,然后就会带着启动一个非常华丽的Protégé主程序,截图如下所示:


在具体的使用过程中,感觉也是相当不错的,几乎所有的功能都有设计良好的图标提示和tips
我按照文档的提示,尝试了以下 的一些功能,如创建最为基本的类、子类,创建属性,将属性关联到指定的类上等等。

总的来说,概念很清晰也很好理解,比想象中要容易上手。

比如好的两个参考资料是:
介绍了protege的基本框架
http://protege.stanford.edu/doc/tutorial/get_started/admain.html
介绍了protege owl的基本使用方法
http://protege.stanford.edu/doc/owl/getting-started.html

Sunday, December 7, 2008

分布式计算框架的总结

目前IT界有几个非常有名的词,网格计算、云计算,分布式数据处理等。

不过这些词我也不是非常理解它们的内涵,下文仅从应用的角度,来谈论一些计算框架的特点和优劣。

Nebula: 这个计算框架是在开源项目中做得最为出色的一个,可以参见论文:
NEBULA: A P2P Based Cooperative Spatial Database Prototype Bin Chen etc
简单地说,它就是一个用于分布式的空间信息处理的框架,可以进行协同的处理

MapReduce:
MR系统是一个非常好玩的东西,它有几层含义,首先,它是一个数学理论,用于高效地在不同的计算节点间进行任务的分配。其次,它也是一个计算模型,用于实现不同计算节点间任务分配的具体调度算法。最后,它也是一个实实在在地计算框架,并且有相关的参考实现(Google and Yahoo!),并且真正在我们实际的商业搜索引擎中得到大规模地应用。

在介绍它的基本思想之前,我们首先可以讨论一些并行计算的基本要求,也就是说,如果我们的一个任务是可以拆分成若干个子任务分别放在不同的CPU上计算的,那么这个任务应该满足什么样的条件呢?简单地讲,这个任务应该是需要满足这样的基本条件,就是说,它的指令序列,至少在一定程度上,是前向无关的,即在后面执行的代码和前面已经执行的代码是两个独立的事件。一个非常经典的例子就是矩阵的乘法运算。在这样的前提下,我们就可以对任务进行比较好地分解。

MR的基本思想就是,将所有的计算任务看作是由两个基本的子任务操作序列所组成,一个就是一个映射(Map),按某种规则生成一对的二值对,然后再对其加以排序。其中生成二值对的部分和排序的部分都可以由系统自动地在各个计算节点上根据它们的负载进行分配,从而实现分布式地计算。对于用户而言,他只要关心问题中涉及到具体领域的算法即可了。

Thursday, December 4, 2008

颜色的测量

非常有意思的一个话题,颜色的度量。这里首先涉及到这样一个很哲学性的问题,我们所看到的色彩到底是人的一种主观感受呢,还是一个客观实在的现象。

关于颜色的测量的国际组织叫做 International Commission on Illumination,简称CIE。它规定了颜色测量方面的主要的国际标准。

色彩的测量,严格地来说,就是颜色刺激值的测量,细化来讲,包括光谱的三刺激值。

最为原始的测色工具就是我们的人眼,但是由于人眼存在着色彩适应的问题,对于一些有较高精度要求的色彩测量工作,人眼就显得有些力不从心了。

因此,人们又发明了一些更为精准的色彩测量工具,比如光谱广度计。

此外,还有白度测量的概念,也就是说测量物体表面含白色的程度(一个很吊诡的概念,是说物体表面三色光混合的均匀程度吗?)。

Tuesday, December 2, 2008

LinderStrom 算法 大规模的空间数据可视化的探讨


讨论了P. Lindstrom and V Pascucci提出的Stateless One-pass Adaptive Refinement (SOAR)算法。其核心的思想就是根据用户的视角的变换动态地进行三角网的构建。背后隐藏的假设是对于用户而言,那些距离非常遥远的地区的微小地形起伏是可以忽略的,从而我们在做程序设计时可以对其进行一定程度地简化。这个假设是非常合理的。我们平时在观察事物的时候也的确是这样子的,远的东西会看得比较模糊,而近的东西相对就会看得比较清楚。

从技术史的角度来看,SOAR算法是一系列的地理数据可视化方法中的一个系列产品。这些算法都来自与一个经典思想,我们称之为Level Of Detail(LOD),根据这个思想所衍生出的一系列算法有:Real Time Optimally Adapting Meshes(ROAM)by M. Duchaineauy(1997) ,Progressive Meshes (PM) by Hugues Hoppe (1998)

感受:地形可视化是一个非常有意思的话题,而且有着非常实际的军事应用价值,是一个值得关注的领域

相关的网站链接:http://zog.utc.edu/~vislab/Papers/CarlosACMPresentation.pdf
                          http://3dnature.com/

控制论简介

控制论(Cybernetics),是由美国科学家维纳(wiener)在他的同名著作中提出的。它的核心思想是研究如何对一个复杂系统进行控制和调节。

它具有一些非常核心的概念,比如吸引子,用于描述一个系统可能趋于稳定的状态。
此外,控制论还关注自组织现象,即一些复杂系统为什么会自发地趋向于稳定的状态,譬如人类社会在发生战争后又会回归和平,宇宙大爆炸之后为什么原来均一的空间之间变成一个个具有精巧结构的自组织个体。这些问题都是控制论所关心的。

控制论引入了信息论zh.wikipedia.org/wiki/信息论中的熵增加概念来描述一个复杂系统的状况。维纳认为,人对于一个复杂的系统了解地越多,那么它的确定性就越高,相应地,它的熵越小,反之亦然。那么,我不由地要问,我们对于我们的世界的了解是怎么样的呢?是不是了解的程度同样也可以用熵值的大小来加以衡量,这的确是一个非常有意思的问题。