找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5609

积分

0

好友

778

主题
发表于 前天 21:59 | 查看: 0| 回复: 0

NS 方程

OpenAI 刚刚对外宣布,已经解决了 NS 方程这一千禧年难题。

从官方公布的消息看,它使用了一款比 GPT-6 Astra 更强大的未公开前沿大模型,联合约 10000 个并发协作的 AI Agent,总共耗时 88 小时完成证明。

随声明一起放出的,还有一份 166 页的完整数学推导论文,以及配套的 Lean 形式化数学验证代码。

NS 方程千禧年难题是克雷数学研究所七大千禧年难题之一,已经困扰数学界约 90 年,悬赏 100 万美元。

当然,OpenAI 表示会放弃申领这笔奖金,同时强调该成果的核心价值在于展示 AGI 正在成为推动前沿科学探索的引擎。

OpenAI 官宣攻克 NS 方程千禧年难题的推文截图

AI 模型全自主解决千禧年难题,学术圈先地震了一轮。

但很快,纽约大学数学家 Tristan Buckmaster 公开指控 OpenAI 在 NS 方程问题上存在学术掠夺,称其团队多年深耕的研究成果被截胡。学术圈又一次震动。

按照 Buckmaster 的说法,他与 Anthropic 研究员 Alpöge 长期深耕流体方程爆破问题,走的是一条极少有人涉足的「光滑外力驱动」研究路线。

这条技术路径极其小众,全球范围内几乎没有其他团队深耕。两人在这条路上耗时数年,反复推演和打磨。

同时,Buckmaster 和 Alpöge 长期使用 OpenAI 的 Codex 辅助推理,把大量核心思路、公式推演、论文草稿都留在了 Codex 的对话记录里。

但就在两人即将完成关键突破、敲定最终证明框架时,OpenAI 宣布攻克了 NS 方程,而且研究路线与 Buckmaster 一方高度雷同。

真相究竟如何,目前外界站 OpenAI 和 Buckmaster 的都有,后续也可能不会被大众完全知晓。

这件事对未来的学术人员来说,冲击和割裂感可能才刚刚开始:不使用模型配合研究,进度大概率会被追赶;使用模型配合研究,又可能面临被“截胡”的风险。

另外需要说明,虽然 OpenAI 的证明路线和 Buckmaster 雷同,但前者的欧拉结果是“无外力版本”,后者是“受迫版本”。前者难度更大,不过在极高算力面前,这一问题并不算突出。

后续候选解何时被承认、成果归属如何,最终得由克雷数学研究所这个裁判方来判断,而不是看网友如何站队。

只是没想到,人类和 AI 的学术争议,一上来就是千禧年级别,确实有点魔幻。

题目描述

平台:LeetCode

题号:735

给定一个整数数组 asteroids,表示在同一行的行星。

对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向:正表示向右移动,负表示向左移动。每一颗行星以相同的速度移动,找出碰撞后剩下的所有行星。

碰撞规则:

  1. 两个行星相互碰撞,较小的行星会爆炸。
  2. 如果两颗行星大小相同,则两颗行星都会爆炸。
  3. 两颗移动方向相同的行星,永远不会发生碰撞。

示例 1:

输入:asteroids = [5,10,-5]

输出:[5,10]

解释:10 和 -5 碰撞后只剩下 10 。 5 和 10 永远不会发生碰撞。

示例 2:

输入:asteroids = [8,-8]

输出:[]

解释:8 和 -8 碰撞后,两者都发生爆炸。

示例 3:

输入:asteroids = [10,2,-5]

输出:[10]

解释:2 和 -5 发生碰撞后剩下 -5 。10 和 -5 发生碰撞后剩下 10 。

模拟 + 栈

由于碰撞抵消总是从相邻行星之间发生,所以可以使用「栈」来模拟这一过程。

从前往后处理所有的 asteroids,并借助栈存储当前未被抵消的行星。当栈顶元素方向往右、当前 asteroids 方向往左时,就会触发抵消操作,按碰撞规则处理即可。

Java 代码:

class Solution {
public int[] asteroidCollision(int[] asteroids) {
        Deque<Integer> d = new ArrayDeque<>();
for (int t : asteroids) {
boolean ok = true;
while (ok && !d.isEmpty() && d.peekLast() > 0 && t < 0) {
int a = d.peekLast(), b = -t;
if (a <= b) d.pollLast();
if (a >= b) ok = false;
            }
if (ok) d.addLast(t);
        }
int sz = d.size();
int[] ans = new int[sz];
while (!d.isEmpty()) ans[--sz] = d.pollLast();
return ans;
    }
}

C++ 代码:

class Solution {
public:
vector<int> asteroidCollision(vector<int>& asteroids) {
deque<int> d;
for (int t : asteroids) {
bool ok = true;
while (ok && !d.empty() && d.back() > 0 && t < 0) {
int a = d.back(), b = -t;
if (a <= b) d.pop_back();
if (a >= b) ok = false;
            }
if (ok) d.push_back(t);
        }
vector<int> ans(d.begin(), d.end());
return ans;
    }
};

Python 3 代码:

class Solution:
    def asteroidCollision(self, asteroids: List[int]) -> List[int]:
        stk = []
for t in asteroids:
            ok = True
while ok and stk and stk[-1] > 0 and t < 0:
                a, b = stk[-1], -t
if a <= b:
                    stk.pop(-1)
if a >= b:
                    ok = False
if ok:
                stk.append(t)
return stk

TypeScript 代码:

function asteroidCollision(asteroids: number[]): number[] {
const stk = new Array<number>()
for (const t of asteroids) {
let ok = true
while (ok && stk.length > 0 && stk[stk.length - 1] > 0 && t < 0) {
const a = stk[stk.length - 1], b = -t
if (a <= b) stk.pop()
if (a >= b) ok = false
        }
if (ok) stk.push(t)
    }
return stk
};

时间复杂度:O(n)

空间复杂度:O(n)

本文由 云栈社区 整理编辑,仅作技术交流。




上一篇:00后搞钱新路径:从ChatGPT到跨境支付,AI原住民的互联网启蒙
下一篇:JPG图片如何压缩到20KB以内?zippic在线工具实操指南
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-9-13 17:52 , Processed in 1.242228 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表