Gav*_*ard 15 algorithm genetic-algorithm
我试图找到一个经典2D包装问题的变体的解决方案 - 类似于这个问题.
给定任意多边形P和短语W,我想使用平移,缩放和90度旋转将W的字母"打包" 到P中,这样:
我想要实现的一些例子:

我已经开始建立一个遗传算法来尝试解决这个问题,它采用以下方法:
256x256 ;26*length(W)位的染色体);n从信一和length(W) - n信从乙 ;1 / 26;目前,算法正在运行并找到解决方案,尽管它们并不特别漂亮,因为适应度函数没有考虑字母之间的重叠或可读性约束.
它也很慢,因为适应性评估需要大量的几何计算(我在Ruby中编写算法,但使用C扩展来处理几何体).我正在考虑使用神经网络(或者可能是SVM)来生成符合本文和本文中的想法的适应度估计.
关于到目前为止我做了什么,我有几个问题:
首先,整体方法是否有意义?显然,大部分的工作和计算时间都在调整适应度函数,但在我深入研究之前,我想检查一下我是朝着正确的方向前进,并且没有一种不同的方法可以解决这个问题.更好.
如何制定适应度函数来解释字母排序/可读性约束?
我是否可以对健身功能进行任何优化以改善我可以计算的世代数?
任何其他想法或建议也将非常感激.我已经阅读了大多数关于类似主题的现有SO问题,并阅读了很多关于该主题的论文,但没有涉及任何专门处理文本包装的问题.
谢谢!
Laz*_*zer 10
问:我如何制定适应度函数来解释字母排序/可读性约束?
文本可读性与流程有关,即单词的后续字母处于眼睛移动的相同后续方向.我认为像下面这样简单的技术可能会起作用.

脚步:
angle 1向angle 5上方展示了角度.35 degrees作为我们的值.angle 3和angle 4属于这一类,所以count = 2.count在上一步骤中获得的值大于特定值,则文本放置不可读.我希望我能够解释这个想法.相同的衍生物可能是一个很好的解决方案.