On Mon, Feb 25, 2019 at 9:43 AM Matt Mahoney <[email protected]> wrote:
> On Mon, Feb 25, 2019 at 12:31 AM Linas Vepstas <[email protected]> > wrote: > > On Sun, Feb 24, 2019 at 6:34 PM Rob Freeman <[email protected]> > wrote: > > > Sergio Pissanetzky comes close to this, with his analysis in terms of > permutations, also resulting in a network: > > > "Structural Emergence in Partially Ordered Sets is the Key to > Intelligence" > > http://sergio.pissanetzky.com/Publications/AGI2011.pdf > > > > I'll look. Is it actually that good? > > He lost me when he made the giant leap that this was the key to > intelligence, like this is how the brain works. The paper mostly > references his own work plus a few textbooks and irrelevant articles. > > Anyway he claims that minimizing the cost function of a partially > ordered set solves all sorts of problems, like visual clustering, > discovering Newtonian mechanics, deriving class hierarchies in > procedural code (referenced in his other papers that I didn't read), > and parallel CPU scheduling. > > inducing a "block structure", which I think means > > :-( OK, so posets occur absolutely everywhere in mathematics. You can't turn around sideways without bumping into one. And just like any other system defined by a handful of simple, ("trivial") axioms, it has a vast ocean of surprising and deep results in it. (to name a few: Zorn's lemma, Stone representation theorem, ultrafilters, pointless topology...) In comp sci, posets are used for job scheduling: so process A and B can run in parallel if they have no dependencies, but if C has to wait for results from A and B, one writes A<C and B<C meaning process C runs at a later time than A,B. In compilers, A,B,C can be assembly instructions. In CPU's, A,B,C can be loads and stores from memory. In web browsers, A,B,C can be web-pages and ads (you cannot draw web page C until you know the size of images A,B first, but the size of image A does not depend on the size of image B, so you can fetch these in arbitrary order). What Pissanetsky calls a "permutation", I know as a "trace" -- https://en.wikipedia.org/wiki/Trace_monoid (See also "history monoid") What he describes as the "cost" function is commonly used and minimized in compilers, CPU's and web-browsers. Basically, if you've got A and B now, you may as well do C next (instead of waiting and getting distracted by something else). The cost is smallest if you put C next to A and B, the cost is high if C is far in the future, Compilers very explicitly compute this cost, and minimize it to determine the order in which the assembly insns appear in the generated binary. It a major part of "optimization". The idea of a "block" (what he calls a block) appears in "block scheduling" in operating systems. If you somehow know (however you might know) that process C depends on process A and B, then it makes sense to run A,B,C together as a block, rather than separately. For example, say that you know that the mouse, the windowing system and the web-browser are all inter-dependent, whereas the database server couldn't give a rats ass about the mouse and the windowing system. For the operating system, it would be insane to schedule the mouse driver, then run the database for a while, then run the window system for a while, then the database, then the web-browser, which, oh, by the way, now has an old and out-dated mouse position, because the database server got in there and delayed everything. So your computer/phone/tablet feels sluggish and slow, because some other, unrelated process (the database server) is being pointlessly scheduled, adding delays. (substitute "network activity", "voice call", "virus", for "database server", same idea) The standard fix is block scheduling. To do block scheduling, you have to know how to group things together into a "block", and for that, you need to know the poset of dependencies, and how "far away" things are. i.e. the cost function. Scheduling the database in between the mouse driver and the web browser just increases the distance between mouse and browser, increasing the cost. So, yeah, in general, you want to keep things "local" and "together" and "nearby", and if you have a big, complex network, you want to "factorize" it so that tightly-coupled things stay near each other, and unrelated things can be separated from each other. The "cruelest cut" of neuroscience -- Tonini's cut, the one that Tegmark looks at for "integrated information", is the cut that slices through the greatest number of connections: it slices a block in two, causing the greatest damage. That's how/why Tonini/Tegmark define integrated information: they claim it is the best way of finding a block of related things, of judging the size and complexity of the block. If you compare the formula for integrated information to Pissantzky's equation 2, I think you'll find that I.I. just has an extra logarithm in it: that it will be something like sum_w d(e,e-prime) log d(e,e-prime) or something like that. Factoring things into local, tightly-connected blocks is a big, big deal, and not just in neuroscience. In advertising, people who like hot-rods are also into motor oil and tires, and advertisers want to know what these "blocks" are. (often called "clusters", thus "clustering") For the skippy-gram language-factorization paper I posted, its all about clusters (a dog is like a cat but is not like a neutron) By the way: category theory: A,B,C would be "dots" and the > sign is an "arrow". In posets, you are allowed only one kind of arrow. In category theory, you can have many different kinds of arrows, each having a distinct name. That is, in category theory, the arrows have "labels", identifying what kind they are. Viz.: a directed graph, where the edges have labels. (Category theory is explicitly transitive, it's one of the axioms: an arrow always exists, if two other arrows can be joined, head-to-tail. Always) -- Linas -- cassette tapes - analog TV - film cameras - you ------------------------------------------ Artificial General Intelligence List: AGI Permalink: https://agi.topicbox.com/groups/agi/Ta6fce6a7b640886a-Md38a9992715e872b7e5e05e8 Delivery options: https://agi.topicbox.com/groups/agi/subscription
