Readit News logoReadit News
ethanlipson · a month ago
Neat, but I think it's deceptive for the website to claim this is a "new type of graphing" [1]. The fuzzy graph of F(x, y) = 0 is simply a 3D plot of z = |F(x, y)|, where z is displayed using color. In other words, F(x, y) is a constraint and z shows us how strongly the constraint is violated. Then the graph given by F(x, y) = 0 is a slice of the 3D graph. If you're claiming that you've discovered visualizing 3D graphs using color, you're about 50 years too late.

[1] https://gods.art/fuzzy_graphs.html

amavect · a month ago
I thought the same, so I programmed the examples into Desmos 3D (click the show/hide buttons on the left).

https://www.desmos.com/3d/3divdux6jh

Dropping the absolute value makes a better visualization. The 3D graph for Example 4 Shadow Line has an established name, a hyperbolic paraboloid. The color graph for Example 5 Phi Equation doesn't capture the odd symmetry F(x,y)=-F(-x,y). The color graph for Example 6 Underwater Islands looks far inferior to the 3D surface.

calebm · a month ago
Interesting. I didn't know you could plot like this in Desmos. Thanks for doing the work to plug them in.

Deleted Comment

calebm · a month ago
Thanks for the feedback (you and all the others - both positive and negative). HN is such a great way to present ideas to smart people.

I may have been a little hyperbolic in the opening sentence, and may try to tighten up that language. It's true that I've encountered things like visualizing error gradients (in the ML space) in a non-binary way. And yes, mapping 3D to color (and 3D graphing) is nothing novel.

But, I think that the idea of visualizing equations using the question "How different are both sides?" instead of "Are both sides EXACTLY equal - Yes or No?" is a new way to think about it - I don't know of any other graphing app/calculator (besides https://fuzzygraph.com) that does it.

I think some would say that the "Fuzzy graph" of an equation is not a true graph of that equation because a "visualization transform" is being applied, and that only the conventional/binary graph is a valid graph of the equation. But even conventional graphing apps must apply a "visualization transformation" to the equation - something like: 'black' if Boolean(left(x, y)==right(x, y)) else 'white.

nyeah · a month ago
Yeah, the opening sentence is very easy to disprove. That's going to spark distrust among people who are "more mathy."

Otherwise ... the plot is obviously engaging, based on the discussion here. For people who haven't seen it before, it's a new way to think about it. It may well be a new "plot type" to most people relying on standard plotting software to visualize equations.

Maybe consider saying it's grounded in "more advanced" math than what others have brought to plotting software. That's still impressive, but it can be made pretty much true. You can cite cool math references about "implicit function theorem" or whatever. Stuff that your target audience really weren't going to just find on their own.

chemotaxis · a month ago
> Neat, but I think it's deceptive

I think your comment is insightful, but it's also a terrible choice of words (and something we probably do too often here). I very much doubt that deception was the intent.

Sometimes, someone just reinvents the wheel (or improves on it). And if it serves to teach several thousand people about a new visualization technique, I think that's a net positive.

pfortuny · a month ago
You are right but the author's first claim jumped to my eyes (I practice geometry) and burned them... The author seems to be just plotting the values of the implicit function y-f(x,y)...

So, good for him but some historical perspective is needed when making such sweeping claims.

chaboud · a month ago
“For all the history of computational mathematical visualization, graphing equations has been done in binary mode...”

Intentional or not, the linked article opens with a comically untrue statement, that, because it is verifiably false, doesn't even escape as puffery. When I encounter this sort of grandstanding in framing (generally from junior engineers or fresh-from-school product managers), I spell out just how negatively such misstatements harm the point being made.

It's a turn-off for readers, and it's unnecessary.

"You may be used to seeing graphs like..." or "In grade school, we learned to graph like..."

would probably be more useful than dismissal of the history of visualization of implicit functions. Hopefully, next time, the author will be a bit less grandiose.

Deleted Comment

ziofill · a month ago
Something can be deceptive without malice.
roywiggins · a month ago
People can play with graphing these in 3D and 2D here:

https://c3d.libretexts.org/CalcPlot3D/index.html

https://www.desmos.com/3d

jvanderbot · a month ago
There are some truths though that are worth showing.

1. plotting in this way shows areas that are nearly solutions which is really cool.

2. Not mentioned, but this shows gradient around the solution as well, which helps understand attractor/repulsor a bit intuitively

I mean I have generated these plots before to visualize things like error or sensitivity, but this is clean and very cool. So, credit where credit is due for spreading the idea.

almogaver07 · a month ago
I'm wondering if there are topological tools to find the hyperplane of self-intersection from that surface, which is actually the solution of the equation? Or if given a fuzzy graph z=|F(x,y)| we can use differential geometry to find 0=F(x,y)? Does any of the these questions make sense?
ethanlipson · a month ago
For a general function F, finding the points (x, y) with F(x, y) = 0 has no closed-form solution. The entire field of mathematical optimization is largely dedicated to finding solutions to F(x, y) = 0, in one form or another.

When F has a special structure (say, low-order polynomial), we can actually find the exact solutions. More general structure (e.g. convexity, differentiability) doesn't give us the exact solution, but it lets use use clever numerical algorithms to find them. There are techniques we can use when F has little to no structure, known as "black box" methods, and they work particularly well when we have few variables. In the case of "fuzzy graphs", there are only two variables, so this software takes the approach of computing F(x, y) for every pixel on the screen. In general this doesn't work due to the curse of dimensionality, but it creates good visualizations in low dimensions :)

To answer your question directly, yes we can use differential geometry to speed up optimization. As an example, you've probably heard of gradient descent. Preconditioned gradient descent leverages the geometry of the surface to speed up convergence. In the language of differential geometry, if we're optimizing f(x), then x is "contravariant" but grad(f) is "covariant", so technically we can't just add grad(f) to x since they have different types. We first have to multiply grad(f) by a rank-2 tensor (the "preconditioner") that encodes the local curvature of f around x. This technique is used by the Adam optimizer, with the assumption that the preconditioner is diagonal.

danbruc · a month ago
From school you are used to think of function in their explicit form y = f(x) but you can easily turn that into the implicit form f(x) - y = 0 or more generally f(x, y) = 0. With that you can plot the graph of f(x, y) either as a 3D surface with f(x, y) being the height at point (x, y) or encode the function value at (x, y) into some color at (x, y). Where that surface is equal to zero, i.e. where it intersects the z = 0 plane, that are the points of y = f(x). Points (x, y) at which the value of f(x, y) has small non-zero magnitude are what the article calls low error points or regions, points or regions that almost satisfy y = f(x).
abtinf · a month ago
> f(x, y) = 0. With that you can plot the graph of f(x, y) either as a 3D surface with f(x, y) being the height at point (x, y)

If f(x, y) = 0, wouldn’t using f(x, y) for the height just result in a flat graph?

layer8 · a month ago
f(x, y) = 0 is true only for some combinations of x and y. It’s an equation to be solved, not a universal statement like ∀ x, y : f(x, y) = 0, nor a definition like f(x, y) ≔ 0 (or “≝”). The solutions to the equation are the points (x, y) where the graph has height 0. Which points these are depends on how f is defined.

For example, f might be defined as f(x, y) ≔ x² + y² – 1. Then the points (x, y) for which f(x, y) = 0 are those on the unit circle (those for which x² + y² = 1). The graph will have height 0 only for those points.

roywiggins · a month ago
They're really two different types of equal signs.

f(x,y) = x+y might be better written as f(x,y) := x+y where := means "is defined as". Then f(x,y) = 0 is an equation that expands to x+y = 0, or in familiar intro algebra form, y=-x.

g(x,y) := 0 really is a flat plane.

mitthrowaway2 · a month ago
When we say "f(x, y) = 0" in this context, we also usually have a separate definition for f(x, y) provided, where that f(x, y) is not necessarily 0 at for all x,y. And so this constraint "f(x, y) = 0" means "find pairs of x and y such that it makes f(x, y) become 0".

If "f(x, y) = 0" is actually the definition of f(x, y), then yes, it would be a pretty boring graph.

baruchel · a month ago
Shameless plug: eight years ago, I created the following website for posting plots of complex functions using similar gradients: https://kettenreihen.wordpress.com/
Syntonicles · a month ago
Those are really cool to look at. I kept trying to click them to learn more, I wish some of them were mini blog posts to give a little bit of grounding.
oersted · a month ago
Aesthetically this color map is much nicer!
rustybolt · a month ago
Ouch, this hurts to read. It's not novel and lacks a very basic understanding of math.

The graph of y/(x^2+y^2)=(x+1)/(x^2+y^2) by definition contains the points that satisfy this equation. This is exactly the set of points for which y = x + 1.

The "fuzzy" graph is just coloring the difference between the left hand side and right hand side. This is very basic, not new, and it's definitely not "the graph of y/(x^2+y^2)=(x+1)/(x^2+y^2)".

soVeryTired · a month ago
It confused me a lot - I cancelled the denominators in my head too.

But then I realised they're just plotting

y/(x^2+y^2) - (x+1)/(x^2+y^2) = c

and colouring by c (i.e. a heatmap, as others have mentioned in the thread).

That's why you get a more interesting image than you'd get with y - (x + 1) = c

calebm · a month ago
Why would you say it's not a graph of y/(x^2+y^2)=(x+1)/(x^2+y^2)? I would argue that a conventional/binary graph is also not a "pure" representation of the equation, but rather one possible representation - one that runs it through a "left_side == right_side?" boolean filter. In fact, there is no way to visualize an equation with doing something to it.
wholinator2 · a month ago
There's an equal sign in the equation. That means it is true when y = x + 1. There's no filter we're applying, that's literally what the equation says. What you plot is f(x,y) = (y-x-1)/(x^2+y^2). The line plot is when that equals zero, the fuzzinss of it is when it doesnt. But notice that f(x,y)=0 is exactly equivalent to y=x+1. They're exactly the same. Thus, when you're plotting the fuzzy graph it is definitively _not_ a plot of y=x+1, it's a plot of z=(y-x-1)/(x^2+y^2) and those are not the same thing.

We'd only need to "apply a filter" to get the line graph if we started with z(x,y), but that's not what you wrote

chemotaxis · a month ago
I think the parent basically sensed that you're not a trained mathematician and is trying to throw their middle-school math textbook at you.

The simplest definition of a "graph of a function" is that it's a representation of the points satisfying some underlying equality. Your plot isn't that. A more conventional name would be a heatmap: a plot of a function that takes two parameters - x and y coordinates - and then assigns a third value (color) to each.

I don't think the distinction is all that interesting. They're both function plots.

andrewflnr · a month ago
The "graph" of a function is formally defined as exactly those points that make the equation true. https://en.wikipedia.org/wiki/Graph_of_a_function Granted, the graph is only one visualization of a function, and not the only valuable one.

Of course we also have to remember that functions are not the same as equations, and a given function, or more generally relation, can be represented by multiple different equations. For a trivial example, multiply both sides of your slashdot equation by a constant, or add x*y.

virtualbluesky · a month ago
It's the heat map of the error surface of the equation... Fairly well understood as a concept in the land of optimization and gradient descent.

Interesting, what's being visualized there is actually a failure mode for an unidentifiable equation - the valley where the error is zero and therefore all solutions are acceptable. Introduce noise into the measurements of error and that valley being too flat causes odd behaviour

aDyslecticCrow · a month ago
This is brilliant and oddly obvious in hindsight. Measured valuable almost always have noise, and equations rarely solve to true zero. Setting a small delta is common practice, but these graphs show that some equations may have odd behaviour when you do that.
willguest · a month ago
Taking it a step further, how would simple algorithms behave when viewed in this way? Rather that just the outcome, we could observe a possibility space...

Michael Levin has talked about interesting dynamics with the bubble sort algorithm, which is only a few lines of code, that have parallels in biological processes, suggesting there is a more nuanced logic to nature that we are not seeing

bigmadshoe · a month ago
This sounds a lot like the programs encoded by neural networks.
moi2388 · a month ago
Isn’t that just done in a higher level language, tweaking the algorithm to allow duplicates, and then being surprised there is clustering?

I mean, I don’t see why that is special? Correct me if I’m wrong. I like his research and views on biological electric spaces, but this I did not understand.

roywiggins · a month ago
People who like these types of charts will probably also like domain coloring plots of complex functions:

https://web.archive.org/web/20120208174423/https://maa.org/p...

https://observablehq.com/@rreusser/complex-function-plotter

141205 · a month ago
This is cool to look at, but isn't this just obtained by taking the absolute value of the first equation minus the second? These are very pretty visualizations—but trying to present them as some kind of "sea change" in perspective feels unhelpful.