Newshot
Account

研究称93%的油漆飞溅图案是合法的Perl程序

AI summary

一项2019年的分析发现,93%的油漆飞溅图案可以被解析为合法的Perl程序。该结果源于对随机飞溅形状与Perl语法规则的比对。

Translation(model translation, not the source's own text)

93% 的颜料泼溅是合法的 Perl 程序

发布于 2019-04-01。

TLDR:阅读论文并查看这些漂亮 Perl 程序的作品集。

在本文中,我们旨在回答编程语言社区中一个长期存在的开放问题:是否有可能在墙上涂抹颜料而不产生合法的 Perl?

我们对这个问题给出肯定回答:确实有可能在墙上涂抹颜料而不产生合法的 Perl 程序。我们采用实证方法,使用光学字符识别(OCR)软件,发现仅有 93% 的颜料泼溅能被解析为合法的 Perl。我们分析了颜料泼溅 Perl 程序的特性,并给出了七个不是合法 Perl 程序的颜料泼溅示例。

Twitter 对话截图。Adrienne Porter Felt 说:“我不想教我的孩子编程。我想让他在泥坑里溅水、在墙上涂抹颜料、在深夜躲在被窝里看小说。我长大得太快了,真希望我有更多时间做个孩子。为什么现在的学校这么早就教职业技能?”Jake Archibald 回复:“但是,有没有可能在墙上涂抹颜料而不产生合法的 Perl?”
Twitter 对话截图。Adrienne Porter Felt 说:“我不想教我的孩子编程。我想让他在泥坑里溅水、在墙上涂抹颜料、在深夜躲在被窝里看小说。我长大得太快了,真希望我有更多时间做个孩子。为什么现在的学校这么早就教职业技能?”Jake Archibald 回复:“但是,有没有可能在墙上涂抹颜料而不产生合法的 Perl?”

本文被 SIGBOVIK 2019 接收发表,该会议于 2019 年 4 月 1 日在匹兹堡举行。本文获得“不知情参与奖章”,“这是一个不受欢迎的标签,我们在仔细审查后将其贴到每一篇被认定包含真实产物的论文上,从而推进开放科学与富有成果的拖延这一令人钦佩的事业。”

可在 Google Docs 上阅读,或下载 PDF。也可以获取完整的 SIGBOVIK 2019 论文集;我在第 174 页。

补充材料

这里把所有颜料泼溅放在一个页面上,并附上每个对应的合法 Perl 源代码。对于那些未能解析为合法 Perl 程序的图像,用红色写着“Not valid”。如果不同的 OCR 设置识别出多个合法的 Perl 程序,我根据自身的审美判断选择了看起来最“有趣”的那个。

这里有一个包含 100 张颜料泼溅图像的 tarball,它们被用作本文的主要数据集。

(源代码尚不可用,因为我不擅长 GitHub)

勘误

有一些颜料泼溅 Perl 程序直到 SIGBOVIK 提交截止日期之后才被我认定为“有趣”。例如,这个泼溅被 OCR 识别为字符串 lerzfijglpFiji-j,它在 Perl 中求值为数字 0:

颜料泼溅
颜料泼溅

下图被识别为字符串 -*?,它在 Perl 中也求值为数字 0:

颜料泼溅
颜料泼溅

另一个令人惊讶的程序如下所示;OCR 将这张图像识别为字符串 ;i;c;;#\\?z{;?;;fn':.;, 它在 Perl 中求值为字符串 c:

颜料泼溅
颜料泼溅

最后,这张图像被识别为字符串 ;E,'__', 它在 Perl 中求值为字符串 E__:

颜料泼溅
颜料泼溅

The translation is machine-generated and individual terms may be off. Nothing is rewritten or cut; the original is authoritative.

Published by Hacker News
This site only summarises and aggregates; copyright stays with the original author. Headlines and summaries follow the source — where they differ, the original wins.
Read the original ↗