a3nm's blog

Looking for a problem...

— updated

I'm trying to find out if the following problem is already well-known in computer science...

Consider 2×N politicians and N TV channels. We would like to compute a schedule for N time slots such that:
  • During each time slot, each TV channel broadcasts a live debate featuring exactly two politicians. This means that for each time slot, each politician appears on exactly one channel.
  • At the end of the N slots, each politician has appeared on all channels. This means that for each politician, each channel is scheduled to exactly one time slot.
  • No couple of politicians debated more than once. In other words, over all the debates which took place, each featured a different couple of politicians. [Notice that, since there are 2×N choose 2 couples of politicians and only N×N debates (one debate on each of the N channels for every of the N time slots), some couples of politicians will never debate.]

This problem is quite simple and has occurred at least once in practice (thanks Yannick!), so I'm wondering if it has already been studied. Maybe it is well-known, but under some weird name ("Martian elimination problem"? "Yannick's mother's problem"?), or maybe it is just a special case of some well-known generic problem. (I tried to find a simple graph-theoretic formulation, for instance, but failed.)

Actually, it seems that this is very similar to Kirkman's schoolgirl problem and the Social Golfer problem: to be more precise, I think that my problem is the social golfer problem for g = N, s = 2 and w = N.

In the meantime, since I wanted to find out if some solutions exist (and, if yes, what do they look like), I wrote a crappy C program to find solutions using backtracking. It turns out that this simple strategy finds solutions for N < 11 (apart from the special case with N = 2). For larger values of N, no solutions are found in a reasonable amount of time (though one would expect solutions to exist).

Here is one possible solution for N = 8. Each line is a time slot, each column is a politician, and the values in the cells are the channel on which each politician appears at each time slot. There may be a simple pattern, but I can't see it.

 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7
 1 2 0 2 0 1 4 5 3 5 6 7 3 7 4 6
 2 1 2 0 1 0 5 4 5 7 3 6 7 3 6 4
 3 4 4 5 5 6 0 1 7 6 7 0 1 2 3 2
 4 3 5 6 7 3 1 7 6 0 0 2 2 4 5 1
 5 6 7 3 4 7 2 6 0 1 2 3 4 1 0 5
 6 7 3 4 6 5 7 0 1 2 4 1 5 0 2 3
 7 5 6 7 3 4 6 2 2 3 1 4 0 5 1 0

It would be quite funny to generate incomplete solutions to the problem (that is, grids with some cells left empty, for which we know that they can be legally completed in only one way). You would probably get something akin to sudoku...

A similar problem is discussed here (in French); search for "Quelqu'un qui assistait à cette réunion".

Learning one's life by heart

— updated

I sometimes wonder what it would be like to learn your own life by heart. Let me explain what I mean with this weird expression. I've been keeping a diary for some time (since January) in which I just write a quick summary of what I did every day. In practice, I use this diary as a way to be able to find back, a few years from now, what I did on a specific day (it might prove useful in a somewhat bizarre set of circumstances), or as a way to re-read what took place quite some time ago (whenever I feel nostalgic, or just curious). But in fact, my deeper motive in writing this diary is as follows (it's quite simple, in fact): I find it really sad when I realize that I haven't the faintest idea of what took place in my day-to-day life a few years ago and that I have no way at all to find out. Of course, it's impossible to write down everything that took place, but just having something to start with (which often conjures more memories) is already a lot.

If you start to think about this kind of diary using computer science terminology, you could see such a diary as a way to sort memories using time as an index. Indeed, if you start searching for memories in your brain, you realize that you can easily find them thematically, but that it's nigh impossible to find them chronologically (except for the very recent past). My diary could serve as a way to circumvent this problem. (An external way, which I keep on my computer rather than in my brain.)

Which leads to my question: what would it be like to learn such a diary by heart, as it is written, and to be able to recite it like a poem? I'm not thinking about learning the exact wording of entries (although it could be a way to start things off), but to learn the succession of events, and to be able to remember one day after another, in order, over a long period (ideally, the whole of one's life).

The thing I find seducing with this idea is that it is deliciously meta. How natural and canonical to learn your own existence by heart! And how weird to remember not only real events, but also the act of memorizing real events, and the act of memorizing the act of memorizing, and so on...

If you follow this objective to its logical conclusion, you would spend most of your time thinking and trying to remember the sequence of your thoughts, and trying to remember that as well...

Even in a less perfect way, having some period of your life which you learnt by heart and can remember chronologically much later would be quite cool. I don't think I'll ever take the time to do it, but I wonder if someone already did something like that...

Related: hyperthymesia, the condition of having unusually good autobiographical memory.

Leaving computers on

Just a quick rant about the fact that many users (including people who should know better) seem to have some sort of belief that computers (especially laptops) are not meant to stay powered on for extended periods of time, and that doing so isn't normal use and is likely to damage the hardware.

Needless to say, I don't agree at all with this view. In my opinion, non-faulty hardware should be able to withstand maximal load for arbitrarily long periods of time. To say things differently, if a computer fails under such circumstances, it isn't normal: it means that the computer isn't working properly.

Security of radio-controlled watches

It strikes me as odd that most people seem to consider the radio adjustment of watches as a neat and useful feature, and that no one seems to think about the security implications. What I mean is this: radio adjustment gives to an (untrusted) third party the power to adjust your watch at will. This third party could be malicious, but it may simply be incompetent: if the adjustment service broadcasts the wrong time, your watch will start displaying garbage. Worse: since this adjustment system cannot usually be deactivated, your watch will keep reverting to the wrong time until the broken adjustment system dies off for good.

I don't know of any real-world situation in which watches became useless because of something of this kind, but I don't find it that unlikely. In the meantime, I'll rather stick to watches I can control and adjust by myself and avoid unneeded interference from outside services...

Weird legalese

I started a blog a while ago to report weird things I found in TOSs, EULAs and the like. I don't post on it that often, because most of these documents are just plain boring with nothing amusing in them whatsoever. It's nanoblogger, because fugitive didn't exist yet and because I just wanted to test it.

I never advertised its address anywhere, and I don't know where to do so, so here goes: Weird legalese.