×

工业设计互动平台

手机短信,快捷登录

微信登录,快人一步

QQ登录

只需一步,快速开始

GH-八皇后排除算法

发布于 2014-1-13 2 点赞 4 评论 7815 浏览

本帖最后由 wyx10022 于 2014-1-14 09:20 编辑

在之前的大家来思考10-八皇后手工算法,抛砖引玉一帖中,大家一起
探讨了八皇后算法的各种研究方法,
2.jpg
最后证实代码方法为最简方法,其中以
@hskcool 同学的python代码算法
http://www.xuexiniu.com/forum.php?mod=redirect&goto=findpost&ptid=56362&pid=837694&fromuid=112757
和王鹏老师的C#算法简单易行http://www.xuexiniu.com/forum.php?mod=redirect&goto=findpost&ptid=56362&pid=837646&fromuid=112757

我之前一度被局限在hoopsnake中,认为GH自带运算器无法实现这样的复杂逻辑……
后来跳出原始定势思维,才找到一种适合GH的八皇后算法,下图为92种解:


方法为排除法,即首先生成一定数量(不是全部)符合初级条件的八皇后点集树,
运用的是排列组合的逻辑思维,
大家来思考11-Grasshopper排列组合问题
就是锻炼的这种逻辑思维……然后经过两次排除不符合条件的点集树分支,得到
最终的92种结果……
程序截图:
21.jpg
两处cluster的地方,方法多种,有兴趣的同学可以参考研究,八皇后算法在建筑组团
布局摆放的过程中可以发挥很大的比选作用,这个应用在王振飞老师的《用程序写出来的建筑》中提到过……

另:关于排列组合问题,后续的《大家来思考》系列会继续和大家一起共同探讨研究……
初学GH的同学请谨慎参与……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩回复

文明上网理性发言、请文明用语

wyx10022 | 网校特聘讲师 | 发表于 2014-1-13 13:00:57

GH-八皇后排除算法

本帖最后由 wyx10022 于 2014-1-13 13:05 编辑

8皇后最终的92个解可以简化为12个原型,
这12个原型通过旋转和镜像可以得到其他解……
值得注意的是其中的一个解:
八皇后算法特例.jpg
其他11种原型通过四次镜像和四次旋转,都会得到8个不同的解,
但是这个解属于中心对称图形,它经过上述8次操作后,
有四个解是重合的,故原本应为8X12=96种解的最终结果,
减4,才得到的92种解……

0 回复

举报

南龍際天 | 实习生 | 发表于 2014-1-13 19:29:36
逻辑好清晰,沙发!
0 回复

举报

此间的少年 | 设计师 | 发表于 2014-1-30 15:40:33
本帖最后由 此间的少年 于 2014-1-30 15:43 编辑

关于数据处理还是用代码简单易行。原来帖子里有用c#和python了,这里补上一个用vb的。
之前有c程和free pascal基础。花了一小时简单了解了vb的基本语法。用最简单的循环嵌套做出来了。
QQ截图20140130152435.png

录像1.avi_1391067601.gif
用的不是穷举所以运算量不大。gh的运算器都是集成度很高的程序。所以有时候处理一些简单的数据会显得很不给力。
由此可见掌握一门语言(c#,vb,python)可以弥补基础运算一大片的空白。


0 回复

举报

参与人数 1经验 +4 收起 理由
wyx10022 + 4 很给力!

查看全部评分

wyx10022 | 网校特聘讲师 | 发表于 2014-1-30 21:47:16
本帖最后由 wyx10022 于 2014-1-30 22:22 编辑
此间的少年 发表于 2014-1-30 15:40
关于数据处理还是用代码简单易行。原来帖子里有用c#和python了,这里补上一个用vb的。
之前有c程和free pas ...

不错,可以把92种解都列举出来……
但是,关于GH运算器的论断结论还是为时过早,有可能还有更简单的方法没有被发现……
0 回复

举报

推荐学习