Live data from Hacker News

Why Hypergraphs? (2013)

blog.opencog.org

11–20 of 27 posts

Re: Why Hypergraphs? (2013)

#11
post #9

Graph rewriting systems are really neat. I've been working in Mathematica lately, and the language is a term-rewriting system. It's been really powerful and intuitive and for the life of me I can't understand why it's not more common. Specifically, I read about the SubsetCases predicate: SubsetCases[expr, pattern] returns subsets of expr that match the pattern. You can draw a triangle graph, put slots as the node nam…

With the 13.1 release last month came a substantial HN discussion centred around how cool, yet proprietary Mathematica is.

https://news.ycombinator.com/item?id=31928608

That kind of also describes every other Wolfram-related submission :/

Re: Why Hypergraphs? (2013)

#12

Hypergraph is like a graph but one where vertexes can connect more than two nodes. Right? Isn't that just like the difference between Object Oriented and Relational, Models? A relational table has multiple columns. A relational table does not represent a relation between two things. It represents a relation between N things, with its N columns.

[deleted]

Re: Why Hypergraphs? (2013)

#13

Earlier quoted context omitted.

Yes, a hyperedge is like a set of nodes. Not limited to just two nodes. I hadn't thought of relational tables in that way. I guess, you could look at each row of a table as a hyperedge grouping together all the columns for a given record. Not sure how useful that is though. The cross-table join relations are still relatively point-to-point I think.

It might be just a good way of thinking about it. In practice it might provide some ideas about how to translate between an Object-view and Relational-View. What I'd like to find is a relational database where field-values can be not just elementary values like numbers and strings but also "object-instances". I wonder is there such a database? It would seem to offer the best of both worlds, objects, and relations bet…

This might not be quite it, but perhaps you’re looking for graph databases?

Re: Why Hypergraphs? (2013)

#15
post #11
post #9

Graph rewriting systems are really neat. I've been working in Mathematica lately, and the language is a term-rewriting system. It's been really powerful and intuitive and for the life of me I can't understand why it's not more common. Specifically, I read about the SubsetCases predicate: SubsetCases[expr, pattern] returns subsets of expr that match the pattern. You can draw a triangle graph, put slots as the node nam…

With the 13.1 release last month came a substantial HN discussion centred around how cool, yet proprietary Mathematica is. https://news.ycombinator.com/item?id=31928608 That kind of also describes every other Wolfram-related submission :/

Comparing Wolfram's other works to Mathematica would be flattering. His massive book where he proposes "A New Kind Of Science" is a long love letter to himself. I mean, I haven't tried to work on something for 20 years, but plenty did, none of them is as arrogant and utterly self-absorbed as Wolfram is. At least Mathematica doesn't print "btw, I'm a genius, and fuck traditional programming langs" every time you evaluate an expression.

His recent "Physics Fundamentals" project is even worse, I see 0 collabration or critique from mainstream physics, 0 testable predictions or actual real-world significance to all the CS-Physics mixed salad. The only thing that sorta kinda could be described as physics is that he can re-derieve some traditional physics out of the new theory with some assumptions. Despite me not being a physicist, my understanding is that this is quite low-bar for a new physics theory, almost the bare minimum, enough to not consider you a total crank, but not for anything else.

Re: Why Hypergraphs? (2013)

#16

Hypergraph is like a graph but one where vertexes can connect more than two nodes. Right? Isn't that just like the difference between Object Oriented and Relational, Models? A relational table has multiple columns. A relational table does not represent a relation between two things. It represents a relation between N things, with its N columns.

Yes, a hyperedge is like a set of nodes. Not limited to just two nodes. I hadn't thought of relational tables in that way. I guess, you could look at each row of a table as a hyperedge grouping together all the columns for a given record. Not sure how useful that is though. The cross-table join relations are still relatively point-to-point I think.

Funnily enough, this hypergraph view is used to describe symptomatic query complexity for cyclical joins, the simplest if which is "count triangles in adjacency list" (naive RDBMS yields O(n²) on pathological data, despite the wrist case optimal tactic being something like O(n + #Triangles), with #Triangles limited inherently to O(n^(1.5))).

See https://arxiv.org/abs/1404.0703 for some reading material and one particular way at beyond worst case (i.e., sharing worst case asympotics with the best constant time algorithm, but better performance on non-pathological data (a more precise notion is complicated; there are at least 3 different useful definitions)) runtime performance.

AFAIK the worst cyclical query on a 2-column table is "k-clique counting", from a POV of performance between WCOJ and what Postgres can do (asympotics).

Re: Why Hypergraphs? (2013)

#17
post #7

So what happened to opencog?

I assume the development fizzled out after several rounds of investment and no interesting results demonstrated. Not to sound dismissive, but I just see this pervasive pattern of failure in AI projects which aren't built from the ground up for learning . If your basic system cannot learn solving at least some problems initially, it drastically lowers the probability of it acquiring learning capability later in develo…

Disclaimer: I don't have specific AI/ML expertise, but I've known the founder (Ben Goertzel) for close to 20 years now.

OpenCog never got huge amounts of money. Ben believes strongly in developing AGI (he actually coined the term). There are a few core researchers and developers that have worked with him for decades, also mission-focused. So I don't see development "fizzling out". There are also newer efforts such as SingularityNET.

Development seems alive and well, based on activity at https://groups.google.com/g/opencog, though it is mostly done by a single person these days (the author of the OP)

A general criticism about results may have some validity - When I added cross-platform capability to a part of the project back in 2016, I found an obscene amount of technical debt.

That said, I don't think your criticism is necessarily a good one to make. I'm not aware of any projects that have much in common with OpenCog or Ben's other work. The approach is very different, but again, I'm not an AI/ML expert and only understand this based on comments from others in the AGI community. My gut feeling here is that there's more to the story, or something otherwise doesn't add up, as you are attributing the project with a failure mode apparently shared by the majority of AI projects.

Can you name some examples of projects which are doing the right thing in regard to learning? I'd be genuinely interested in checking them out.

I'd also encourage posting your criticisms to the OpenCog mailing list and I'd expect someone there to address them in good faith. In any case, if you're enough of an expert to be able to make those sorts of criticisms correctly, there would certainly be value to be found in your complete argument.

Re: Why Hypergraphs? (2013)

#18
Because logical relations are not only binary. If you have a logical formula f(x,y,z) (which applies to triplets of people, or machines or a network, or natural numbers or whatever) - then the combinatorial object corresponding to this relation is a hypergraph with (directed) 3-node edges.

Re: Why Hypergraphs? (2013)

#19

Hypergraph is like a graph but one where vertexes can connect more than two nodes. Right? Isn't that just like the difference between Object Oriented and Relational, Models? A relational table has multiple columns. A relational table does not represent a relation between two things. It represents a relation between N things, with its N columns.

This can be modelled as a regular graph simply by representing the hyper edge as another node with a set of edges. If those are labelled appropriately to differentiate them from regular nodes, it’s straightforward enough to represent it as a regular graph.

Re: Why Hypergraphs? (2013)

#20
post #19

Hypergraph is like a graph but one where vertexes can connect more than two nodes. Right? Isn't that just like the difference between Object Oriented and Relational, Models? A relational table has multiple columns. A relational table does not represent a relation between two things. It represents a relation between N things, with its N columns.

This can be modelled as a regular graph simply by representing the hyper edge as another node with a set of edges. If those are labelled appropriately to differentiate them from regular nodes, it’s straightforward enough to represent it as a regular graph.

Many things can be represented as more complex structures of simpler things.

It's interesting whether a new formalism allows to express things better, unearth interesting structures not apparent using a more busy formalism, etc.

Compare the Maxwell equations in the wordy original form, and in a highly compact Clifford algebra form.

Post reply on HN