今天想做一个拼图自动完成程序,一开始老想着怎么搭建模型,描述输入和损失这些事,套深度学习去解决这个问题,自我对话写了长长的一个 txt 文档
后面一拍脑袋,这事其实没必要搞那么复杂
- 一块拼图有自己的海岸线,可以按上下左右,分成四份海岸线
- 每个海岸线按每个“平,凹,凸”的最小变化单元,等分成若干份,然后可以编码成一个 N 位的每个元素在 {-1, 0, 1} 的向量
- 每块拼图可以用 (朝向,离散横坐标,离散纵坐标) 三个数字表示自己的一个状态
- 三维空间中,一块拼图的状态对应一个点,100 块拼图就是 100 个点
- 列一组线性方程,描述这 100 个点的分布必须遵守的各种约束条件
- 然后定义损失函数,所有拼图相邻的海岸线向量,距离之和最小
- 最后输入 lingo,让机器解方程,算出这 100 个点最正确的排列就行了
暂无评论