这是一个朋友最近问我的一个有趣的问题/谜语:
您正在绘制网球场的线条。你有一台画直线的机器,但是一旦它打开,你就不能停止工作,直到工作完成。很明显,您需要两次检查某些行。您必须使用的最少额外油漆量是多少,以英尺为单位?
法院的尺寸:

所有线的总和是 480 英尺。我碰巧知道答案是 63 英尺(总共 543 英尺),但我不禁想知道解决这个问题的最佳算法是什么。
这似乎类似于旅行商问题,其中球场上的每条线都由图中的一个顶点表示,而球场线的交汇点则转化为边。(否则,如果线是边,角是顶点,则需要一条穿过所有边的路径,而我不知道有任何算法)。也许您需要更聪明地了解如何表示线的交叉点,我对此有一些想法,但还没有真正奏效。
不过,我认为问题足够小,可以对通过折线图的所有路径进行蛮力检查。你会如何编码?
我有一个带有一些相对较大的135 x 135 x 1 x 3卷积滤波器的 tensorflow 模型。我发现这tf.nn.conv2d对于如此大的过滤器变得无法使用 - 它试图使用超过 60GB 的内存,此时我需要杀死它。这是重现我的错误的最小脚本:
import tensorflow as tf
import numpy as np
frames, height, width, channels = 200, 321, 481, 1
filter_h, filter_w, filter_out = 5, 5, 3 # With this, output has shape (200, 317, 477, 3)
# filter_h, filter_w, filter_out = 7, 7, 3 # With this, output has shape (200, 315, 475, 3)
# filter_h, filter_w, filter_out = 135, 135, 3 # With this, …Run Code Online (Sandbox Code Playgroud)