Home
Fly, fly, balloon man. Savor the Void! [entries|archive|friends|userinfo]
Jason

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

(no subject) [Nov. 20th, 2009|01:30 pm]
[Tags|, ]

Today I learned about a cute new variety of algebraic structure, the generalized ultrametric space, aka "gum space". It's just like an ultrametric space, (which in turn is just like a metric space with a stronger triangle inequality that says d(x,z) ≤ max(d(x,y), d(y,z)) rather than d(x,z) ≤ d(x,y) + d(y,z)) except instead of the metric d taking values in the nonnegative real numbers, you let it take values in some ol' poset-with-least-element.

A nice example of a gum space that is not trivially an ultrametric space is a collection of functions A → B whose "distance from one another" is just the subset of A on which they have different outputs. Here the powerset of A is standing in for R≥0 as the type of "how different can two things be" --- it's actually telling you how they're different, not just how much.

Formally (X, d, (P, ≤, 0)) is a gum space with underlying set X if (P, ≤, 0) is a poset with least element 0, and d : X × X → P has the properties

  1. (Zero) d(x,y) = 0 iff x = y
  2. (Symmetry) d(x,y) = d(y,x)
  3. (Ultrametric Inequality) if d(x,y) ≤ p and d(y,z) ≤ p, then d(x,z) ≤ p


Exercise: when P=R≥ 0 with the usual order, then the ultrametric inequality is the same thing as requiring d(x,z) ≤ max(d(x,y), d(y,z)).

However, and I think this is rather cute, there's still enough machinery in them to prove a standard contracting-map fixed point theorem.

Define a contracting map from one gum space to another to be a map f of the underlying sets such that d(f(x),f(y)) < d(x,y). Say a gum space is spherically complete if the intersection of any chain of balls in it is nonempty. (This condition is a stand-in for the usual notion of Cauchy-completeness)

Theorem (Priess-Crampe and Ribenboim '93) Any contracting map from a spherically complete gum space to itself has a unique fixed point.
Proof (I couldn't find the original paper, so I just reconstructed the following proof from some guesswork, hints in papers that cited it, and vague memories of seeing the Banach fixed point theorem in a topology class long ago) Uniqueness of the fixed point follows immediately from the contracting condition on the function, and the zero axiom of gum spaces.

For existence, make the following definitions. A pair (x,p) is a good pair if d(x,f(x)) ≤ p. We abuse notation and let a good pair (x,p) stand for the closed ball B(x,p). So for instance a set S of good pairs is a chain if the set of closed balls {B(x,p)|(x,p) ∈ S} is a chain in the usual sense. Consider the collection of all chains of good pairs in the space, ordered by inclusion. The union of any chain of chains is again a chain, so Zorn's lemma yields a maximum chain C. By spherical completeness, ∩C is nonempty. We argue by contradiction that any point in ∩C must be a fixed point. For suppose otherwise; we have x ∈∩C such that f(x) ≠ x. First of all, also f(x) ∈ ∩C. Why? Let any good pair (y,r) ∈ C be given. We know that x ∈ B(y,r) so d(x,y) ≤ r. Because f is contracting, d(f(x),f(y)) < r. Because (y,r) is a good pair, d(y,f(y)) ≤ r.

Putting these three facts together via the ultrametric inequality, d(x,f(x)) ≤ r, so f(x) ∈ B(y,r). Hence f(x) ∈ ∩C.

Now if we go just one step further iterating f on x, notice that d(f(x),f(f(x))) < d(x, f(x)) since f is contracting, so (f(x), d(f(x),f(f(x)))) is a good pair whose ball does not include x, yet is contained in every ball in C. (This claim tacitly uses the weird ultrametric-specific fact that every point in a ball is its center) We have refuted the maximality of C, QED.
Link4 comments|Leave a comment

(no subject) [Nov. 19th, 2009|10:07 pm]
[Tags|]

Had a couple of really excellent meetings today, one with some of the usual Nobot people, and another one with Vivek. Did I mention that I <3 focusing so much? I really do. I think I sold Vivek on the adjoint logic business I'd been working on, and he gave me a bunch of stuff to think about too. I think I understand why multifocus seems somewhat natural now if you actually look at focalization graphs, but I'm still a bit sketched out by said graphs. I need to look into Kazushige Terui's stuff --- an occasional coauthor with Agata Ciabattoni.
Link2 comments|Leave a comment

(no subject) [Nov. 18th, 2009|10:48 am]
[Tags|]

My god, all issues of socializing in a new city apart, the phenomenon of ubiquitous cheap food trucks here that serve food I actually like continues to be so great.

Some nameless truck on Market near 36th sold me a completely delicious and rather large (like, nearly Uncle Sam's sized) turkey-bacon, egg and cheese sandwich for $3.00. I thought the cost of living was supposed to be higher here than pittsburgh, but the cost of sandwich-life is quite reasonable. The turkey-bacon is somewhere in between canadian bacon and salami in texture and flavor. Not sure how that happened.
LinkLeave a comment

(no subject) [Nov. 17th, 2009|05:38 pm]
[Tags|, ]

For the hell of it I tried (with [info]simrob's help) using Skype to listen in on the ConcertRG reading group at CMU, where they were discussing that "F-ing modules" paper. Verdict is I think that audio quality is in fact not really good enough to not be annoying when there are lots of people talking at various volume levels at once, but it seems like it'd be a useful tool for one-on-one meetings. I've heard of people having advisor meetings this way when their advisors are out of town for extended periods of times and it makes a lot of sense.
Link9 comments|Leave a comment

(no subject) [Nov. 17th, 2009|09:04 am]
[Tags|]

I've been keeping a text file dream diary for the last couple months --- interesting to find that doing so seems to make it easier to remember more dreams more often and in more detail.

Also interesting to see repeated themes: locks (especially a deadbolt that almost but doesn't quite keep the door from being forced open), stairs, family members, being pursued by animals, scenes from the home I grew up in 1983-1994.
Link1 comment|Leave a comment

(no subject) [Nov. 16th, 2009|03:41 pm]
[Tags|, ]

Further adventures in "jcreed's reading some research papers because they are allegedly relevant to his research project", although this time they might be a little more relevant than average.

The main entry point for me is Differential Privacy, Cynthia Dwork. A bunch of CMU theory people's names (Avrim, Maria Balcan, Katrina, Aaron Roth --- and indeed my understanding was helped a lot by Katrina sketching out the picture a bit last I talked to her when I visited Spoons'n'Copic in NYC a couple weekends ago) keep coming up downstream from this paper too.

The basic trick is both really simple and deep in a nice way: it is possible to have probabilistic guarantees of privacy by exporting to the public not your whole database, not a deterministically "santitized" version of your whole database, (which historically has led to disaster even when people thought they knew what they were doing) but a randomly perturbed function of your database under certain conditions.

Perturbed how?

Okay, well, let me set up the problem first. Let D be the collection of all possible databases of a certain type that might hypothetically arise. Perhaps D is the set of all sets of pairs (P, H) where P is a person and H is their height. Let f be some function D → Rn that computes some public information, a vector of n real numbers, from a database. For example, f outputs a histogram counting how many people are, rounded off to the nearest foot, n feet tall, for n = {1,...,9} or whatever. The punchline coming up is that all I need to do is to add some random noise to f, and it will protect the privacy of anyone sitting in the original database, in the following sense: if that person wasn't in the database, with high probability you wouldn't notice.

The example function f above has the useful property that it has low "sensitivity". The sensitivity Δf of an f : D → Rn is defined to be the maximum possible L1-norm (i.e. sum of absolute value of all coordinates) of ||f(D1) - f(D2)|| where D1 and D2 are databases that only differ from one another by one entry being removed or inserted. Histogramming functions like the f above have Δf = 1. The most effect you can have by adding or deleting one dude is to make one bucket have one bigger or smaller count.

Now it's time to define ε-differential privacy. The f above isn't yet private, but we'll want to define a randomized "release function" based on it, and of the same type, that is. A random function g : D → Rn has ε-differential privacy if for any D1 and D2 from D that differ by one record, and any adversarial experiment S : Rn → bool, we get

Pr[S(f(D1))] ≤ exp(ε) Pr[S(f(D2))]

In plain english, the likelihood of the adversary getting the result he did wouldn't have been much different if your sensitive records weren't in the original database at all!

Given any f, we let g be just the result of adding Laplace noise to f, with the standard deviation being σ --- the sigma is just a knob we can tune, for the main theorem is:

Main Theorem if f has sensitivity Δf, then this g has (Δf/σ)-differential privacy. We can turn up σ as much as we like to get more privacy, at the cost of fidelity of the published data.

I almost felt let down by how easy the proof is. Unpacking definitions, we want to show

Pr[S(g(D1))] ≤ exp(Δf/σ) Pr[S(g(D2))]

Boole says we can forget about the generality of all possible adversarial experiments and focus on the ones where our adversary is looking at the density function at one particular vector, i.e. it suffices to show for all r ∈ Rn,

Pr[g(D1) = r] ≤ exp(Δf/σ) Pr[g(D2) = r]

Ok, now we unpack the definition of the Laplace distribution. The probability that g(D1) = r falls off exponentially as the absolute value of how far away f(D1) is from r, with σ of course controlling how quickly it falls off. There's a normalization factor of (1/2σ) out front as well. Our new goal is

(1/2σ)exp(-|r - f(D1)|/σ) ≤ exp(Δf/σ) (1/2σ)exp(-|r - f(D2)|/σ)

(where the vertical bars are again the L1 norm) Now normalization factors cancel on both sides

exp(-|r - f(D1)|/σ) ≤ exp(Δf/σ) exp(-|r - f(D2)|/σ)

take the log of both sides and multiply by sigma

-|r - f(D1)| ≤ Δf -|r - f(D2)|

swap the negatives around

|r - f(D2)| ≤ Δf + |r - f(D1)|

and we see that we could prove this by just appealing to the triangle equality on the L1 norm

|r - f(D2)| ≤ |f(D1) - f(D2)| + |r - f(D1)|

if only Δf ≥ |f(D1) - f(D2)| --- except Δf was exactly chosen to be the max over all possible |f(D1) - f(D2)|, so it's true, QED.

Fundamentally this feels intuitively like it's just a corollary to a sort of uniform continuity property of appropriate functions f.
Link12 comments|Leave a comment

(no subject) [Nov. 15th, 2009|09:03 pm]
[Tags|, ]

Had coffee with that bio grad student from CL; a pleasant way to kill an hour and a half. Where by "coffee" I mean "I had a delicious boylans black cherry soda" because the weather was too warm for tea. Which is what "coffee" usually means, obviously.

Finished "The Death and Life of Great American Cities" by Jane Jacobs. I picked it up randomly at borders basically since I liked the incredibly spare cover design and it sounded like an interesting topic. Turned out it was decently interesting, but it got rambly by the last third or so (of 400 pages) and was fundamentally rather anecdotal-evidencey throughout. Nonetheless I enjoyed the observation that the mere informal policing force of people merely being present on a street can be important in an area feeling "safe", and that overcrowding of dwelling units (that is, high people/rooms) is different from intentionally high geographic density of dwelling units (i.e. rooms/sq. mile), and I'm quite sympathetic to her claim that the former is associated causally with poverty (because if you can't afford to rent a humane amount of space, you'll rent less), and that the latter is not (contra the chorus of pre-1960s city planning orthodoxy she is presumably railing against) and in fact associated with high quality of life because lots of people in the same neighborhood leads to vital and interesting city living.

All in all I liked it a lot as an apologia for living in large cities, though not so much as a coherent narrative or rigorous work of science, not that it particularly claimed to be either of those, but still. It could have been easily half as long or less and still made its points pretty well. (6/10)

Just started to read "Мастер и Маргарита", enjoying it already. (Unlike my earlier abortive attempt at trying something Russian-lit the other month, "Crime and Punishment", which got boring after like three chapters. Or maybe "boring" isn't the right word, but I just couldn't get interested in it. It was like I Love Lucy except depressed instead of zany and murderous instead of... zany? I just... ugh. I don't really like the trope of "omg something went wrong which makes this other thing go wrong and oh boy now the shit is really hitting the fan") Anyway Bulgakov's character of The Devil in my mind looks just like the one in Sinfest, which is great.
Link12 comments|Leave a comment

(no subject) [Nov. 14th, 2009|09:46 pm]
[Tags|]

Also on the topic of sandwiches:

"Elephant and Castle" on 18th just a bit south of Market offers a reasonably good version of the Canonical Pub Burger Experience closer to my home rather than campus. Burger was low-intensity in flavor, but I think that's okay. I'm beginning to feel that Mikey's is actually a bit over-salty at times. Fries very huge and potatoey. Ambience was Union-Grill-like, but a larger establishment, and they had some English Schtick going on what with calling their fries "chips" on the menu and having bangers'n'mash and stuff. (8/10)

Gave "Lee's Hoagie House" a second shot. Had a cheesesteak this time. Damn if it wasn't just sort of delicious. I notice there is a continuum from more greasy homogenized beef mush to a drier, chewier "I sure am eating pieces of steak" steak. Lee's is at the latter end, which I want instinctually to disprefer, but unlike Steak Queen and that pizza place on Spruce, it still comes out good. Mildly expensive, though. >$8 for sandwich and a drink, whereas Frita's (sadly not to be found today) is like $5, and I think their steak is bigger. (7/10)
Link10 comments|Leave a comment

(no subject) [Nov. 14th, 2009|05:06 pm]
[Tags|]

You know, I do like obsessively keeping old work of mine, even if I am terrible at organizing it, because I think between 2006ish and nowish I got somewhat better at Illustrator and Photoshop and stuff. (The latter link is a work-in-progress teaser for a print project for Spoons'n'Copic's living room that I am having lots of weekend fun with)

It helps I guess also that I used proper fractal-random-displacement nonsense that I learned in like 1994 (implemented by having sml output svg, of course) to generate the outlines rather than trying to draw them by hand.
Link3 comments|Leave a comment

(no subject) [Nov. 13th, 2009|05:13 pm]
[Tags|, ]

Some papers I read today.

"Resource usage analysis", Igarishi and Kobayashi, from POPL'02. This was the PLClub paper of the week. I didn't care for it much at all. There's some idea in there that seems really cool as a generalization of linear uses, but I struggled in vain to really grasp it. There are too many formal concepts not really nailed down enough for me to understand what they're doing. There's not really a strong distinction between things that are definitely propositions and things that are merely functions-on-propositions that feels incredibly alarming to me aesthetically. I'm told these are the dudes who went on to do session types --- can't say I ever totally understood them, either.

"Simplicial Databases", David Spivak. Got this from a CMU talk announcement that Steve Awodey sent out. I am such a sucker for aiming big, big categorical guns at problems like these. I kind of lost track of what was going on halfway through, but it was fun going up to that point, pullbacks and slice categories and labelled simplicial categories and whatnot, all in the name of making mathematical sense out of how databases are actually done out in the real world, especially when that diverges from the nice but too-simplistic classical theory of relational algebra.

"F-ing modules", Andreas Rossberg, Claudio Russo, and Derek Dreyer. This paper is an utter breath of fresh air. I like it so much I find myself constantly worrying that I am missing some flaw in it only because of my nonexpertise in module systems research. Anyhow I find it a rarity that I am able to write a research paper in such a pleasantly direct style. It's just, I don't know, here is what we are going to do, here is why we want to do it, here is how it works, step one, two, three, there --- we're done, isn't it fucking beautiful? Maybe it is a matter of choosing your content carefully to be in reasonably-sized pieces or something, but even before finishing digesting all the middle bits, I can already say that I find it a pleasure to read, and a very nice result to boot, to wit, directly translating a generalization of the ML module system into System Fω. I mean, if there are not the aforementioned flaws that I am too dumb to notice, it definitely has the feeling of "gosh why wasn't the ML module system explained this way all along" to it. You just kind of pop out abstract types into "monadically" managed prefixes of System Fω existential quantifiers and dodge a ton of bullshit with selfification and the avoidance problem and stuff.

Plus, you can't beat the cute title.
Link4 comments|Leave a comment

(no subject) [Nov. 12th, 2009|11:40 am]
[Tags|]

Decided to try something different from Frita's this morning; had a chicken gyro. Not bad! I am not sure if the sauce is sour cream or yogurt-based (I think it is sour cream?) but it is pretty tasty.
Link4 comments|Leave a comment

(no subject) [Nov. 11th, 2009|10:49 am]
[Tags|, , ]

Another CMU-ism that I am slightly sad to be without: everyone having a UPS in their office. Some dudes fiddling around with electrical stuff here in the basement caused a brief power blip.

When my computer came back on, I had no network. Not that the internet infrastructure in the building was down, because my laptop still worked, but I had no /dev/eth0 device at all! I tried rmmodding and modprobing my network driver, e1000e, but no dice. I did two finds and a diff to determine that there was no change to all of /dev between the module being there and not. /var/log/messages revealed the module not complaining about any errors, though. In an act of desparation, I got the kernel module sources off the thumb drive I had originally installed them from, recompiled, and reinstalled. And it worked! I have no idea why. Even more mysteriously, /dev/eth0 still doesn't exist. Indeed, the module's installation or removal again causes no changes to the entire /dev tree. But eth0 does exist according to ipconfig. Is this some new fancy modern linux virtual device notion? Nobody told me about it. Grumble grumble off my lawn.

No, apparently I am just having bizarre, reality-independent notions about network devices living in /dev.
Link13 comments|Leave a comment

(no subject) [Nov. 11th, 2009|09:33 am]
[Tags|, ]

Amusing log message coming out of a Haskell compilation: (attempting to play with grapefruit)
Generating and compiling a zillion numerical type aliases, this might take a while

Yesterday food adventures:

"Steak Queen" food truck. Boasts "bests steaks on campus". Had a cheesesteak, was not impressed. Steak was sort of gristly and tasted not entirely pleasantly like stir-fry. At least it wasn't liquid-greasy. More expensive than Frita's, farther away from my office, and less tasty. (5/10)

"Gusto", ever so slightly upscale neighborhood pizza place on 22nd between Spruce and Locust. Had an italian sausage calzone, very very tasty. Only problem was that it was two people's worth of food. The onions in it were sort of meh, and achieved that floppy cooked-(but not fried-)onion texture that no right-thinking person enjoys, but the red peppers were really good, the other filling ingredients quite tasty, and the dough was just perfect. The problem with a lot of calzones I have is that the two foldy-end bits get nice and crispy and the center is mooshy and doesn't have enough bread. This fellow was rectangular and somewhat thin, so basically the crust was perfect everywhere. Also: either there was only mozzarella and no ricotta, or else very little ricotta such that I could not even tell it was there. This is exactly as it should be. (8/10)
Link4 comments|Leave a comment

(no subject) [Nov. 10th, 2009|01:02 pm]
[Tags|]

I was skimming this paper and at the top of page 3 misread

the task of the mathematician is to seek a deductive pathway from the
axioms to the propositions or to their denials.

as

the task of the mathematician is to seek a seductive pathway from the
axioms to the propositions or to their denials.


I like my version better.
Link8 comments|Leave a comment

(no subject) [Nov. 9th, 2009|08:34 pm]
[Tags|]

Two months at this postdoc today. Woo?

Just got an email from Vivek Nigam, who is newly arrived over at the math department. He had a paper with Dale that I wanted to bug him about, so this is very welcome news.
Link3 comments|Leave a comment

(no subject) [Nov. 8th, 2009|03:06 pm]
[Tags|, , ]

Have been looking at the literature on Functional Reactive Programming and related things. I am learning that no matter how much I think I've properly digested the whole world of monads and arrows and applicative functors, there's always more to learn.

Generally speaking the programmers' approach to all of these concepts seems very weird to me compared to the logician/category-theorist take, but McBride and Paterson's "Applicative programming with effects" is a really awesome paper that synthesizes the two points of view pretty well for the case of applicative functors. The punchline is that what a Haskell hacker calls applicative functors are what a category theorist calls strong lax monoidal functors. Yes, both strong and lax! Terribly, from a terminological point of view, "lax" means that the functor is weaker than "weak", and "strong" isn't the opposite of "weak" (if anything, "strict" is --- but since "lax" exists as a concept, it's hard to say that "strict" is the opposite of "weak", just that it's, ahem, a stronger condition than "weak") and means that the functor has a "strength".

Ok, everybody sufficiently confused now? Good.

The important thing about these strong but sensitive applicative functors is that they represent a notion of effect that is compatible with product types in one direction, and this very compatibility is a notion of sequencing of effects. Suppose T is an applicative functor. If I have a piece of data of type TA, which is a computation returning type A, and a piece of data of type TB, a computation returning B, then I can make T(A × B) by running the first one and then the second. I can't expect to necessarily do the reverse --- I might reasonably encounter a computation T(A × B) that doesn't naturally decompose into TA and TB. This one-way ticket is the laxness. For a weak monoidal functor would commute up to isomorphism with products, and you'd have T(A × B) isomorphic (with suitable coherence diagrams) to TA × TB, but a lax monoidal functor only goes one way. It needs to be a strong lax monoidal functor for the same reason that the monads in functional programming are always strong monads, to be compatible with our expectations about variable contexts.

But wait, I hear you saying, weren't we told that monads were the ultimate story on a pure functional treatment of effects and sequencing and stuff? Answer: they're one story, yes. The intuitive distinction between monads and applicatives (which the paper above explains rather nicely) is that monads, unlike applicatives, let you use the result of one computation to influence which other computation takes place as the second step. Just look at the Kleisli star's type, it's right there:

TA → (A → TB) → TB

The second argument gets the value of type A before it spits out the final computation. If T were just an applicative functor, the most we could make out of TA and (A → TB) would be TTB. When T is a monad, we have exactly the categorical μ to turn that into TB (this is of course exactly how the Kleisli star is implemented from the categorical data T, η, μ) but when T is merely applicative, TTB is considered a more complicated thingy than TB --- it has two stages of computational dependency, which we're not allowed to erase.
Link1 comment|Leave a comment

(no subject) [Nov. 8th, 2009|10:35 am]
[Tags|, ]

I woke up this morning with the word "huitlacoche" in my head and I had no idea why. I looked it up on wikipedia and it turns out it's a weird-ass black, swollen, infected version of corn that some people consider a delicacy.

I was like why do I even know this word.

Then I remembered! I had seen it years ago on Steve don't eat it!, which is great food writing and you should read it all if you haven't already. The your-mom jokes in the Huitlacoche episode are kinda dumb but I like a lot of the other ones and anyhow I take pleasure in reading about another dude eating really gross things so I don't have to.
Link12 comments|Leave a comment

(no subject) [Nov. 7th, 2009|01:16 pm]
[Tags|]

An observation on researching problems you are not an expert at, or, "Why I am not a kook".

This happens to me occasionally that I get interested in a cute little problem, (e.g. graph reconstruction) think about it for a while, come up with some partial results, and then poke at the literature and quickly go ohhhhh shittttt people have really studied this, and a single section of their papers has way more insight than I could expect to generate if I slogged away at the problem for a month.

Which is okay, since I'm not going to slog away at it for a month, but rather go back to working on problems I can make headway on. But it's still fun to play with such things, and a good sort of exercise to wrestle with new problem domains.

I think all it takes to go off the deep end into kooksville is to forget this last step of being at least a token amount of welcoming to other people's ideas.

Anyway, case in point (of other people doing awesome work, not of people being kooks) is David Rivshin's master's thesis which has some algorithmic cleverness that let him computationally determine a whole ton of statistics on graphs that are sort of "trying to be counterexamples" to the reconstruction conjecture. In particular on page 19 there are a few pairs of graphs that have 7 "cards" in their "deck" (i.e. vertex deletions) in common! I managed using some dumb perl scripts to find a pair of 8-vertex graphs with 6 in common, and determined that there were no 9-vertex graph pairs with 7 in common but after that bumped up against the fact that there are like 12 million 10-veretx graphs, and finding pairs of things in a 12 million member set that satisfy some property sounds very 72 trillionish, and that's no good for anybody.

Also, Bowler, Brown, Fenner's "Families of Pairs of Graphs with a Large Number of Common Cards" [sorry, I can't find a copy not behind a !@#$ paywall] has a nice construction on page 16 that yields as many overlaps as you want; if you want n nonisomorphic co-occurring vertex deletions, you need a pair of graphs of (asymptotically) 5n vertices. (note the paper says effectively 5n/2, because it's thinking about multisets of vertex deletions, whereas I'm thinking about sets, and the deletions come in isomorphic pairs) You basically take a line graph with a pair of dangling degree-1 vertices hanging off it every three vertices:
   o        o        o
   |        |        |
o--o--o--o--o--o--o--o
   |        |        |
   o        o        o

and the other graph is a ring graph with, again, a pair of danglies every third vertex of the ring except exactly one of the danglies (just one, globally) is missing. This is harder to ASCII-ize, but imagine:
       o                 o
       |                 |
...-o--o--o--o--o--o--o--o-...
       |        |        |
       o        o        o

where those outer two half-edges are supposed to wrap around and connect. The way this generates lots of different common vertex deletions is this: imagine cutting the ring graph on one of the ring vertices without bits dangling off of it. This creates a line graph with one danglie-thing missing somewhere, but all of the somewheres are non-isomorphic to one another, and the original line graph can be made isomorphic to this one by chopping off exactly one dangling vertex.

There's something I really like about both of these works that seems ubiquitous and useful in dealing with really hard conjectures about the existence of mathematical objects --- that is, looking for a quantitative sliding scale at the one end of which the conjectural thing might or might not exist. The win is that (at least in this case) you can write programs to hunt around for the almost-counterexamples, the close calls, the weird outliers, and hopefully learn something from them. Looks as if graph reconstruction is still quite tough after all this data has come pouring in, but it's neat to think about.
Link6 comments|Leave a comment

(no subject) [Nov. 6th, 2009|11:23 am]
[Tags|]

Stupid fun with graph visualization from last night. I am not sure which browsers it will work on, since it does funny embedded SVG stuff. Works for me on the latest firefox.
Link14 comments|Leave a comment

(no subject) [Nov. 5th, 2009|05:41 pm]
[Tags|, ]

I do so love Lipton's blog. The linked entry mentions the graph reconstruction conjecture which is a beautiful little open problem in graph theory. In one sentence, it is:

A graph (on at least 3 vertices) is uniquely determined by the multiset of all possible vertex deletions of it.

Determined up to isomorphism, that is. A vertex deletion of a graph is the graph you get out of deleting some vertex and all the edges incident to it. You have to say at least 3 vertices because it's just not true for 2! There are only two graphs on 2 vertices, * * and *→*, which both have {*,*} as their multiset of vertex deletions.

There's a related (stronger) conjecture,

A graph (on at least 4 vertices) is uniquely determined by the set of all possible vertex deletions of it

And there you can see the 4 is necessary, because the multiset of vertex deletions of
* *→* is {* *, * *, *-*}, and that of *-*-* is {* *, *-*, *-*}, and these collapse to the same set if we ignore multiplicities, {* *, *-*}.

Here's a question I thought of:
Given n, what is the smallest pair of graphs G and H such that ||D(G) ∩ D(H)|| ≥ n, where D(G) is the set of vertex deletions of G?

I can't even think of graphs such that ||D(G) ∩ D(H)|| ≥ 3! I sort of expect they must exist, though. The thought of there being a constant upper bound on ||D(G) ∩ D(H)|| for all G and H seems absurd. I bet this could be refuted by playing with the output of Nauty, which contains tools for generating all nonisomorphic graphs over n vertices, and testing graph isomorphism.

---

Ah, thought of a pair over four vertices just by pencil-and-paper brute force.
   o--o
   |
o--o--o

   o--o
   |  |
o--o--o

both possess vertex deletions
o--o   o--o
|      |
o--o   o

   o
   |
o--o--o

and then each has one more that distinguishes them.

---

Another example that is smaller with respect to jointly how many distinct vertex deletions exist of of G (3) and H (4):

G           H
  o---o       o---o
 / \ / \     / \ / \
o---o---o   o---o   o


Maybe the right question to ask is how small you can get the distinct sets of vertex deletions of the pair
such that their intersection is at least n big. In this case (||D(G)||,||D(H)||) = (n,n+1) for ||D(G)∩D(H)||=n is as close as you can get without violating the second conjecture above (which violation would require (n,n)), and this does in fact obtain for n=1,2,3.
LinkLeave a comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]