Recent

Author Topic: 88 year D. Knuth changes his mind about AI  (Read 2908 times)

Thaddy

  • Hero Member
  • *****
  • Posts: 18982
  • Glad to be alive.
88 year D. Knuth changes his mind about AI
« on: March 11, 2026, 11:26:44 am »
Read this:
Donald Knuth sees his - very - old conjecture solved by Claude AI:
https://cs.stanford.edu/~knuth/papers/claude-cycles.pdf

It is a scientific paper, but I think it is easy to follow even by laymen with a grasp of programming knowledge.

There is lightness and humor in it too.



« Last Edit: March 11, 2026, 11:32:12 am by Thaddy »
Recovered from removal of tumor in tongue following tongue reconstruction with a part from my leg.

Curt Carpenter

  • Hero Member
  • *****
  • Posts: 747
Re: 88 year D. Knuth changes his mind about AI
« Reply #1 on: March 11, 2026, 03:08:55 pm »
"The Art of __________" (computer programming, war, motorcycle maintenance ...) is changing radically whether we like it or not.  Imagine where it will be in ten years,   "Aux armes, citoyens, formez vos bataillons ..."

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1225
Re: 88 year D. Knuth changes his mind about AI
« Reply #2 on: March 12, 2026, 11:51:53 pm »
Read this:
Donald Knuth sees his - very - old conjecture solved by Claude AI:
https://cs.stanford.edu/~knuth/papers/claude-cycles.pdf

It is a scientific paper, but I think it is easy to follow even by laymen with a grasp of programming knowledge.

There is lightness and humor in it too.

A Hamiltonian Path is a path in a graph that visits each vertex exactly once.  It does not need to form a cycle, meaning it can start and end at different vertices.

A Hamiltonian Cycle is a cycle that visits each vertex exactly once and returns to the starting vertex, forming a closed loop.

A Hamiltonian cycle can be converted into a Hamiltonian path by removing one edge.

Conversely, a Hamiltonian path can become a Hamiltonian cycle only if its start and end vertices are adjacent.

These concepts are named after Sir William Rowan Hamilton, who invented the "icosian game" in 1857, a puzzle involving finding a Hamiltonian cycle on a dodecahedron. The problem of determining whether a graph contains a Hamiltonian path or cycle is NP-complete, meaning no efficient general solution is known, though certain conditions (like Dirac’s Theorem) can guarantee their existence.

https://en.wikipedia.org/wiki/Hamiltonian_path

https://en.wikipedia.org/wiki/Hamiltonian_path_problem


Donald Knuth sees his - very - old conjecture solved by Claude AI:
https://cs.stanford.edu/~knuth/papers/claude-cycles.pdf
It is a scientific paper, but I think it is easy to follow even by laymen with a grasp of programming knowledge.
Unlikely: knowing advanced math and Graph Theory in Discrete Mathematics are essential to really understand this scientific paper from Donald Knuth.

Curt Carpenter

  • Hero Member
  • *****
  • Posts: 747
Re: 88 year D. Knuth changes his mind about AI
« Reply #3 on: March 13, 2026, 03:44:44 am »
You don't have to plunge into the graph-theoretical depths to stand in awe of the fact that Knuth at 88 is still down there  :) 

Or to stand in awe of the report that an "AI" of some sort helped locate a proof of some sort after attacking the problem relentlessly through a multitude of attempts?

How can you help but wonder where this will all be in ten years?

 

440bx

  • Hero Member
  • *****
  • Posts: 6382
Re: 88 year D. Knuth changes his mind about AI
« Reply #4 on: March 13, 2026, 06:55:12 am »
How can you help but wonder where this will all be in ten years?
Good question. 

I'm really afraid that in 10 years the situation might be even worse than it is today.  This is what I mean, in the linked paper, there is a reference that the A.I thing was able to work out a _correct_ proof without any help from the human being, that's really impressive.

But, the real problem is that, the number of people who can verify the proof is correct is, as a percentage, relatively small.  If you have doubts about that claim, ask the laymen what a Hamiltonian cycle is... I think the percentage will be quite a bit smaller than the number of people who know what McDonalds is (I think the number of people who will know to ask in what context the word Hamiltonian is being used is already very small and, just that makes a big difference.)

IOW, the real problem is that trust in A.I may grow while A.I may still blurt anything without any regard to correctness (which doesn't mean it isn't sometimes correct) and the recipient (say a layman) will be totally unable to determine the correctness of whatever the A.I thingy offered and, as a result, simply assume it is correct (which is not a good thing.)

Essentially, I am genuinely concerned that as A.I gets more capable, the level of knowledge in the human being using it will need to be higher in order to be used effectively and correctly.  In simple terms, it will become more difficult to distinguish a correct answer from A.I b.s (or viceversa depending on how you want to look at it.)


FPC v3.2.2 and Lazarus v4.0rc3 on Windows 7 SP1 64bit.

Seenkao

  • Hero Member
  • *****
  • Posts: 751
    • New ZenGL.
Re: 88 year D. Knuth changes his mind about AI
« Reply #5 on: March 13, 2026, 06:58:54 am »
Чтобы понять, что не всё так хорошо, надо просто посмотреть книгу.
И я пишу это не для того, чтоб как-то принизить Кнута, а для того, чтоб понять, что за ИИ надо глаз да глаз.
Код из книги:

Google translate:
To understand that not everything is so rosy, you just need to look at the book.
And I am not writing this to somehow belittle Knut, but to understand that AI requires close attention.
Code from the book:
Code: C  [Select][+][-]
  1. int c, i, j, k, m, s, t;
  2. char ∗d;
  3. for (c = 0; c < 3; c++) {
  4.   for (t = i = j = k = 0; ; t++) {
  5.     printf ("%x%x%x ", i, j, k);
  6.     if (t == m ∗ m ∗ m) break;
  7.     s = (i + j + k) % m;
  8.     if (s == 0) d = (j == m − 1? "012" : "210";
  9.     else if (s == m − 1) d = (i > 0? "120" : "210";
  10.     else d = (i == m − 1? "201" : "102");
  11.       switch (d [c]) {
  12.         case0: i = (i +1) % m; break;
  13.         case1: j = (j +1) % m; break;
  14.         case2: k = (k +1) % m; break;
  15.     }
  16. }
  17. printf ("\n");
  18. }
m - not defined.
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

Thaddy

  • Hero Member
  • *****
  • Posts: 18982
  • Glad to be alive.
Re: 88 year D. Knuth changes his mind about AI
« Reply #6 on: March 13, 2026, 07:31:38 am »
m = modulus.
That is in the paragraph above the C code where m=3 (m=5) is given as an example.
So in the context of the paper the code is correct:

You are supposed to choose m from any (odd) whole number.

To obtain the sequence from pascal the code looks like this:
Code: Pascal  [Select][+][-]
  1. var
  2.   c, i, j, k, m, s, t: integer;
  3. begin
  4.   m := 3;
  5.  
  6.   for c := 0 to 2 do
  7.   begin
  8.     i := 0;j := 0;k := 0;t := 0;
  9.     while true do
  10.     begin
  11.       write(i, j, k, #32);
  12.       if t = m * m * m then break;
  13.       s := (i + j + k) mod m;
  14.       case c of
  15.         0:begin
  16.              if s = 0 then if j = m - 1 then i := (i + 1) mod m else k := (k + 1) mod m
  17.              else if s = m - 1 then if i = 0 then k := (k + 1) mod m else j := (j + 1) mod m
  18.              else if i = m - 1 then k := (k + 1) mod m else j := (j + 1) mod m
  19.           end;
  20.         1:begin
  21.              if s = 0 then j := (j + 1) mod m else if s = m - 1 then
  22.              if i = 0 then j := (j + 1) mod m else k := (k + 1) mod m
  23.              else i := (i + 1) mod m;
  24.            end;
  25.         2: begin
  26.              if s = 0 then if j = m - 1 then k := (k + 1) mod m else i := (i + 1) mod m
  27.              else if s = m - 1 then i := (i + 1) mod m
  28.              else if i = m - 1 then j := (j + 1) mod m
  29.              else k := (k + 1) mod m;
  30.            end;
  31.       end;
  32.       inc(t);
  33.     end;
  34.     writeln;  
  35.   end;
  36. end.
This differs from the C code, but produces the correct sequence.
Written from the textual representation, not from the C code.

« Last Edit: March 13, 2026, 09:33:35 am by Thaddy »
Recovered from removal of tumor in tongue following tongue reconstruction with a part from my leg.

 

TinyPortal © 2005-2018