Since Friday, Lillis and Steve and I have been moving into our new house. Things are going nicely so far, and I really like the place. No broadband yet, but we should have cable Internet on Tuesday.
By the way, I’ve given up on referring to people by their nicknames. From now on, it’s first names all around.
Saturday evening, Lillis treated us to a fancy dinner at the Hall Street Grill, just for being her friends. What a classy thing to do. Needless to say, the food was delicious, and of course the company was second to none. By some strange fluke, the six of us ended up sitting in a boy-girl-boy-girl pattern, which, given the perfect size of the table, facilitated some conversation patterns that I’d never seen before.
Generally, in any group with three guys and three girls, conversation will have a tendency to split along the gender line. In the past, this has always resulted in either a pattern of cris-crossed conversation (like an X) or two clumps of conversation, one at each end of the table. This time, however, there were triangles, and at one point even a parallelogram.
It got me thinking about whether it would be possible to model such a conversation in software. Each software conversant would have a list of “topics” they were interested in, with some of the topics overlapping with those of other conversants. Topics near the top of the list would be more interesting to the conversant than topics near the bottom, with topics not on their list being not very interesting at all. The conversation would begin with a random topic choice by one conversant. Other conversants would join in based on their interest level and proximity to the originator.
As the conversation progresses, conversants who are mildly interested in the topic being discussed, but are more interested in another topic, might try to change the subject of the conversation. In turn, this might alienate one or more conversants, who would either listen idly or begin a new conversation of their own, giving birth to new conversation patterns that would grow, falter, and eventually die or transform into different patterns.
The model could even be scalable past just six conversants. You could have an entire banquet hall of conversants; conversations would be more likely to occur between conversants within a close proximity. Theoretically, a conversant at the head of the table could still speak to a conversant at the foot of the table, but the likelihood of this occurring would be very small, given the inconvenience involved. However, conversations could travel from one end of the table to the other, like a wave.
You could even toss in some genetic algorithms and have conversants become happier, and thus more talkative, when more people are listening to them, and sadder, and thus quieter, when nobody seems to be paying attention. Interests could fluctuate throughout the course of the conversations…perhaps a conversant wasn’t interested in a certain topic at first, but after listening to a conversation about that topic, the conversant develops more of an interest. Or, after talking about one thing for a long time, the conversant loses interest and wants to talk about something else.
I mentioned some of this at dinner, and it didn’t get much discussion aside from a general nod that it would be interesting but useless. Later, though, I hit upon the idea that, maybe, by programming in the interests of actual people and setting other values such as how talkative they are, you could even model real-life conversations. As a result, by running a conversation model, you could theoretically estimate how long a conversation would last. If the model tells you that the typical “walking out the door” conversation among a certain group of people lasts 17 minutes, you would know that you should start walking out the door about 20 minutes before you actually need to leave.
But then, maybe I’m taking this too far.