Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | sci.math |
| Subject | Zeus: A Language for Expressing Algorithms in Hardware (Re: Neural Network based dif/2 respectively (#\=)/2) |
| Date | 2025-11-27 15:02 +0100 |
| Message-ID | <10g9ll3$oh94$2@solani.org> (permalink) |
| References | <106p0ct$3b6se$3@solani.org> <10g9jbo$ofl1$3@solani.org> <10g9l5k$ogpf$5@solani.org> |
Hi, What mindset is needed to program an NPU. Mostlikely a mindset based on fork/join parallelism is nonsense. What could be more fruitful is view the AI accellerator as a blackbox that runs a neural network, whereby a neural network can be effectively viewed as a form of hardware, although unter the hood, it is open weights and matrix operations. So the mindest needs: Zeus: A Language for Expressing Algorithms in Hardware K. J. Lieberherr - 01 February 1985 https://dl.acm.org/doi/10.1109/MC.1985.1662799 What changed back to then? - 80's Field Programmable Gate Array (FPGA) - 20's AI Boom: NPUs, Unified Memory and Routing Fabric Bye Mild Shock schrieb: > Hi, > > I already posted how to do SAT and Clark Completion > with ReLU. This was a post from 15.03.2025, 16:13, > see also below. But can we do CLP as well? Here > > is a take on the dif/2 constraint, or more precisely > a very primitive (#\=)/2 from CLP(FD), going towards > analogical computing. Might work for domains that > > fit into the quantization size of a NPU: > > 1) First note that we can model abs() via ReLU: > > abs(x) = ReLU(x) + ReLU(- x) > > 2) Then note that for integer values, we can model > chi(x>0), the characteristic function of the predicate x > 0: > > chi(x>0) = 1 - ReLU(1 - x). > > 3) Now chi(x=\=y) is simply: > > chi(x=\=y) = chi(abs(x - y) > 0) > > Now insert the formula for chi(x>0) based on ReLU > and the formula for abs() based on ReLU. Eh voila you > got an manually created neural network for the > > (#\=)/2 condition of CLP(FD), constraint logic > programming for finite domains. > > Have Fun! > > Bye > > Mild Shock schrieb: > > A storm of symbolic differentiation libraries > > was posted. But what can these Prolog code > > fossils do? > > > > Does one of these libraries support Python symbolic > > Pieceweise ? For example one can define rectified > > linear unit (ReLU) with it: > > > > / x x >= 0 > > ReLU(x) := < > > \ 0 otherwise > > > > With the above one can already translate a > > propositional logic program, that uses negation > > as failure, into a neural network: > > > > NOT \+ p 1 - x > > AND p1, ..., pn ReLU(x1 + ... + xn - (n-1)) > > OR p1; ...; pn 1 - ReLU(-x1 - .. - xn + 1) > > > > For clauses just use Clark Completion, it makes > > the defined predicate a new neuron, dependent on > > other predicate neurons, > > > > through a network of intermediate neurons. Because > > of the constant shift in AND and OR, the neurons > > will have a bias b. > > > > So rule based in zero order logic is a subset > > of neural network. > > > > Python symbolic Pieceweise > > > https://how-to-data.org/how-to-write-a-piecewise-defined-function-in-python-using-sympy/ > > > > > > > rectified linear unit (ReLU) > > https://en.wikipedia.org/wiki/Rectifier_(neural_networks) > > > > Clark Completion > > https://www.cs.utexas.edu/~vl/teaching/lbai/completion.pdf > > Mild Shock schrieb: >> Hi, >> >> I am spekulating an NPU could give 1000x more LIPS. >> For certain combinatorial search problems. It all >> boils down to implement this thingy: >> >> In June 2020, Stockfish introduced the efficiently >> updatable neural network (NNUE) approach, based >> on earlier work by computer shogi programmers >> https://en.wikipedia.org/wiki/Stockfish_%28chess%29 >> >> There are varying degrees what gets updated of >> a neural network. But the specs of an NPU tell >> me very simply the following: >> >> - An NPU can make 40 TFLOPS, all my AI Laptops >> from 2025 can do that right now. The brands >> are Intel Ultra, AMD Ryzen and Snapdragon X, >> >> but I guess there might be more brands around, >> which can do that with a price tag less >> than 1000.- USD. >> >> - SWI Prolog can make 30 MLIPS, Dogelog Player >> runs similar, some Prolog systems are faster. >> >> Now thats is 10^12 versus 10^6. If some of the >> LIPS can be delegated to a NPU, and if we assume >> for example less locality or more primitive >> >> operations that require a layering. Would could assume >> that from the NPU 10^12 a factor of 1000 goes >> away. So we might still see 10'9 LIPS emerge. >> >> Now make the calculation: >> >> - Without NPU: MLIPS >> - With NPU: GLIPS >> - Ratio: 1000x times faster >> >> Have fun! >> >> Bye >> >> Mild Shock schrieb: >>> Mercio’s Algorithm (2012) for Rational >>> Tree Compare is specified here mathematically. >>> It is based on computing truncations A' = (A_0, >>> A_1, etc..) of a rational tree A: >>> >>> A < B ⟺ A′ <_lex B′ >>> >>> https://math.stackexchange.com/a/210730 >>> >>> Here is an implementation in Prolog. >>> First the truncation: >>> >>> trunc(_, T, T) :- var(T), !. >>> trunc(0, T, F) :- !, functor(T, F, _). >>> trunc(N, T, S) :- >>> M is N-1, >>> T =.. [F|L], >>> maplist(trunc(M), L, R), >>> S =.. [F|R]. >>> >>> And then the iterative deepening: >>> >>> mercio(N, X, Y, C) :- >>> trunc(N, X, A), >>> trunc(N, Y, B), >>> compare(D, A, B), >>> D \== (=), !, C = D. >>> mercio(N, X, Y, C) :- >>> M is N + 1, >>> mercio(M, X, Y, C). >>> >>> The main entry first uses (==)/2 for a >>> terminating equality check and if the >>> rational trees are not equal, falls back >>> to the iterative deepening: >>> >>> mercio(C, X, Y) :- X == Y, !, C = (=). >>> mercio(C, X, Y) :- mercio(0, X, Y, C). >>> >>> I couldn’t find yet a triple that violates >>> transitivity. But I am also not much happy >>> with the code. Looks a little bit expensive >>> to create a truncation copy iteratively. >>> >>> Provided there is really no counter example, >>> maybe we can do mit more smart and faster? It >>> might also stand the test of conservativity? >> >
Back to sci.math | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Mercio’s Algorithm for Rational Tree Compare in Prolog Mild Shock <janburse@fastmail.fm> - 2025-08-04 02:54 +0200
The Original Ganster (OG) of Gameification: IEEE 1044.1-1995 (Re: Mercio’s Algorithm for Rational Tree Compare in Prolog) Mild Shock <janburse@fastmail.fm> - 2025-08-04 13:50 +0200
The Bitrot called Math Stack Exchange (Re: The Original Ganster (OG) of Gameification: IEEE 1044.1-1995) Mild Shock <janburse@fastmail.fm> - 2025-08-04 13:57 +0200
I guess its back to Hopcroft and Karp (Re: The Bitrot called Math Stack Exchange) Mild Shock <janburse@fastmail.fm> - 2025-08-04 14:12 +0200
Szpilrajn Theorem and Suzumura Consistency (Re: Mercio’s Algorithm for Rational Tree Compare in Prolog Mild Shock <janburse@fastmail.fm> - 2025-08-06 01:53 +0200
The good thing is we have at least Mercio’s Algorithm (Re: Szpilrajn Theorem and Suzumura Consistency) Mild Shock <janburse@fastmail.fm> - 2025-08-06 08:09 +0200
Hopcroft and Karp’s is just Contraction (Re: The good thing is we have at least Mercio’s Algorithm) Mild Shock <janburse@fastmail.fm> - 2025-08-06 08:16 +0200
Re: Hopcroft and Karp’s is just Contraction (Re: The good thing is we have at least Mercio’s Algorithm) Mild Shock <janburse@fastmail.fm> - 2025-08-06 08:23 +0200
Mercios decidability was already attested in 2012 (Re: Mercio’s Algorithm for Rational Tree Compare in Prolog) Mild Shock <janburse@fastmail.fm> - 2025-08-14 20:40 +0200
Performance of Mercio’s Total Order (Re: Mercios decidability was already attested in 2012) Mild Shock <janburse@fastmail.fm> - 2025-08-15 23:51 +0200
Fuzzy Testing is your Swiss Knife (Was: Performance of Mercio’s Total Order) Mild Shock <janburse@fastmail.fm> - 2025-08-15 23:54 +0200
Yeah, we have another name! (Re: Fuzzy Testing is your Swiss Knife) Mild Shock <janburse@fastmail.fm> - 2025-08-16 12:40 +0200
Monte Carlo sampling the frontier version (Re: Yeah, we have another name!) Mild Shock <janburse@fastmail.fm> - 2025-08-16 12:44 +0200
An NPU could give 1000x more LIPS (Re: Mercio’s Algorithm for Rational Tree Compare in Prolog) Mild Shock <janburse@fastmail.fm> - 2025-11-27 14:23 +0100
Zeus: A Language for Expressing Algorithms in Hardware (Re: Neural Network based dif/2 respectively (#\=)/2) Mild Shock <janburse@fastmail.fm> - 2025-11-27 15:02 +0100
100% serious Giga Logical Inferences per Second (GLIPS) (Re: An NPU could give 1000x more LIPS (Re: Mercio’s Algorithm for Rational Tree Compare in Prolog) Mild Shock <janburse@fastmail.fm> - 2025-11-28 14:53 +0100
csiph-web