<?xml version="1.0" encoding="utf-8" ?>
<!-- generator="FEEDCREATOR_VERSION" -->
<rss version="2.0" xmlns:sns="http://blog.sina.com.cn/sns">
    <channel>
        <title>计算机软件技术研讨</title>
        <description></description>
        <link>http://blog.sina.com.cn/nhwxsoft</link>
        <lastBuildDate>Sat, 09 Jan 2010 01:41:42 GMT+8</lastBuildDate>
        <generator>FEEDCREATOR_VERSION</generator>
        <language>zh-cn</language>
        <copyright>Copyright 1996 - 2009 SINA Inc. All Rights Reserved.</copyright>
        <pubDate>Fri, 08 Jan 2010 17:41:42 GMT+8</pubDate>
        <item>
            <title>今天停止在新浪写博，我的新博客地址</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cfxf.html</link>
            <description><![CDATA[<p>我的新博客地址</P>
<p><a HREF="http://blog.163.com/sukerl@126/">http://blog.163.com/sukerl@126/</A></P>]]></description>
            <author>故乡的海岛</author>
            <category>学习教育与软件应用</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cfxf.html#comment</comments>
            <pubDate>Fri, 13 Mar 2009 07:39:49 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cfxf.html</guid>
        </item>
        <item>
            <title>博客搬家服务</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cfvv.html</link>
            <description><![CDATA[<div>
<div>
<div JQUERY1225870895640="77">
<table JQUERY1225870895640="76">
<tbody JQUERY1225870895640="75">
<tr JQUERY1225870895640="74">
<td><a HREF="http://blog.163.com/people/happyelf/" JQUERY1225870895640="31"></A></TD>
<td JQUERY1225870895640="73"><br />
<p JQUERY1225870895640="72"><font SIZE="4">　<br />
　　现在大部分博客服务商都提供了博客搬家服务。让我们来简单了解一下。<br />
　　<br />
　　1、百度空间搬家服务<br />
　　(</FONT><a HREF="http://hi.baidu.com/sys/bmove/" TARGET="_blank" REL="nofollow" JQUERY1225870895640="33"><font COLOR="#34B115" SIZE="4">http://hi.baidu.com/<wbr />sys/bmove/</FONT></A><font SIZE="4">)<br />
　　<br />
　　目前支持MSN
SPACES与SINA的博客搬家，12小时内为用户完成搬家服务。成功后，搬入的文章将会按时间顺序排列与空间现有的文章交叉排列，不会覆盖空间内现有文章。<br />

　　<br />
　　2、QQ空间搬家工具(</FONT><a HREF="http://n.qzone.qq.com/move/move_login.htm" TARGET="_blank" REL="nofollow" JQUERY1225870895640="34"><font COLOR="#34B115" SIZE="4">http://n.qzone.qq.co<wbr />m/move/move_login.ht<wbr />m</FONT></A><font SIZE="4">)<br />

　　<br />
　　目前支持51.com、搜狐、新浪和网易的博客，搬家将在1分钟到12小时内完成，搬家完成后您将收到小纸条提示，目前此工具还为测试版，大家可以等待正式版的退出，这样你的QQ空间会更加精彩。<br />

　　<br />
　　3、网易博客一键搬家(</FONT><a HREF="http://blog.163.com/activities/cloneOne.do?fromRe" TARGET="_blank" REL="nofollow" JQUERY1225870895640="35"><font COLOR="#34B115" SIZE="4">http://blog.163.com/<wbr />activities/cloneOne.<wbr />do?fromRe</FONT></A><font SIZE="4">)<br />

　　<br />
　　支持现支持·雅虎空间、51.com、QQ空间、搜狐博客、Live
Spaces、新浪博客、中国博客网、百度空间的搬家服务。搬家功能可以将你在原博客上的文章、分类，以及其他网友的评论，相册、相片，友情链接复制至网易博客。<br />

　　<br />
　　4、新浪博客搬家(</FONT><a HREF="http://blog.sina.com.cn/blogmove/index.php" TARGET="_blank" REL="nofollow" JQUERY1225870895640="36"><font COLOR="#34B115" SIZE="4">http://blog.sina.com<wbr />.cn/blogmove/index.p<wbr />hp</FONT></A><font SIZE="4">)<br />

　　<br />
　　目前仅支持MSN SPACES、搜狐与网易的博客搬家
成功申请搬家后,您会在您的博客中收到一条系统消息。系统会在12小时内为您完成搬家，但在网络堵塞、被搬迁博客网站的服务器故障，或者其他不可预料的情况出现时，将需要更长的时间。<br />

　　<br />
　　5、Blog Mover博客搬家通用工具(</FONT><a HREF="http://blogmover.redv.com/blog-mover.jsp" TARGET="_blank" REL="nofollow" JQUERY1225870895640="37"><font SIZE="4"><font COLOR="#34B115">http://blogmover.red<wbr />v.com/blog-mover.jsp<wbr /></FONT></FONT></A><font SIZE="4">)<br />

　　<br />
　　最后介绍的这个网站功能是非常强大的，支持从13处博客空间商读取信息，支持9种博客的导入。搬迁的范围包括日期、内容、评论、标签（Tags）以及图片、多媒体文件。还支持不需要内容的剔除。功能强大，大家可以试用。<br />

　　<br />
　　6:搜狐博客搬家工具（</FONT><a HREF="http://act.blog.sohu.com/move/apply.jsp" TARGET="_blank" REL="nofollow" JQUERY1225870895640="38"><font COLOR="#34B115" SIZE="4">http://act.blog.sohu<wbr />.com/move/apply.jsp</FONT></A><font SIZE="4">）<br />

　　现支持新浪博客·MSN空间·百度空间的搬家服务。<br />
　　<br />
　　7：博客伴侣软件<br />
　　（</FONT><a HREF="http://www.maikr.com/blogpartner/" TARGET="_blank" REL="nofollow" JQUERY1225870895640="39"><font COLOR="#34B115" SIZE="4">http://www.maikr.com<wbr />/blogpartner/</FONT></A><font SIZE="4">）<br />
　　支持备份21种博客服务以及搬家到14家博客服务商。<br />
　　<br />
　　8：博客蓝搬家<br />
　　（</FONT><a HREF="http://www.bokeland.com/" TARGET="_blank" REL="nofollow" JQUERY1225870895640="40"><font COLOR="#34B115" SIZE="4">http://www.bokeland.<wbr />com/</FONT></A><font SIZE="4">）<br />
　　支持的博客已经多达49家， 而且支持Oblog、WordPress、LBS、 Lifetype等开源博客。
不但支持的范围在不断扩大， 而且我支持一个BSP的速度也能让您瞠目结舌。 只要您发邮件给他们，
他们将在2、3个工作日之内完成。<br />
　　<br />
　　9：blogbus搬家<br />
　　（</FONT><a HREF="http://banjia.blogbus.com/" TARGET="_blank" REL="nofollow" JQUERY1225870895640="41"><font COLOR="#34B115" SIZE="4">http://banjia.blogbu<wbr />s.com</FONT></A><font SIZE="4">)<br />
　　目前BlogBus可为Blogcn、Bokee、新浪博客、大旗精英、敏思博客、UUZone、和讯博客、网易部落、天涯博客、MSNSpace、BlogDriver、搜狐博客等12个站点提供搬迁服务。<br />

　　<br />
　　10：和讯blog搬家<br />
　　（</FONT><a HREF="http://hexuncom.blog.hexun.com/306956_d.html" TARGET="_blank" REL="nofollow" JQUERY1225870895640="42"><font COLOR="#34B115" SIZE="4">http://hexuncom.blog<wbr />.hexun.com/306956_d.<wbr />html</FONT></A><font SIZE="4">）<br />

　　支持多家blog服务搬家，但似乎得邮件联系管理员代为搬家。<br />
　　<br />
　　11：猫扑搬家<br />
　　（</FONT><a HREF="http://i.mop.com/mophelp/blog/2006/11/30/2609101.html?offset=40" TARGET="_blank" REL="nofollow" JQUERY1225870895640="43"><font COLOR="#34B115" SIZE="4">http://i.mop.com/mop<wbr />help/blog/2006/11/30<wbr />/2609101.html?offset<wbr />=40</FONT></A><font SIZE="4">）<br />

　　进入管理中心后点击左侧“高级功能”中的“博客搬家”，进入搬家页面搬家。</FONT></P>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>
</DIV>
</DIV>]]></description>
            <author>故乡的海岛</author>
            <category>学习教育与软件应用</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cfvv.html#comment</comments>
            <pubDate>Fri, 13 Mar 2009 05:25:54 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cfvv.html</guid>
        </item>
        <item>
            <title>进程故障分布一致性-floodset和optfloodset</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cfs7.html</link>
            <description><![CDATA[<p>
1、进程的输入都是从一个特定的集合V开始的。所有的无故障进程都被要求从同一个值集合V中产生输出，并符合简单的一致性和有效性条件。</P>
<p>2、通常被用于容错的冗余多处理器系统中。其中少数处理器执行相同的计算，就每一步的结果达成一致。</P>
<p>3、floodset算法:</P>
<p>
每个进程都有一个变量W,它包含V的一个子集。开始时,进程i的变量W只包含了i的初始值。在f+1轮中的每一轮，每个进程都广播W，然后把所接收到的元素加到W中。</P>
<p>在f+1轮后，进程i使用下面的决定规则。如果w是一个单元素集合，那么i就决定出W中的惟一元素；否则i就决定出默认值V0。</P>
<p>
4、进程就像floodset算法一样操作，只是每个进程i最多广播2个值。第一次广播发生在第1轮，每个进程i都广播自己的初始值。第二次广播发生在第r轮，2&lt;=r&lt;=f+1，其中在第r轮的开始，i知道某个v的值和自己的初始值不同，那么i就广播这个新值V0<br />
</P>]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cfs7.html#comment</comments>
            <pubDate>Fri, 13 Mar 2009 00:50:56 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cfs7.html</guid>
        </item>
        <item>
            <title>链路故障的分布一致性</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cfoo.html</link>
            <description><![CDATA[<p>1、每个进程从0级开始，当它收到其他所有进程的消息后，就进入等级1，当它知道所有其他的进程都已经到了1，就进入2。</P>
2、使用同步模型，允许任意数量的消息在运行过程中丢失。让进程通过把特定决定状态组件设置为0或1，最终输出一个在{0,1}中的决定。进程所做的决定必须满足三个条件：<br />

1）一致性：没有两个进程决定出不同的值<br />
2）有效性：<br />
如果所有进程都以0开始，那么0就是惟一可能的决定值。<br />
如果所有进程都以1开始，而且所有消息都被传递，那么1就是惟一可能的决定值。<br />
3）终止性：所有进程最后都会做出决定。<br />
3、随机攻击算法<br />
&nbsp;&nbsp;
每个进程i根据在运行中产生的通信模式，都明确地把它的级别保存在变量level中。进程1从[1,r]的整数中选择一个随机的key值，这个值附于所有消息中。另外，所有进程的初值也附于所有消息中。<br />

&nbsp;&nbsp;
在r轮之后，如果每个进程计算出来的level值不少于key,且它知道所有进程的初值都是1，那么它决定出1。<br />]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cfoo.html#comment</comments>
            <pubDate>Thu, 12 Mar 2009 12:23:43 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cfoo.html</guid>
        </item>
        <item>
            <title>同步网络的lubyMIS算法</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cfhx.html</link>
            <description><![CDATA[<p>1、在每个阶段中，每个进程i按均匀分布在范围{1,...,n^4}中随机选择一个整数<font STYLE="FONT-SIZE: 20px">val</FONT>i。一旦进程选择了这些值，我们就定义I'由所有任为局部winner的节点i组成，也就是在i的所有的邻接节点j中，<font SIZE="5">val</FONT>i&gt;<font SIZE="5">val<font STYLE="FONT-SIZE: 14px">j。n^4使得每个进程i以高概率选择不同的值</FONT></FONT></P>
<p>2、算法分阶段进行</P>
<p>
1）在一个阶段的第一轮中，各个进程都选择它们各自的val，并把它们发送给自己的邻接节点。到第一轮的最后，当所有的val消息都被接收到时，winner-也就是在I'中的进程-将会知道它们是谁。</P>
<p>
2）在第二轮中，winner通知它们的邻接节点。在第二轮的最后，loser-也就是有邻接节点在集合I'中的进程-知道它们是谁。</P>
<p>
3）在第三轮中，每个loser通知它的邻接节点，然后所有相关进程-winner和loser的邻接节点-从图中删除合适的节点和边。更精确地说，在这个阶段之后，winner和loser不再参与以后的工作，loser的邻接节点也删除所有与新删除节点相关的边</P>]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cfhx.html#comment</comments>
            <pubDate>Thu, 12 Mar 2009 03:14:34 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cfhx.html</guid>
        </item>
        <item>
            <title>同步网络-SynchGHS算法</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cfe6.html</link>
            <description><![CDATA[<p>1、这个算法分层构造各组件。对于每个k
,第k层的各组件构成了一个生成森林，其中k层第一组件都包含一棵树，该树是MST的一个子图。K层的每个组件至少有2^k个节点。在每一层中，每个组件有一个独特的领导者节点。进程允许按一个固定的轮数O(n)来完成每层的工作。</P>
<p>
2、算法从0层开始，各组件由单独的节点组成且不包含边。我们归纳地假设k层的各个组件已经确定了（包括它们的领导）。更特别地，假定每个进程都已经知道其组件的领导的领导的UID；这个UID就被用作整个组件的标识符。每个进程也知道它的哪条邻接边在该组件的树中。</P>
<p>
3、为了得到K+1层的各个组件，K层的每个组件会沿着其生成树的边搜索组件的MWOE。领导者使用消息广播策略，沿着树的边广播搜索请求。每个进程都在自己的邻接边中找到一条权最小的组件的出向边；它为了完成这个工作，在所有的非树中的边上传递test消息，询问边的另一端点是否属于相同的组件（通过比较组件的标识符来确定）。然后各进程就会把本地最小权边的信息聚播给领导者，途中选择最小的。领导者得到的最小值就是整个组件的MWOE。</P>
<p>
4、当K层的各组件都找到它们的MWOE后，这些组件就通过所有的MWOE合并为K+1层的组件。这涉及到K层的每个组件的领导者和与其MWOE相邻的进程通信，告知该相邻进程把这条边标记为属于新树；边的另一端进程也被告知做同样的工作。</P>
<p>
5、然后对于K+1层的每个组件，按如下方式产生一个新的领导者。对由每组被合并到K+1层组件中的K层各组件，必定存在一条惟一的边e，e是该组的2个K层组件的共同MWOE，e的2个端点中具有更大UID的端点成为新的领导者。这个新的领导者利用本地可见信息来标识自己。</P>
<p>6、最后，使用广播在新的组件中传播这个新的领导者的UID</P>
<p>&nbsp;</P>]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cfe6.html#comment</comments>
            <pubDate>Wed, 11 Mar 2009 13:49:11 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cfe6.html</guid>
        </item>
        <item>
            <title>同步网络算法-BellmanFord算法</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cfdu.html</link>
            <description><![CDATA[<p>
每个进程i都记录目前所知的从i0出发的最短距离dist,以及作为入向邻接节点的父节点parent（这个父节点位于i之前，与i之间的路径的权重为dist）。开始时，<font STYLE="FONT-SIZE: 22px">dist</FONT><font STYLE="FONT-SIZE: 18px">i0</FONT>=<font STYLE="FONT-SIZE: 20px">0</FONT>,对于i&lt;&gt;i0，则<font STYLE="FONT-SIZE: 20px">dist</FONT>i=∞,parent分量没有定义。在每一轮，每个进程都把dist发送给所有的出向邻接节点。然后每个进程通过一个松弛步来更新自己的dist，即在前一步的dist和所有的<font SIZE="5">dist</FONT>i+<font FACE="SinaEditor_Temp_FontName">weightji中取最小值勤，其中j是它的入向邻接点。如果dist改变了，那么它的parent分量也会相应更新。在n-1轮后，dist就包含了最短距离，parent则指向最短路径树中的父节点。</FONT></P>]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cfdu.html#comment</comments>
            <pubDate>Wed, 11 Mar 2009 13:39:56 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cfdu.html</guid>
        </item>
        <item>
            <title>大学生就业难谁来负责？(转)</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cfdo.html</link>
            <description><![CDATA[<table CELLSPACING="0" CELLPADDING="0" WIDTH="90%" ALIGN="center" BORDER="0">
<tbody>
<tr>
<td STYLE="FONT-SIZE: 14px; LINE-HEIGHT: 30px">
<p><a HREF="http://www.jin14.com/gaozhong/news/Detail/08/04/02/83_094947747.shtml">
http://www.jin14.com/gaozhong/news/Detail/08/04/02/83_094947747.shtml</A>　</P>
<p>　随着高考的日期越来越近，家长们考虑更多的可能都是孩子未来报考的学校和专业问题。</P>
<p>　　而一提到志愿问题，家长们的着眼点一定会在将来孩子毕业时的就业。</P>
<p>　　现在，有关大学生就业的报道比比皆是。通观下来，好像令人兴奋的利好消息不多。更多的是一些有关就业难和学生求职难的报道。</P>
<p>
　　也许，在扩招的历史背景条件下，大学生就业难、求职难是一个不可忽视的问题，但是，在人们讨论这个问题的时候，是否忽视了另外一个方面？</P>
<p>　　在《大学生》杂志上，看到了这样的发问，觉得有些道理，于是，便顺手摘录如下，希望能给家长以启发……</P>
<p>
　　针对有的大学生抱怨求职难，就业难，某高校的某教授很客观地说：一门课一个学期下来，交一份作业就可以了。这份作业还不知道是不是抄来的。这么多年书读下来，简历上一点光鲜的东西都没有，人家凭什么要你？</P>
<p>　　还有有关反映大学生校园生活的《大学生》杂志披露，有的大学生的确是太“不着调”。有事实为证。且看：</P>
<p>　　事例一</P>
<p>　　某天下午，杂志社接到一位自称大二学生的电话，希望到杂志社来实习。</P>
<p>
　　编辑请学生发几篇文章过来看看。但是那学生却非常干脆地说：“不好意思，没有文章”。原来那个学生的专业是一个理工科相当冷僻的专业。当编辑问这位学生为什么要到与专业毫无关系的媒体来实习的时候，那学生的回答令编辑哭笑不得：因为学校要求学生有社会实践成果，不然就没有学分；而且，杂志社是离学校最近的单位了……</P>
<p>　　那编辑在文章中很无奈地写道：这样的理由让我无言以对。我们有义务为了他的学分买单吗？</P>
<p>　　事例二</P>
<p>　　实习生们对常识的无知经常令人目瞪口呆！</P>
<p>
　　一个实习生主动请缨，要求独立完成一个采访任务。却不知道如何联系采访对象。当编辑告诉实习生采访对象的工作单位以后，这位“主动请缨”的实习生又问怎么才能知道采访对象工作单位的电话号码？查号台的号码是多少？</P>
<p>　　至此，编辑已经要晕倒了！</P>
<p>　　事例三</P>
<p>
　　一位杂志社的编辑遇到了一位“极品”实习生：编辑让实习生帮忙在网上收集一些素材，实习生很快打来电话：我怎么什么都搜不到啊？编辑很奇怪，很疑惑地问那实习生，你在网上不常用[百度]和GOOGLE吗？实习的学生丝毫没有愧色，反而振振有词地说：我经常搜，可是我不太会输入合适的关键词，所以，也就不知道怎么才能查到你想要的内容……</P>
<p>　　事后，这位编辑感慨：在这个知识链接爆炸的时代，这样的大学生怎能利用网络开阔自己的眼界？</P>
<p>　　事例四</P>
<p>　　这回不是发生在编辑部的故事，而是在一个公司。</P>
<p>　　一位在外资公司的销售主管，请了一位自称是“过了英语四六级，精通电脑办公软件和图像处理软件”的女大学生作助理。</P>
<p>
　　第一天上班就交给那学生一个任务：让她给一个已经转换为JPG的图片格式文件进行润色和加工。半个小时以后，主管却发现那女学生什么事情也没有干，问起来，那学生却理直气壮地问主管：怎么用Photoshop打开图片？</P>
<p>　　听到这个问题，主管几乎要把昨天晚上吃的饭都吐出来。</P>
<p>　　“有没有搞错？你不是说你能够熟练运用办公软件吗？”</P>
<p>　　“是啊”，那学生很自信地说，“我会用Word啊！那难道不是办公软件吗？”</P>
<p>　　结果就是这份文件仍然由主管自己来修改完成！</P>
<p>
　　接下来，实习生的表现更是令主管大跌眼镜：上班迟到，简单的只有500单词的一个技术资料，整整翻译了6个小时，还没有个眉目……</P>
<p>　　……</P>
<p>
　　好了，学生就业难的确是一个问题，但是，这样的学生素质，实在是令人不敢恭维，设身置地地替那些用人单位考虑一下，这样的素质，谁敢录用？</P>
<p>　　那么，就业难，求职难，究竟谁之过呢？</P>
</TD>
</TR>
</TBODY>
</TABLE>]]></description>
            <author>故乡的海岛</author>
            <category>学习教育与软件应用</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cfdo.html#comment</comments>
            <pubDate>Wed, 11 Mar 2009 13:20:56 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cfdo.html</guid>
        </item>
        <item>
            <title>强连通有向图同步网络-synBFS算法</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cf32.html</link>
            <description><![CDATA[在运行中的任一时刻，总有一个进程是被标记的。最初的时候是i0。进程i0在第一轮时向所有出向邻接节点发出一个搜索消息。在每一轮中，如果一个未标记的进程接收到一个搜索消息，就标记它自己，并且从传来搜索消息的进程里选择一个作为父节点。在一个进程被标记之后的第一轮，它向所有的出向邻接节点发送搜索消息。建立了一个BFS树，进行广度优先搜索。]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cf32.html#comment</comments>
            <pubDate>Tue, 10 Mar 2009 14:11:15 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cf32.html</guid>
        </item>
        <item>
            <title>强连通有向图同步网络中的领导者选举-洪泛算法</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cf2k.html</link>
            <description><![CDATA[<p>1、有向图来说，如果任意两个节点之间都有路径的话成为强连通图</P>
<p>2、</P>
<p>算法要求进程知道图的直径diam</P>
<p>
每个进程保持有一个最大UID的记录(最初是自己的UID).在每轮中,每个进程都要在自己的所有出向边上传播最大的UID.在diam轮后,如果得到的最大值是进程自己的UID,那么进程就把自己选为领导者,否则就成为非领导者。</P>
<p>这个算法可以优化为进程只在它们初次知道max-uid时发送消息. <em>不是每轮都发送</EM></P>]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cf2k.html#comment</comments>
            <pubDate>Tue, 10 Mar 2009 13:22:39 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cf2k.html</guid>
        </item>
        <item>
            <title>同步环中的领导者选择-时间片算法</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cf26.html</link>
            <description><![CDATA[<p>&nbsp;&nbsp;&nbsp;
在阶段1,2,...中进行计算，每一个都由n个连续的轮组成。每个阶段都有一个携带着特殊UID的令牌一直在个环中流转。更特别地，<font COLOR="#FF0000">在包含轮(v-1)n+1,...,vn的阶段中，只有带着UID
v的令牌才被允许流转</FONT>。</P>
<p>&nbsp;&nbsp;
如果存在UID为v的进程i，且在(v-1)n+1轮到达之前进程i没有收到任何非空消息，那么进程i就会把自己选举为领导者，并沿着环发送一个包含其UID的令牌。当这个令牌在传递的时候，所有其他进程都接收到它，这样它们就不会选举自己为领导者或在以后的阶段中创建令牌。</P>
<p>&nbsp; 在这个算法中，最小的UID 最终会环绕整个路径，它的原始进程被选举为领导者</P>
<p>&nbsp; 这个算法要求环的大小n所有进程都知道</P>
<p>&nbsp;</P>]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cf26.html#comment</comments>
            <pubDate>Tue, 10 Mar 2009 12:30:32 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cf26.html</guid>
        </item>
        <item>
            <title>同步环中的领导者选举-HS算法</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cezs.html</link>
            <description><![CDATA[<p>每个进程i在阶段0,1,2.....中操作。在每个阶段l中，进程i向两个方向发出自己<font STYLE="FONT-SIZE: 20px">UIDu</FONT><font STYLE="FONT-SIZE: 10px">i</FONT>的令牌。这些令牌会前进2^l的距离，然后回到自己原来的进程i,如果2个令牌都能安全回来，那么进程i就会继续下一个阶段。但是，令牌可能不会安全返回。当一个<font SIZE="5">u<font STYLE="FONT-SIZE: 10px">i<font STYLE="FONT-SIZE: 14px">的令牌在外出方向前进时，任何在u的路径上的进程j都会把自己的UID
uj和ui进行比较，如果ui&lt;uj，那么进程j就会丢弃这个令牌；如果ui&gt;uj，它就会继续ui.如果ui=uj，则说明进程j在令牌反转之前就已经接收到自己的UID,所以进程j会所自己选为领导者。</FONT></FONT></FONT></P>
<p>所有进程总是继续传递所有进入方向的令牌。</P>]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cezs.html#comment</comments>
            <pubDate>Tue, 10 Mar 2009 08:43:19 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cezs.html</guid>
        </item>
        <item>
            <title>如何产生互素的2个大数</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cbyv.html</link>
            <description><![CDATA[<p>
一个办法，作个3个互素数组。（A，B，A*B+1），其中的A、B互素，B为一个与A互素的数的序列中随机选数，则第三个数谁猜得到。<br />

不一定非得加1<br />
产生2个互素的数的方法<br />
先把A研究透，看A有哪些素因子，只要排除这些就可以。所以A最好选个大素数，这个似乎有表可查，网上找找看。素数在加密计算里是很重要的</P>
<p>A如果是素数，则1--（A-1）均可。</P>]]></description>
            <author>故乡的海岛</author>
            <category>算法与计算理论</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cbyv.html#comment</comments>
            <pubDate>Mon, 02 Mar 2009 01:44:30 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cbyv.html</guid>
        </item>
        <item>
            <title>公因数、素数、数域与数论</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cbsn.html</link>
            <description><![CDATA[<p>
1、任意n个整数的最大公因数一定存在，并且除相差一个符号（即：正号和负号）外，是由这n个整数唯一确定的。如2和6的最大公因数是2和-2。</P>
<p>2、d是整数a1,a2,...,an的一个最大公因数，那么存在整数t1,t2,...,tn使得(tnan指tn*an)</P>
<p>t1a1+t2a2+...+tnan=d</P>
<p>3、n个整数a1,a2,...,an互素的充分且必要条件是存在整数t1,t2,...,tn，使得</P>
<p>t1a1+t2a2+...+tnan=1</P>
<p>4、一个素数如果整除2个整数a与b的乘积，那么它至少整除a和b中的一个。</P>
<p>5、设S是复数集C的一个非空子集，如果对于S中任意2个数a,b来说，a+b,a-b,ab都在S内，则称S是一个数环。</P>
<p>6、设F是一个数环，如果</P>
<p>1)F含有一个不等于0的数；</P>
<p>2）如果a,b∈F且b≠0，则a/b∈F</P>
<p>称F是一个数域</P>
<p>7、如果除+1、-1、+p、-p外，没有其它的因数，则正整数p&gt;1称为一个素数</P>
<p>&nbsp;</P>]]></description>
            <author>故乡的海岛</author>
            <category>算法与计算理论</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cbsn.html#comment</comments>
            <pubDate>Sun, 01 Mar 2009 13:12:41 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cbsn.html</guid>
        </item>
        <item>
            <title>Erlang与JAVA交互操作</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100cb97.html</link>
            <description><![CDATA[<p>&nbsp;&nbsp;&nbsp; 试了一下传说中的
JInterface ，使用 OtpErlang.jar 的整个过程其实非常简单，似乎比 JMS 的程序都简单。</P>
<p>　　首先，我们要用 java 实现的原始 erlang 程序如下，没错，就是巨简单的 echo ，我们的目标是要把它用 java
来改写，不仅写服务端，也要写客户端。</P>
<p>&nbsp;</P>
<table CELLSPACING="1" CELLPADDING="1" WIDTH="80%" ALIGN="center" BORDER="1">
<tbody>
<tr>
<td BGCOLOR="#C0C0C0">　　-module(echo_client).
<p>　　-export([run/0]).</P>
<p>　　run()-&gt;</P>
<p>　　Msg= "Hello Echo!",</P>
<p>　　{echo, <a HREF="mailto:abc@merlin">abc@merlin</A>} ! {self(),
Msg},</P>
<p>　　io:format("send ~p ~n", [Msg]),</P>
<p>　　receive</P>
<p>　　Res-&gt;</P>
<p>　　io:format("received ~p ~n", [Res])</P>
<p>　　end.</P>
<p>　　-module(echo_server).</P>
<p>　　-export([start/0]).</P>
<p>　　start()-&gt;</P>
<p>　　register(echo, self()),</P>
<p>　　io:format("echo start~n", []),</P>
<p>　　loop().</P>
<p>　　loop()-&gt;</P>
<p>　　receive</P>
<p>　　{Pid, Msg} -&gt;</P>
<p>　　io:format("received ~p from ~p~n", [Msg, Pid]),</P>
<p>　　Pid! Msg</P>
<p>　　Any-&gt;</P>
<p>　　io:format("received ~p ~n", [Any])</P>
<p>　　end,</P>
<p>　　loop().</P>
</TD>
</TR>
</TBODY>
</TABLE>
<p>&nbsp;</P>
<p>　　写得并不严密，用了一堆硬编码，主要是个示例，就那么个意思，大家将就着看。</P>
<p>　　先说一下 JInterface 的一些基本概念。JInterface 的目的是：为 Java 提供一个包，使得 Java
程序在外部可以看起来就像一个标准的 Erlang Node 能以标准的 Erlang 方式与其他的节点进行通讯。它包装了 Erlang
节点之间分布式的通讯协议，编码解码，以及基本的 Erlang 操作，也就是 pid register send receive
link unlink 等等，朴实无华。不过，作为两个语言之间的接口包，有了这些基本功能也就足够了。</P>
<p>　　根据 Erlang 的目录惯例， JInterface 的 Jar 在
ERLANG_HOME/lib/jinterface-x.x/priv 目录下，名字为 OtpErlang.jar
。注意，必须使用和你当前 Erlang 版本下的包，否则出了什么妖怪问题，别来问我，就算是问我，我也不知道该怎么办。:D
之前一直有一个误解，想当然的以为 JInterface 会用 JNI 什么的来实现，而自从碰过一次以后，对 JNI
这种“难以掌控”的东西总觉得有点畏难，所以，迟迟都没有动手，没想到，竟是纯 Java
实现的一个包。用起来方便，部署起来也漂亮。爽！</P>
<p>　　闲话休提，直接上代码得了。先是 Client 的代码。</P>
<p>&nbsp;</P>
<table CELLSPACING="1" CELLPADDING="1" WIDTH="80%" ALIGN="center" BORDER="1">
<tbody>
<tr>
<td BGCOLOR="#C0C0C0">　　packagecom.test.erlang
<p>　　import java.io.IOException</P>
<p>　　import com.ericsson.otp.erlang.*;</P>
<p>　　public classErlangEchoClient{</P>
<p>　　public staticvoidmain(String[]args)throwsIOException{</P>
<p>　　String v=
System.getProperties().getProperty("OtpConnection.trace")</P>
<p>　　System.out.println("OtpConnection.trace="+v)</P>
<p>　　OtpNode self= newOtpNode("bcd", "123")</P>
<p>　　System.out.println("node:"+self.node())</P>
<p>　　System.out.println("cookie:"+self.cookie())</P>
<p>　　if (self.ping("abc", 2000)){</P>
<p>　　System.out.println("remote is up")</P>
<p>　　} else{</P>
<p>　　System.out.println("remote is not up")</P>
<p>　　return</P>
<p>　　}</P>
<p>　　String text= "Hi there"</P>
<p>　　OtpMbox mbox= self.createMbox()</P>
<p>　　OtpErlangObject[] msg= newOtpErlangObject[2]</P>
<p>　　msg[0]= mbox.self()</P>
<p>　　msg[1]= new OtpErlangString(text)</P>
<p>　　OtpErlangTuple tuple= newOtpErlangTuple(msg)</P>
<p>　　mbox.send("echo", "abc", tuple)</P>
<p>　　System.out.println("send:"+text)</P>
<p>　　try{</P>
<p>　　OtpErlangObject reply= mbox.receive()</P>
<p>　　System.out.println("receive[raw]:"+reply)</P>
<p>　　if (replyinstanceofOtpErlangString){</P>
<p>　　OtpErlangString text2= (OtpErlangString)reply</P>
<p>　　System.out.println("receive[text]:"+text2)</P>
<p>　　}</P>
<p>　　} catch (Exceptione){</P>
<p>　　System.out.println(""+ e)</P>
<p>　　}</P>
<p>　　}</P>
<p>　　}</P>
<p>　　packagecom.test.erlang</P>
<p>　　import java.io.IOException</P>
<p>　　import com.ericsson.otp.erlang.*;</P>
<p>　　public classErlangEchoServer{</P>
<p>　　public staticvoidmain(String[]args)throwsIOException{</P>
<p>　　String v=
System.getProperties().getProperty("OtpConnection.trace")</P>
<p>　　System.out.println("OtpConnection.trace="+v)</P>
<p>　　OtpNode self= newOtpNode("server1", "123")</P>
<p>　　System.out.println("node:"+self.node())</P>
<p>　　System.out.println("cookie:"+self.cookie())</P>
<p>　　OtpMbox mbox= self.createMbox("echo")</P>
<p>　　String[] names= self.getNames()</P>
<p>　　for(int
i=0i&lt;names.lengthi++)System.out.println("name:"+names[i])</P>
<p>　　while (true){</P>
<p>　　try{</P>
<p>　　OtpErlangObject request= mbox.receive()</P>
<p>　　System.out.println("receive[raw]:"+request)</P>
<p>　　if (requestinstanceofOtpErlangTuple){</P>
<p>　　OtpErlangTuple t= (OtpErlangTuple)request</P>
<p>　　OtpErlangPid pid= (OtpErlangPid)(t.elementAt(0))</P>
<p>　　OtpErlangString text= (OtpErlangString)(t.elementAt(1))</P>
<p>　　System.out.println("receive[text]:"+text)</P>
<p>　　OtpErlangString response= text</P>
<p>　　mbox.send(pid, response)</P>
<p>　　}</P>
<p>　　} catch (Exceptione){</P>
<p>　　System.out.println(""+ e)</P>
<p>　　}</P>
<p>　　}</P>
<p>　　}</P>
<p>　　}</P>
</TD>
</TR>
</TBODY>
</TABLE>
<p>&nbsp;</P>
<p>　　这里有几个需要提示的地方。</P>
<p>　　1. OtpErlang.jar 里面会访问系统变量 OtpConnection.trace 当它不为 0 时会显示链底层的
debug 信息。在调试时，这个设置就像照妖镜，有啥妖怪问题，都给照出来了。</P>
<p>　　2. setcookie 很重要。我这里是明确指定 123 作为 cookie ，如果这个 cookie
不匹配（比如，最好用： erl -setcookie 123 来启动）两端就死活也连不上，尤其是当你没有把上面的 trace
打开的时候，那你就去找去吧。</P>
<p>　　3. epmd 是 erlang 通讯机制的基础。也就是说，运行的时候，至少需要有一个 epmd
在运行（实际上也只会有一个）。比如说 java client 调用 erlang server ，erlang client 调
java server ，erlang client 调 erlang server 都很正常的不会有问题。而如果你要 java
client 调 java server 的时候，最好先确认一下系统中有 epmd 正在运行。否则就会很邪。而启动一个 epmd
的超简单方法就是打开一个 erlang 的 console ，什么也不干都行。</P>
<p>　　扩充话提：Java Node 是 Hidden Node，一般启动的 Erlang 程序都运行在非 hidden node
模式下。具体 Hidden Node
的区别超出了本日志的范围，大家自己啃文档吧(其实是我也没看得很透彻，就不误导大家了，哈哈)。</P>
<p>　　再来个体外话，有了 JInterface 就等于在 Java 和 Erlang
的世界之间架起了一座桥梁。通过这个桥梁能干吗呢？这个问题留给你自己去想</P>]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100cb97.html#comment</comments>
            <pubDate>Sat, 28 Feb 2009 09:20:50 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100cb97.html</guid>
        </item>
        <item>
            <title>中国科学院研究生院2009年招收攻读博士学位研究生简</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100c9xr.html</link>
            <description><![CDATA[<table CELLSPACING="0" CELLPADDING="0" WIDTH="90%" BORDER="0">
<tbody>
<tr VALIGN="center" ALIGN="middle">
<td BGCOLOR="#E6E6E7" COLSPAN="2" HEIGHT="30">
中国科学院研究生院2009年招收攻读博士学位研究生简章</TD>
</TR>
<tr VALIGN="top">
<td COLSPAN="2" HEIGHT="5"></TD>
</TR>
<tr>
<td ALIGN="right"></TD>
<td VALIGN="bottom" ALIGN="right" HEIGHT="25">admin
(2008年7月17日9:51)</TD>
</TR>
<tr>
<td VALIGN="top" HEIGHT="5"></TD>
<td VALIGN="top" HEIGHT="5"></TD>
</TR>
<tr VALIGN="top">
<td COLSPAN="2">
<p>
中国科学院不仅是我国规模最大、学科最全、实力最强的国立研究机构，也是国家培养高级人才的重要基地。1978年中国科学院率先在全国恢复研究生招生，并经国务院批准创办了我国第一所研究生院——中国科学技术大学研究生院（北京）。2000年，经国务院学位委员会和教育部批准，更名为中国科学院研究生院。</P>
<p>
中国科学院研究生院隶属于中国科学院，由设在北京的研究生院本部、分处全国各地的100多个研究生培养单位(招生的各研究院、所、台、园、站、中心)共同组成，是一个以北京为中心、联系和覆盖全国的研究生教育实体。研究生院本部负责统一组织和管理中国科学院系统各培养单位的研究生招生、培养和学位授予工作，并负责京区研究生基础课程的集中教学。各培养单位是研究生招生和培养的具体实施单位。</P>
<p>
中国科学院拥有一大批学术造诣深、国际影响大的学术带头人和导师队伍，有处于国际学术前沿和国家战略需求的研究项目、良好的科研条件、广泛的国内外学术交流途径以及激励创新的文化环境，在理学、工学、农学、医学、管理学、哲学、教育学等学科门类的众多领域具有明显的学科优势。</P>
<p>
中国科学院研究生院现有在学研究生34000余名，其中博士研究生17000多名。遍布全国各地的研究生培养单位拥有4个国家实验室、50余个国家重点实验室、70余个中国科学院重点实验室、20余个国家工程研究中心，并设有100多个博士后科研流动站。</P>
<p>
2009年中科院研究生院有110个培养单位、10个院系在7个学科门类、37个一级学科、144个专业计划招收5000余名博士研究生。</P>
<p>博士研究生毕业后在国家的就业政策指导下“双向选择”就业（定向生除外），学习年限一般为3年。</P>
<p>一、培养目标</P>
<p>
培养德智体全面发展，爱国守法，在本学科领域掌握坚实宽广的基础理论和系统深入的专门知识，具有独立从事科学研究及相关工作的能力，能在科学研究和专门技术上做出创造性成果的高级专门人才。</P>
<p>二、报考条件</P>
<p>1.拥护中国共产党的领导，愿意为社会主义现代化建设服务，品德良好，遵纪守法。</P>
<p>
2.已获得硕士学位的人员；或为应届硕士毕业生（最迟须在入学前取得硕士学位）；或获得学士学位满六年（从获得学士学位到博士生入学之日）并达到与硕士毕业生同等学力的人员。</P>
<p>3.身体健康状况符合培养单位规定的体检要求。</P>
<p>4.年龄一般不超过45周岁，报考定向的考生年龄不限。</P>
<p>5.有两名与报考学科有关的副教授（或相当职称）以上专业技术职务的专家推荐。</P>
<p>
6.下列情况的考生报考时须征得委托培养或定向培养单位的同意。考生与所在单位或委托、定向单位因报考问题引起的纠纷，招生单位不承担责任。</P>
<p>（1）现为委托培养或定向培养的应届毕业硕士生；</P>
<p>（2）拟报考定向培养的考生；</P>
<p>（3）原为委托培养或定向培养的硕士生，现正在履行合同服务期的在职人员考生。</P>
<p>7.现役军人考生，按中国人民解放军总政治部的规定办理报考手续。</P>
<p>三、报名方式及报名手续</P>
<p>1.报名采取网上提交报考信息的方式。报名时间:</P>
<p>春季（入学）博士网报时间:2008年8月18日—9月18日；</P>
<p>秋季（入学）博士网报时间：2008年12月8日—2009年1月18日。</P>
<p>报名请登陆中国科学院研究生院招生信息网，网址：http://admission.gucas.ac.cn。</P>
<p>2.符合报考条件的报考人员需按中国科学院研究生院要求进行网上报名，并在规定的期限内向培养单位提交下列材料：</P>
<p>（1）打印网上报名时填写好的攻读博士学位研究生报考登记表；</P>
<p>（2）两名副教授（或相当职称）以上专业技术职称同行专家的推荐书；</P>
<p>（3）硕士课程成绩单，硕士学位证书复印件（应届毕业硕士生必须在入学前补交）或证明书；</P>
<p>（4）有效证件复印件（身份证、军官证、护照、港澳台身份证）；</P>
<p>（5）培养单位要求提交的其它材料；</P>
<p>（6）以同等学力身份报考的人员按培养单位的要求提交有关材料。</P>
<p>
3.报考单位对考生的报名材料进行审查，向符合报考条件的考生发放准考证。在复试阶段将对报考资格进行复查。凡不符合报考条件的考生将不予录取，相关后果由考生本人承担。</P>
<p>4. 各培养单位可自行决定是否进行春秋两次招生，请考生报考前主动与报考的培养单位联系。</P>
<p>四、考试科目及考试方式</P>
<p>1.考试分初试、复试两个阶段。</P>
<p>
2.初试的笔试科目为：政治理论课（已获得硕士学位的人员和应届硕士毕业生可以申请免试）、外国语（语种以各培养单位专业目录为准，听力测试在复试中进行）和不少于两门的业务课，每门科目的考试时间为3小时，满分为100分。政治理论课、外国语由中国科学院研究生院统一命题，业务课由各培养单位自行命题或联合命题。</P>
<p>3.初试时间</P>
<p>（1）春季入学招生考试：</P>
<p>外国语考试时间：2008年10月18日上午8：30～11：30；</P>
<p>政治理论考试时间:2008年10月19日下午14:00～17：00；</P>
<p>（2）秋季入学招生考试：</P>
<p>外国语考试时间：2009年3月21日上午8：30～11：30。</P>
<p>政治理论考试时间:2009年3月22日下午14：00～17：00。</P>
<p>
4.同等学力考生除了必须进行政治理论课笔试外，还必须加试所报考专业的两门硕士主干课程，加试科目不得与初试科目相同，加试方式为笔试，每门加试科目考试时间不少于2小时。</P>
<p>5.复试的时间、内容和方式按培养单位的规定进行。</P>
<p>五、录取</P>
<p>
根据国家下达的招生计划、考生入学考试的成绩（含初试和复试成绩）、硕士（本科）阶段的学习成绩、硕士（学士）学位论文和评议书、思想政治表现、业务素质以及身体健康状况择优确定录取名单，其中政审、体检不合格或复试不及格的考生不予录取。</P>
<p>六、其它</P>
<p>1.本简章如有与新出台的招生政策不符的,以新政策为准。</P>
<p>2．硕博连读生和提前攻博生的考核和录取，由各培养单位按照有关规定进行。</P>
<p>
3.考生可通过中国科学院研究生院招生信息网http://admission.gucas.ac.cn/查阅全院招生专业目录、部分科目考试大纲和参考书目及培养单位联系方式等相关招生信息，或直接向相关培养单位咨询报考事宜。</P>
<p>4.联系人：蔡老师</P>
<p>电 &nbsp;话：010-88256215</P>
<p>地 &nbsp;址：北京玉泉路19号（甲），中国科学院研究生院招生办公室</P>
<p>邮&nbsp; 编：100049</P>
<p>网&nbsp; 址：http://admission.gucas.ac.cn/</P>
<p>E-mail: ao@gucas.ac.cn</P>
</TD>
</TR>
</TBODY>
</TABLE>]]></description>
            <author>故乡的海岛</author>
            <category>学习教育与软件应用</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100c9xr.html#comment</comments>
            <pubDate>Wed, 25 Feb 2009 09:02:13 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100c9xr.html</guid>
        </item>
        <item>
            <title>自然语言理解-转移网络</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100c81e.html</link>
            <description><![CDATA[<p>1、简单的转移网络就是有限状态自动机。边标记为词类。</P>
<p>
2、递归转移网络的边不仅可标记为词类，还可以标记为其他的网络（可以理解为子网）。因此子网成功到达弹出边后，从父网的节点S1到节点S2的边才能通过。</P>
<p>3、</P>
<p>当前位置-指向下一会待分析词的位置指针</P>
<p>当前节点-在转移网中当前所在的节点</P>
<p>返回点-从当前网络中返回退出后进入其他网络的节点栈</P>
<p>下列情形可以离开当前的节点，并成功穿过一条边：</P>
<p>情形1：如果当前边标记的是词类，并句子中的下一个词就属于该词类，则：</P>
<p>1）更新当前位置，当前位置从下一个词开始。</P>
<p>2）更新当前节点，当前节点指向当前边的终点。</P>
<p>情形2：如果当前边是指向转移网络N的压入边，则：</P>
<p>1）将当前边的终点加入到返回点栈的顶部。</P>
<p>2）更新当前节点，当前节点指向转移网络N的起点。</P>
<p>情形3：如果当前边是弹出边，而且返回点栈非空，则：</P>
<p>1）取出返回点栈中的第一个返回点，并将其设为当前节点。</P>
<p>情形4：如果当前边是弹出边，返回点栈为空，而且没有词语剩下，则：</P>
<p>1）句法分析成功。</P>
<p>&nbsp;</P>
<p>&nbsp;</P>]]></description>
            <author>故乡的海岛</author>
            <category>搜索引擎与人工智能</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100c81e.html#comment</comments>
            <pubDate>Fri, 20 Feb 2009 02:14:42 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100c81e.html</guid>
        </item>
        <item>
            <title>erlang-异常的抛出和处理</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100c7sk.html</link>
            <description><![CDATA[<p>一、函数本身崩溃，自己产生异常。</P>
<p>二、对于if和case子句，找不到匹配发生异常。</P>
<p>三、人工抛出异常</P>
<p>1、exit(why)</P>
<p>
当想要终止当前进程时，就需要用到这个函数。如果这个异常未被捕获，那么系统会向所有与当前进程相连接的进程广播{'EXIT',Pid,Why}消息。</P>
<p>2、throw(why)</P>
<p>这个函数用于抛出一个调用者可能会捕获的异常，</P>
<p>3、erlang:error(Why)</P>
<p>这个函数用于抛出那些崩溃异常。</P>
<p>四、</P>
<p>处理语法</P>
<p>1、</P>
<p>try FuncOrExpressionSequence of</P>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Pattern1 [when Guard1]-&gt;Expressions1;</P>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Pattern2 [when Guard2]-&gt;Expressions2;</P>
<p>catch</P>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ExceptionType:ExPattern1 [when
ExGuard1]-&gt;Expressions1;</P>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ExceptionType:ExPattern2 [when
ExGuard2]-&gt;Expressions2;</P>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
...</P>
<p>after</P>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
AfterExpressions</P>
<p>end</P>
<p>2、</P>
<p>使用catch原语，转换异常为描述这个错误的一个元组。</P>
<p>catch generate_exception(I)</P>
<p>&nbsp;</P>
<p>五、</P>
<p>1、捕获所有可能的异常</P>
<p>try&nbsp;Expr</P>
<p>catch</P>
<p>&nbsp;&nbsp;
_:_-&gt;.......code.....</P>
<p>end</P>
<p>2、忽略异常标签，不能捕获所有的错误</P>
<p>&nbsp;</P>
<p>try&nbsp;Expr</P>
<p>catch</P>
<p>&nbsp;&nbsp;
_-&gt;.......code.....</P>
<p>end</P>]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100c7sk.html#comment</comments>
            <pubDate>Thu, 19 Feb 2009 09:16:23 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100c7sk.html</guid>
        </item>
        <item>
            <title>自然语言理解-自底向上chart句法分析</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100c7hz.html</link>
            <description><![CDATA[<p>一、建立一个chart句法分析用的待处理表和一个活动边库。</P>
<p>二、边扩展算法 (o表示当前位置)</P>
<p>添加一个从位置P1到位置P2的成分C:</P>
<p>1、将C加入到chart的位置P1和位置P2之间</P>
<p>
2、对任意一条形式为X-&gt;X1...oC...Xn的活动边，如果该活动边在位置P0和P1之间，则在位置P0和P2之间添加一条活动边X-&gt;X1...Co....Xn</P>
<p>
3、对任意一条形式为X-&gt;X1...XnoC的活动边，如果该活动边在位置P0和P1之间，则在待处理表中增加一个新的成分X，该成分在位置P0和P2之间。</P>
<p>三、自底向下的chart句法分析算法</P>
<p>1、如果待处理表为空，在词典中查找下一个输入词语的解释，并将它们都加入到待处理表中</P>
<p>2、从待处理表中选择一个成分。（假定该成分为C，其跨度为从位置P1到P2）</P>
<p>
3、对语法中每条形式为X-&gt;CX1...Xn的规则，增加一条活动边X-&gt;OX1...Xn，其跨度为从位置P1到位置P2。</P>
<p>4、采取上述的边扩展算法将C加入到chart中</P>]]></description>
            <author>故乡的海岛</author>
            <category>搜索引擎与人工智能</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100c7hz.html#comment</comments>
            <pubDate>Wed, 18 Feb 2009 13:43:59 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100c7hz.html</guid>
        </item>
        <item>
            <title>erlang-3种标点符号</title>
            <link>http://blog.sina.com.cn/s/blog_3dc2673e0100c69u.html</link>
            <description><![CDATA[<p>1、逗号用来分隔函数调用、数据构造器以及模式中的参数。</P>
<p>2、句号(后跟一个空白符号)用来在shell中分隔完整的函数和表达式。</P>
<p>3、分号用来分隔子句,以下是用到子句的地方：</P>
<p>1）分段的函数定义</P>
<p>2）case语句</P>
<p>3）if语句</P>
<p>4）try...catch语句</P>
<p>5）receive表达式</P>
<p>&nbsp;</P>]]></description>
            <author>故乡的海岛</author>
            <category>并行计算与分布计算</category>
            <comments>http://blog.sina.com.cn/s/blog_3dc2673e0100c69u.html#comment</comments>
            <pubDate>Mon, 16 Feb 2009 03:48:21 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_3dc2673e0100c69u.html</guid>
        </item>
    </channel>
</rss>
