2019年11月,美国普林斯顿大学出版社出版了美国欧柏林学院数学教授罗伯特·博施的著作OPT ART:From Mathematical Optimization to Visual Design(本文作者译为“优化艺术:从数学优化到视觉设计”)。

书中有一幅图,远看是美国前总统奥巴马的头像,近看是无数白色块嵌在黑色背景上。具体点说,这些白色块是双九多米诺骨牌上的白点。所谓“双九”,是说每块骨牌分成两个区,每个区内有0到9个不等的白点,表示不同的数字。一套双九多米诺骨牌有55张。奥巴马的头像是用44套骨牌(共2420张)拼出来的。必须巧妙地安放这些骨牌,才能使肉眼觉得这些深浅、明暗不同的色块组成了有意义的图像。

40年前,贝尔实验室的计算机科学家兼艺术家Ken Knowlton(1931年生)首创将多米诺骨牌用作视觉表达的媒介。用骨牌创作奥巴马头像的则是本书作者博施,他大大提升了书呆子爱玩的骨牌拼图游戏的层次。他的目标,不仅是用骨牌拼出一个与原图很像的图形,而且要求拼图的光影模式与原图密切匹配。本书介绍了优化图形作品的概念,以及创作此类作品的计算工具。

例如,他用55×88的网格将奥巴马头像照片划分为4840个方块。原图的灰度被压缩为10个数值,0表示最暗,9表示最亮。然后,在每两个相邻方块上放置一块骨牌,使得每块骨牌两个区的各自点数与所覆盖的相邻方块的灰度值尽可能对应。这里有很多说道,不仅要选择合适的骨牌,还得知道按什么方向去置放骨牌。最后,每一方块上都覆盖了骨牌,44副骨牌的每一块都确定了自己的位置。

怎么知道这2420块骨牌安放得近乎完美呢?这是很难的。要知道,只用一副双九多米诺骨牌,不同的安放方案之数量就大于10的73次方!博施采用线性规划法来回答这个问题。在这里,“线性”意味着解空间里只有直线和平面,没有曲线。

线性优化问题之解决工具所出自的环境与艺术是八竿子打不着的。从历史上说,人们应用线性优化的领域主要是商业和经济、物流、管理、军事规划等等。比如,航空公司可用线性规划法来获得飞机、航线和乘员人数之间的最优组合。化工厂可用线性规划法来安排多种产品的生产,使得利润最大。

博施让我们认识到,有时候,艺术其实也是一种满足限制条件的解题练习。他举例说,点彩画新印象主义代表画家乔治·修拉在创作布面油画《大碗岛的星期天下午》时,就要完成这样的任务:“对自己在河畔所见景象进行尽可能好的描绘,但要受限于两条自己规定的严格条件:必须将各种色彩分开,必须将精准的小点画在画布上。”这一任务就有点像用多米诺骨牌来拼图了。

博施平时讲授的课目中就包括“优化”。在本书中,他提了一个问题:用数量有限的乐高积木块,能搭出什么东西来?为回答此问题,他首先简单介绍了一些基础性数学知识;然后讲解“每块瓷砖覆盖一个方块”这样的简单马赛克拼图可用什么样的优化程序来解决;接着,他再处理挑战性较大的多米诺骨牌覆盖问题。

本书还介绍了另一种数据优化型艺术作品:将若干散点用“一笔画”式的连续线条勾连起来,并构成一幅图形。这个问题与计算机科学中著名的“旅行推销员”难题是同构的。

然后,博施又呈现了将优化程序施用于各种事物(纽结、马在国际象棋棋盘上走过的位置、迷宫、施加进一步限制条件的瓷砖铺嵌,等等)所生成的其他玄妙图形。

总之,本书引导读者领略了数学与艺术融合的美好风光。博施在数学和艺术上都倾注了同样的热情。在书里,艺术作品不单单是吸引读者的噱头,数学也不单单是生成艺术图形的工具。二者都具有深刻的内在魅力。

本书不足之处在于,如果读者想循着作者的思路亲自动手探索一番优化艺术,却不能在书中找到有效的指导。而且,作者采用的计算机软件包Gurobi Optimizer只开放给在学术机构工作的人免费试用,一般读者无法享用。

编辑 ∑Gemini
来源:科学网博客·武夷山文章推荐☞数学家探索两个几何世界之间的镜像链接
☞数学天才帕吉特:他有如电影般的人生际遇☞世界上最奇怪的数学天才,被奖励100万却拒领,宁愿过得像乞丐☞斯坦福大学教育学院院长:学习本身就是一门学问☞如果没有数学,我们如何测量☞数学的真相:物理时空的数字模型还是现实本身?

从数学优化到视觉设计相关推荐

  1. 数据 + 进化算法 = 数据驱动的进化优化?进化算法 PK 数学优化

    数据 + 进化算法 = 数据驱动的进化优化?进化算法 PK 数学优化 https://baijiahao.baidu.com/s?id=1600164518587031730&wfr=spid ...

  2. 约瑟夫环的数学优化方法

    首先,约瑟夫环的数学优化方法为: 为了讨论方便,先把问题稍微改变一下,并不影响原意:问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数.求胜利者的编号 ...

  3. 【人工智能数学基础(三)】数学优化

    文章目录 数学优化 1. 数学优化的类型 1.1 离散优化和连续优化 1.1.1 离散优化问题 1.1.2 连续优化问题 1.2 无约束优化和约束优化 1.3 线性优化和非线性优化 2. 优化算法 2 ...

  4. 进化计算/进化算法×传统数学优化方法×机器学习

    进化算法VS传统数学优化方法 进化算法是基于种群的搜索 进化算法是随机的搜索算法,不需要梯度,不需要解析的目标函数 进化算法优势 适用于没有解析目标函数和无法得到目标函数梯度信息的优化问题 基于种群, ...

  5. 约瑟夫环问题数学优化方法

    约瑟夫环问题来历: 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决 ...

  6. 数学优化入门:凸优化

    做科研时,曾花了段时间学习凸优化,后来发现ML中其应用也非常普遍,想来今后可能还会接触,干脆做个系统的总结,方便以后查询. 博文内容主要参考Boyd(Stanford)的Convex Optimiza ...

  7. 数学优化入门:梯度下降法、牛顿法、共轭梯度法

    1.基本概念 1.1 方向导数 1.2 梯度的概念 因此,对于一元函数,即y=f(x),其梯度的方向总是指向x轴正方向或反方向,而大小即该点的导数. 如果考虑z=f(x,y)描绘的是一座在点(x,y) ...

  8. 一些数学优化计算的工具

    SNOPT(大规模线性.二次和非线性规划) MINOS(线性与非线性规划) LANCELOT(无约束最优化.非线性最小二乘.边界约束最优化和一般约束最优化问题) MINPACK(非线性方程组和非线性最 ...

  9. 你单身,其实是个科学问题……

    我们这些还单身的男青年.女青年,是不是一直有种疑惑:自己其实也不算特别差劲吧,为何至今还在单身呢? 这个问题往小了说是一个人.一个家庭的问题,往大了说可是关系着人类繁衍生息的大事情. 于是,那些担忧人 ...

最新文章

  1. python 简单数据库_Python打造一个简单的本地数据库
  2. 在参加比赛之后一定要注意的事情
  3. 5G 超高清关键技术:高帧率重置、高动态渲染、云加端增强
  4. linux命令窗口颜色,如何修改ssh命令行下登录时的颜色
  5. 数据结构------选择排序
  6. highcharts第一篇---简介和使用
  7. 面试题:根据Unix时间戳计算时间
  8. XML文档处理(树的应用)
  9. 软件配置,软件配置及变更管理的重要意义与价值
  10. Shell脚本参数值包含空格的处理
  11. java 银行卡号格式化_JS银行卡号格式化 - JavaScript常用效果 - Front-End - NalanXue's Blog...
  12. Golang 结构类型
  13. 道客巴巴 解析_华为2019数字芯片岗笔试解析(多选部分)
  14. GameObject.Find() 和 Transform.Find()的区别
  15. 三丰三坐标编程基本步骤_日常皮肤护理的基本三步骤,问题皮肤不要作
  16. 由sqlite在手机上的存储位置,引发的onCreate在哪里执行的小结
  17. Sql优化总结!详细!(2021最新面试必问)
  18. 2020年用于测试自动化的7种顶级编程语言
  19. STAMP:扩增子、宏基因组统计分析神器(中文帮助文档)
  20. html里怎么画斜线表头,Word2013中绘制斜线表头的方法

热门文章

  1. Linux 用户 和 用户组 管理 (添加、删除、修改)及说明
  2. redis调优 -- 内存碎片
  3. html语言鼠标悬停特效,CSS3鼠标悬停文字幻影动画特效
  4. java 冒泡排序的三种写法_冒泡排序的三种实现(Java)
  5. [nginx报错]---unknown directive chunkin in /XXXXX/XXXXXX:XX的几种解决方式
  6. g100显卡 linux驱动,nvidia geforce g100驱动
  7. python mysql驱动写入datetime类型的数据_解决python写入mysql中datetime类型遇到的问题...
  8. 计算机二级如何接受审阅者修订,操作方法 合并修订文档 步骤1 要求审阅者
  9. c++ 快速排序_常用排序算法之快速排序
  10. @excel注解_Excel导入导出Java解决方案推荐