<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>西瓜田 &#187; 遗传算法</title>
	<atom:link href="http://blog.thpiano.com/?feed=rss2&#038;tag=%E9%81%97%E4%BC%A0%E7%AE%97%E6%B3%95" rel="self" type="application/rss+xml" />
	<link>http://blog.thpiano.com</link>
	<description>无复洛城东</description>
	<lastBuildDate>Tue, 19 Jan 2021 03:54:37 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Day 8259 生不出好贝壳</title>
		<link>http://blog.thpiano.com/?p=291</link>
		<comments>http://blog.thpiano.com/?p=291#comments</comments>
		<pubDate>Thu, 17 Nov 2011 13:49:50 +0000</pubDate>
		<dc:creator>suika</dc:creator>
				<category><![CDATA[日常流水账]]></category>
		<category><![CDATA[遗传算法]]></category>

		<guid isPermaLink="false">http://172.18.126.172/blog/?p=291</guid>
		<description><![CDATA[自从看到松鼠会的文章之后，对遗传算法总算脱离了“十窍已通九窍”的状态 真是好文呀！以贝壳的故事开头，讲得很生动透彻 于是立刻就起了动手的打算，结果因为OpenCV方面的不顺利，又额外拖了好久 在五月病中终觉实在太不像话，总算有一天把OpenCV的HelloWorld搞定了（说来还想写篇日志讲OpenCV的HelloWorld来着，结果感觉不值得一写就永久草稿箱了），之后发现OpenCV的基本图形API竟然不支持透明度！ 于是换为对像素的直接操作，程序倒是意外地很快写完了；毕竟以前上课无聊的时候，还曾写过伪代码，自然会快一些了 一开始速度非常非常龟，因为自己在画三角形时是用的点穷举看在不在三角形内的算法，所以慢的不行； 后来网上搜了个和bresenham有点像的算法，效率大大提升（大概是10倍以上吧），还真是要感谢数字媒体课上的李同学，不是她那个演讲介绍带路的话，估计又要卡一阵了 &#160; 但是最后跑的效果……非常非常差 1.效率极其差劲 目标是用100个透明三角形拼成一个100x100像素的火狐ico，种群大小100的情况下一代要0.3秒（当然越多速度越慢） 真是慢死了！跑个2w代要1小时！让人无法忍受啊 但是又不知道效率是慢在哪里。评估函数太慢？我只能想到遍历啊；把每次的销毁-&#62;重新生成改为直接在原基础上复用内存，速度也只从100代的30秒缩减到27秒而已，还要付出代码可读性的下降。 &#160; 2.效果极其差劲 怎么说呢，一句话概括，跑了几万代也不见有个像的模样！细节就不要求了，好歹大体轮廓给我出来一个啊求你了TAT 产生算法由完全随机改为直接从原图像取中间点像素，虽然有轮廓但是还是几万代不见有改善的啊喂 难道是评估算法不对头？我是挨个像素判断RGB绝对值，想不到更容易想的了…… 难道是种群数量太小？100的种群大小，那就是1w个三角形，现在已经够慢的了…… 难道是约减和交配有问题？我承认这边写的很粗糙，就是一个排序然后把后面几位全砍了；交配无论用随机还是1位优先，看上去区别都不大啊 &#160; 看来得慢慢debug了……养贝壳之路任重道远啊 在记坑的笔记本上，还写了蚂蚁寻路，觉得那个也挺好玩的；但是不知道这两个算法我究竟应该投入多少时间才好，毕竟方向还没选定…… &#160; ==================================================================== 真是好久没写流水账了；前一阵还和研习密码学的女生就孙同学的上课水平进行了讨论，对面的结论却是“讲得不怎么样”。 说来能谈论这个话题，还是因为自己的日志有幸被人看到了——总算写博客有点动力了啊!每天寂寞地翻着连接log的我是多么凄惨 我觉得双方有着不同的结论，可能与我之前的经历有关: 作为一个关注同人圈的人，也一直被同人圈内鼓励创作、相互欣赏的气氛所感染（实际上正是这种气氛使得我无比向往这个小圈子），经常会注意到这种现象： 当自己熟识的人发表作品时，往往着眼点并不是内容究竟有多精彩，而是作者花了多少心血、有多辛苦；即使抱着客观之心去体验内涵，也往往因为现实关系而得到比常人更深刻的理解，评价标准也会适度放宽。 一旦从这个角度去体验、评判作品，褒奖之词就再也说不完了…… &#160; 不过我还要坚持我的观点，孙同学的确讲得很不错呀 &#160; 昨晚上还和未闻姓名的女同学（其实是3班的，心里也有谱，但是毕竟开学都好几个月了我也不好意思去确认……）进行了聊天，对面真是目标好明确每日努力，令我倍感压力…… 在入学时就被批评说“找不到方向可不行”，没想到开学三月后依然如此 在别人都找到目标，并带着动力奋力拼搏前进时，我却仿佛跌入了方向不可知的漩涡，漫无边际地原地打转，盘旋下沉 真是太糟糕了！五月病赶快好起来吧]]></description>
			<content:encoded><![CDATA[<p>自从看到松鼠会的文章之后，对遗传算法总算脱离了“十窍已通九窍”的状态<br />
真是好文呀！以贝壳的故事开头，讲得很生动透彻</p>
<p>于是立刻就起了动手的打算，结果因为OpenCV方面的不顺利，又额外拖了好久<span id="more-291"></span></p>
<p>在五月病中终觉实在太不像话，总算有一天把OpenCV的HelloWorld搞定了（说来还想写篇日志讲OpenCV的HelloWorld来着，结果感觉不值得一写就永久草稿箱了），之后发现OpenCV的基本图形API竟然不支持透明度！</p>
<p>于是换为对像素的直接操作，程序倒是意外地很快写完了；毕竟以前上课无聊的时候，还曾写过伪代码，自然会快一些了</p>
<p>一开始速度非常非常龟，因为自己在画三角形时是用的点穷举看在不在三角形内的算法，所以慢的不行；</p>
<p>后来网上搜了个和bresenham有点像的算法，效率大大提升（大概是10倍以上吧），还真是要感谢数字媒体课上的李同学，不是她那个演讲介绍带路的话，估计又要卡一阵了</p>
<p>&nbsp;</p>
<p>但是最后跑的效果……非常非常差</p>
<p>1.效率极其差劲</p>
<p>目标是用100个透明三角形拼成一个100x100像素的火狐ico，种群大小100的情况下一代要0.3秒（当然越多速度越慢）</p>
<p>真是慢死了！跑个2w代要1小时！让人无法忍受啊</p>
<p>但是又不知道效率是慢在哪里。评估函数太慢？我只能想到遍历啊；把每次的销毁-&gt;重新生成改为直接在原基础上复用内存，速度也只从100代的30秒缩减到27秒而已，还要付出代码可读性的下降。</p>
<p>&nbsp;</p>
<p>2.效果极其差劲</p>
<p>怎么说呢，一句话概括，跑了几万代也不见有个像的模样！细节就不要求了，好歹大体轮廓给我出来一个啊求你了TAT</p>
<p>产生算法由完全随机改为直接从原图像取中间点像素，虽然有轮廓但是还是几万代不见有改善的啊喂</p>
<p>难道是评估算法不对头？我是挨个像素判断RGB绝对值，想不到更容易想的了……</p>
<p>难道是种群数量太小？100的种群大小，那就是1w个三角形，现在已经够慢的了……</p>
<p>难道是约减和交配有问题？我承认这边写的很粗糙，就是一个排序然后把后面几位全砍了；交配无论用随机还是1位优先，看上去区别都不大啊</p>
<p>&nbsp;</p>
<p>看来得慢慢debug了……养贝壳之路任重道远啊</p>
<p>在记坑的笔记本上，还写了蚂蚁寻路，觉得那个也挺好玩的；但是不知道这两个算法我究竟应该投入多少时间才好，毕竟方向还没选定……</p>
<p>&nbsp;</p>
<p>====================================================================</p>
<p>真是好久没写流水账了；前一阵还和研习密码学的女生就孙同学的上课水平进行了讨论，对面的结论却是“讲得不怎么样”。</p>
<p>说来能谈论这个话题，还是因为自己的日志有幸被人看到了——总算写博客有点动力了啊!每天寂寞地翻着连接log的我是多么凄惨</p>
<p>我觉得双方有着不同的结论，可能与我之前的经历有关:</p>
<p>作为一个关注同人圈的人，也一直被同人圈内鼓励创作、相互欣赏的气氛所感染（实际上正是这种气氛使得我无比向往这个小圈子），经常会注意到这种现象：</p>
<p>当自己熟识的人发表作品时，往往着眼点并不是内容究竟有多精彩，而是作者花了多少心血、有多辛苦；即使抱着客观之心去体验内涵，也往往因为现实关系而得到比常人更深刻的理解，评价标准也会适度放宽。</p>
<p>一旦从这个角度去体验、评判作品，褒奖之词就再也说不完了……</p>
<p>&nbsp;</p>
<p>不过我还要坚持我的观点，孙同学的确讲得很不错呀</p>
<p>&nbsp;</p>
<p>昨晚上还和未闻姓名的女同学（其实是3班的，心里也有谱，但是毕竟开学都好几个月了我也不好意思去确认……）进行了聊天，对面真是目标好明确每日努力，令我倍感压力……</p>
<p>在入学时就被批评说“找不到方向可不行”，没想到开学三月后依然如此</p>
<p>在别人都找到目标，并带着动力奋力拼搏前进时，我却仿佛跌入了方向不可知的漩涡，漫无边际地原地打转，盘旋下沉</p>
<p>真是太糟糕了！五月病赶快好起来吧</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thpiano.com/?feed=rss2&#038;p=291</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
