628. ARC Prize 2024 | arc-prize-2024
大家好!我想分享我的 28%“解决方案”,尽管没有什么太多可分享的。这是一个非常微小的见解,大约只占了 1% 的努力(其余部分都失败了)。这个想法并不非常原创,只是作为 icecuber 求解器的预处理步骤进行了一些重新着色。在集成模型中,它在 26% 的基线之上增加了 +2%。这是该函数:
def recolor_task(task):
'''通过像素计数进行重新着色尝试(但这会破坏某些任务)'''
if len(task['test']) > 1:
return
all_a = []
all_b = []
for pair in task['train']:
input_colors, input_counts = np.unique(pair['input'], return_counts=True)
a = list(zip(input_colors.tolist(), input_counts))
a = tuple(x[0] for x in sorted(a, key=lambda x: x[1], reverse=True))
all_a.append(a)
all_b.append(tuple(np.unique(pair['output']).tolist()))
uni_a = set(sum(all_a, ()))
uni_b = set(sum(all_b, ()))
input_colors, input_counts = np.unique(task['test'][0]['input'], return_counts=True)
c = list(zip(input_colors.tolist(), input_counts))
c = [x[0] for x in sorted(c, key=lambda x: x[1], reverse=True)]
if uni_a == set(c) or len(list(uni_a & uni_b)) == 0:
return
for i in range(len(task['train'])):
raw = all_a[i]
ti = task['train'][i]['input']
to = task['train'][i]['output']
for j in range(len(c)):
if j == len(raw):
break
ti = [[c[j] + 10 if x == raw[j] else x for x in sub] for sub in ti]
to = [[c[j] + 10 if x == raw[j] else x for x in sub] for sub in to]
ti = [[x - 10 if x > 9 else x for x in sub] for sub in ti]
to = [[x - 10 if x > 9 else x for x in sub] for sub in to]
task['train'][i]['input'] = ti
task['train'][i]['output'] = to
我没有测试这个特定版本,但它应该可以工作。它可以改进,但在这种情况下,我认为这并不重要,因为分数保持不变甚至下降。也许我没有探索得足够深入。但是,再说一次,这没有什么功劳,它并不能让你更接近通用人工智能(AGI)算法。
所以这个见解是关于观察任务,并且能够几乎立即判断着色是否无关紧要。我想这与 Guillermo Barbadillo 所说的关于表征的内容有关。无关的视角会被迅速丢弃。例如 (1e32b0e9),这是任务看起来的样子:
这是我在理解解决方案之前,仅仅片刻之后在概念上实际看到的样子:
或者是类似的东西,我当然可能是错的,但它 kind of 帮到了我,所以谁知道呢。
我曾试图思考宏大的方案,但我缺乏这方面的技能和创造力。还有动力。有时我能工作,有时不能……无论如何,我最终探索了图方法,但没有成功。我也尝试了神经细胞自动机,但没能超过 1%。
我决定不碰大语言模型(LLMs)。为什么?我知道许多人都会这样做,所以 pursue 同样的事情没有意义。而且我仍然没有在数学层面上理解 Transformer 架构,对我来说超越现有的东西几乎是不可能的。加上,我的算力有限。我也决定不 tinkering icecuber 的求解器。为什么?我的 C++ 技能几乎不存在。我必须先学习这门语言。当然,这种方法也不承诺任何 AGI,所以有什么意义呢。
总的来说,我真的很喜欢整个对 AGI 的探索 quest。也许我天真的迷恋不足以做出有意义的贡献,但我真的很感激这个机会,所以感谢所有让这一切成为可能的人。让我们看看接下来会发生什么。