[HN Gopher] Data structures as topological spaces (2002) [pdf]
       ___________________________________________________________________
        
       Data structures as topological spaces (2002) [pdf]
        
       Author : cpp_frog
       Score  : 126 points
       Date   : 2024-02-16 12:57 UTC (10 hours ago)
        
 (HTM) web link (mgs.spatial-computing.org)
 (TXT) w3m dump (mgs.spatial-computing.org)
        
       | misja111 wrote:
       | How is this fundamentally different than considering data
       | structures as graphs?
        
         | anon291 wrote:
         | Graphs are discrete, topologies are potentially continuous.
         | Moreover, you can do different things with them such as create
         | homeomorphisms to another topology much more easily than you
         | can create bijections between graphs. In general, continuity
         | lets you assume things that are impossible in discrete spaces.
         | For example, many optimization problems are really easy in
         | continuous spaces but really hard in discrete ones (linear
         | programming for example)
         | 
         | Given the recent success with vectors as a general model for
         | data (as witnessed by the continued success with deep neural
         | networks), it's an interesting discussion to have.
        
           | dlahoda wrote:
           | feels so true.
        
           | StevenXC wrote:
           | Also relevant:
           | 
           | https://en.m.wikipedia.org/wiki/Topological_data_analysis
        
           | JensW wrote:
           | Discrete spaces can also be topological spaces, see discrete
           | topology
        
             | HighFreqAsuka wrote:
             | Did you not read the word "potentially"? Topological spaces
             | are a more general case of spaces that contain the discrete
             | case as a subset.
        
           | aleph_minus_one wrote:
           | > Moreover, you can do different things with them such as
           | create homeomorphisms to another topology much more easily
           | than you can create bijections between graphs. In general,
           | continuity lets you assume things that are impossible in
           | discrete spaces.
           | 
           | If you argue with more generality: why not consider sites
           | (and, relatedly, topoi) instead of topological spaces then:
           | 
           | > https://en.wikipedia.org/wiki/Grothendieck_topology
           | 
           | > https://en.wikipedia.org/wiki/Topos
        
             | anon291 wrote:
             | > If you argue with more generality: why not consider sites
             | (and, relatedly, topoi) instead of topological spaces then:
             | 
             | I thought linear programming would be something everyone
             | knows, and I am not the original author so I can't speak
             | for why they chose topological spaces instead of anything
             | listed here. I think their e-mails are on the paper.
             | Perhaps e-mailing them will help elucidate their choice.
        
           | mathgradthrow wrote:
           | Topologies are _necessarily_ continuous
        
             | anon291 wrote:
             | Perhaps the confusion is that I should have said
             | topological spaces can be continuous. There are discrete
             | topological spaces. Topologies (which I believe is
             | typically used to refer to the collection of open sets in a
             | topological space) are not functions or relations
             | themselves, so I'm not sure a useful notion of continuity
             | applies there, but if I'm wrong, please inform.
        
               | m3ndax wrote:
               | There isn't really such a thing as a 'continuous
               | topological space'. Technically speaking, continuity is a
               | property of functions between topological spaces. I think
               | you're being tempted to use the terms continuous and
               | discrete in a more colloquial sense mapping more to
               | uncountable vs countable/countable and finite perhaps.
               | But yeah, you really wouldn't use the term continuous to
               | describe a topological space or a topology.
        
               | nyrikki wrote:
               | The classic middle-thirds Cantor Set being a
               | topologically set is one of the easiest counter examples
               | to the above misconception that the sets need to be
               | continuous themselves.
               | 
               | Being able to define a neighborhood or a concept of
               | closeness is required, but the concept of distance is not
               | required.
               | 
               | If you can define a distance a topological space is a
               | metric space
               | 
               | If it is locally euclidean it may be a manifold.
               | 
               | Really the union and finite intersection of subsets is
               | the formal way of showing something is a topological
               | space. Too har do describe here but that is where the
               | concept of continuity arises.
        
               | anon291 wrote:
               | Connected or complete then.
        
             | bmacho wrote:
             | This is not even false.
        
             | skhunted wrote:
             | You and OP are using the word continuous in two different
             | contexts. Generally one would not say that the integers
             | with the trivial topology is continuous. It's a discrete
             | space with a topology. But when someone says a space is
             | continuous generally they mean not discrete.
        
             | ducttapecrown wrote:
             | You're going to tell me the discrete topology is
             | continuous!?
        
       | anon291 wrote:
       | I wonder if this article is related to homotopy type theory at
       | all, since they propose similar ideas.
        
         | Verdex wrote:
         | Ultimately, I don't think so. All the HoTT stuff seems to
         | really be focusing on constructing proof objects so that the
         | computer can run them on mathematics which would otherwise not
         | have any computer verification run on it.
         | 
         | More or less advanced type checking for math.
         | 
         | Meanwhile, the MGS language's topological collections and
         | associated transforms seems to be about simulating things like
         | chemical reactions. Not really verification so much as
         | exploration.
         | 
         | Although, to be sure, I think both are examples of how
         | mathematics (even highly abstract mathematics like topology)
         | can be useful to other disciplines.
        
       | reuben364 wrote:
       | I'm left confused as to what the gluing in the rule replacement
       | is. Must the boundary of a rule match on both sides? Also what
       | examples there would be of what an example would of having
       | topology that is not induced from a graph if it is at all
       | possible.
        
       | HackerThemAll wrote:
       | > So, the expression
       | 
       | > 1, 1+1, 2+1, ():set
       | 
       | > builds the set with the three elements 1, 2 and 3
       | 
       | Regarding the "():set" part, and the "():something" idiom
       | repeating in the article, is that from the same competition for
       | the most absurd syntax where Golang got most of its awkwardness?
        
       | Verdex wrote:
       | It feels like the following PDF better expresses what they're
       | trying to accomplish.
       | 
       | http://mgs.spatial-computing.org/PUBLICATIONS/lami-RR72--com...
       | 
       | As far as I can tell, they're trying to model things like
       | chemical reactions (and other stuff) where given a bunch of
       | "stuff" in some solution it will combine with other "stuff" if
       | it's in the same topological neighborhood (which I think is
       | basically the idea that ALL of the "stuff" doesn't have to be
       | next to each other b/c if you let a solution just sit there
       | eventually reactions are going to react).
       | 
       | It's kind of neat, but their website seems to indicate that it is
       | not being actively supported. Or at the very least they don't
       | seem to have any reason to make publicly available documentation
       | after since around 2010.
       | 
       | EDIT: So for example, you could use their "trans" transform
       | primitive to implement conway's game of life by defining the
       | birth rule as a pattern of an empty cell with three alive cells
       | and a transform that results in the empty cell being alive and
       | the alive cells being the same. The death rules in similar
       | fashion. Neighbor here would be defined as being physically next
       | to something (but the point is that because this is about
       | topologies, then neighbor doesn't have to mean physical proximity
       | ... although I'm not sure where that's defined ... in the
       | collection maybe?).
       | 
       | And then you just run the transform on a collection with some
       | initial state.
       | 
       | EDIT EDIT: Yeah, the notion of neighbor is defined on the
       | collection. This allows you to use the same transform on
       | different collection types and get the appropriate result.
       | 
       | ALSO checkout figure 5 in the PDF I linked because it's an
       | incredibly concise description of exactly what they're doing.
       | 
       | EDIT EDIT EDIT:
       | 
       | This also feels vaguely similar to what the Egison language is
       | doing with their pattern matching. Documentation for Egison feels
       | better at least to me.
       | 
       | https://www.egison.org/
       | 
       | However, I don't think that egison allows you to define arbitrary
       | notions of neighbors in a collection like MGS does. But I haven't
       | exactly tried to use it very much.
        
         | Cacti wrote:
         | Is this for modeling a single reaction or chain of reactions?
         | ie you don't need neighborhoods if you are modeling 7 trillion
         | of one thing combined with 14 trillion of another?
        
         | amelius wrote:
         | I'm puzzled by what's happening on page 9 of that PDF.
         | 
         | Ok, I quickly browsed through it, but a chemical reaction where
         | two identical molecules react into those same molecules plus
         | another molecule? How can this be possible?
        
       | hackandthink wrote:
       | Stephen Wolfram's ruliad seems to be some sort of concurrent
       | topological computations.
       | 
       | There are some beautiful pictures.
       | 
       | https://content.wolfram.com/sites/43/2021/11/1110swimg46.png
       | 
       | https://writings.stephenwolfram.com/2021/11/the-concept-of-t...
        
         | tudorw wrote:
         | Fascinating, so would this mean an LLM is an approximator of a
         | certain proportion of a 'ruliad'? Apologies for using GPT here,
         | but it's a bit beyond my math to make a statement like that
         | without reaching for my sidekick..."in a broad sense, one could
         | conceptualize a Large Language Model (LLM) as an approximator
         | of a specific, limited subsection of the ruliad" so I guess so,
         | ish?
        
           | bibanez wrote:
           | Considering the ruliad consists of all possible rules and
           | their applications, you could say that. But it's oh so much
           | more!
        
       | mjhay wrote:
       | Related to this, AlgebraicJulia has been doing a lot with
       | applying concepts from algebra and category theory to data
       | analysis and modelling.
       | 
       | https://www.algebraicjulia.org/
       | 
       | There's some blog posts that are also interesting:
       | 
       | https://blog.algebraicjulia.org/
        
       | whosthatguy wrote:
       | > 1. selects a sub-collection B of A whose elements match the
       | path pattern b,
       | 
       | > 2. computes a new collection C as a function f of B and its
       | neighbors,
       | 
       | > 3. and specifies the insertion of C in place of B into A.
       | 
       | This sounds a lot like the presentation of comonads as directed
       | containers (e.g. https://arxiv.org/abs/1408.5809).
        
         | andoando wrote:
         | I wish I understood what this paper was saying.
        
       | andoando wrote:
       | This is very interesting. Has anyone considered using
       | paths/vectors in 2d/3d space as data structures?
        
         | runsfromfire wrote:
         | Jurassic Park definitely did
        
       ___________________________________________________________________
       (page generated 2024-02-16 23:00 UTC)