Author Archives: Gene Freuder

Unknown's avatar

About Gene Freuder

Emeritus Professor of Computer Science. AAAS, AAAI, ECAI Fellow. Member of the Royal Irish Academy.

The Power of Social Media

I noticed this week that views of my post on Comparing CP and MIP had gone up 4,940.00%! Of course, that is a bit of a joke, because the prior view count was so tiny. Nevertheless, I was curious as to what caused this sudden attention to an older post. There were also two Comments, which in addition to being helpful additions to the post, provided a clue as to its sudden popularity. One Comment was from Philippe Laborie and the other from Eray Cakici. A little googling revealed that a link to my post had appeared in their Twitter accounts. Philippe tweeted and Eray retweeted.

So let me return the favor by pointing you at the SlideShare presentations of Philippe and Eray. And “keep those cards and letters coming” everyone. An old expression, perhaps I should say nowadays “keep those comments and tweets coming”. 🙂

What’s in a Name

Back in 2004 the Boston Globe newspaper ran a story about “the most influential academic discipline you’ve never heard of”. What was the discipline? Operations research.

Operation everything

It stocks your grocery store, schedules your favorite team’s games, and helps plan your vacation. A primer on the most influential academic discipline you’ve never heard of.

This is rather ironic for those of us in Constraint Programming, since CP deals with many of the same applications as Operations Research, and is, if anything, less well known.

Part of the problem unquestionably lies in the name. “Operations Research”, what is that? The study of hospitals? And the alternative, “Mathematical Programming”, is even worse. Is it mathematics? Is it coding? The only worse name for a field? “Constraint Programming”.

I once had a fellow from a company that I was trying to interest in working with my lab tell me he liked the idea, but ask me if there was some other name for what I did, because “constraints” had such a negative connotation, it turned other people in his company off. Of course, we do have some very positive terms associated with the field: “satisfaction”, “relaxation”, “optimization”. But if I said “I use relaxation for optimal satisfaction”, people might think I was some kind of new age guru.

Indeed even “optimization” is an imperfect standard bearer. I once had a fellow at a commercially-oriented conference tell me that “optimization” could turn his potential customers off. Astonished, I asked why, and he explained that they worried that it meant that the computer would make all the decisions and they would be cut out of the loop. Of course, it doesn’t have to mean that, but perhaps such fears help to explain the current popularity of terms like “human-centred” and “human-aware” as modifiers to “Artificial Intelligence”.

In any case, if we are to compete with such media-friendly terms as “artificial intelligence” and “deep learning” we need to work at getting the message out about what we can do. Actually Operations Research is currently doing a pretty good job of that for their field. See “O.R. & Analytics Impact Everything” at the INFORMS website, and the INFORMS Success Stories.

The ACP has its Success Stories as well, of course, and there are other resources, but we can always do more. I’ve started work on a new page, Sample Applications of Constraint Satisfaction, to make a small contribution towards “getting the word out”.

Refrigerators

I had so much fun with The Application Game that I decided to play again googling “constraint satisfaction problem” and “refrigerator”. I came up with “Service robot planning via solving constraint satisfaction problem“.

The problem of demographic shifts towards the elderly is deteriorating, as the relative number of caregivers is insufficient to provide the support required for their wellbeing, which is further aggravated by the increasingly hectic lifestyle. Service robot is getting more prominent as a possible solution. Robot manipulation and mobility is an important field, but they also require high level planning for these minute actions in order to provide ample support. Automatic service composition, contributed significantly by web services, offers the necessary technology for the task. Robot planning problem can be solved by representing it as constraint satisfaction problem (CSP) due to it being able to support loose binding of services and variables of wider domain. 

What does this have to do with refrigerators?

Given a certain goal, planner module will compose a sequence of plans for the robot to execute such that after the plans are completed, the goal is achieved. For example, given that the goal is to place a canned soft drink in the fridge and that all cabinet needs to be closed, the robot will first find where the soft drink is. If there is one that happens to be in the kitchen cabinet, the robot will approach it, open the cabinet and pick up the soft drink, and then close it. It will subsequently approach and open the fridge, after which it will place the canned drink before closing it. No prior programming is required for the plan.

Ok, tenuous, but this paper illustrates an interesting point.

The paper is published in the ROBOMECH Journal. Its authors are in a Graduate School of System Design, not a computer science department. The closest it comes to referencing the CP literature seems to be a 2008 paper by De Moura and BjØrner on Z3: An efficient SMT solver, in the International Conference on Tools and Algorithms for the Construction and Analysis of Systems and a 2014 paper by Georgievski and Aiello, “An Overview of Hierarchical Task Network Planning” in ArXiv.

In other words, your typical attendee at the CP conference or reader of the Constraints journal might well not have run across this paper. I believe there are many such papers. In a way, this is a positive sign, of the degree to which our “baby” has moved out into the world. Still, the more we are aware of applications of constraint satisfaction the better. The more that people applying constraint satisfaction are aware of the broader body of work in our field the better. The more that people in general are aware of the breadth of applications of constraint satisfaction the better. An application like this one to service robots could help interest students in the field or convince funding agencies of our “impact”. It could suggest new collaboration opportunities or suggest new directions for basic research.

The Application Game

Constraint programming has an amazing variety of applications. To illustrate this, I’ve come up with “The Application Game”. It is a very simple game: you type “constraint satisfaction problem” and some other random topic into Google search and see if you come up with an application of constraint satisfaction to that topic.

I first tried “bananas”. Unfortunately “bananas” returns too many references to the classic “monkey and bananas” problem. I assumed many of those did not actually apply constraint satisfaction to that problem, and even if they did, I was looking for a “real world” application.

Nevertheless the resulting hits provided some interesting diversions. I encountered this piece in Stanford’s “digital stacks” by Rodney Brooks (long before Roomba presumably) about Fikes’ REF-ARF. REF-ARF plays an interesting role in the history of constraint saatisfaction. It provides an example of constraint satisfaction in the very first issue of the Artificial Intelligence journal. In his piece on REF-ARF, Brooks says that the type of problem of which the monkey and bananas problem is an example “cannot be stated as a boolean constraint satisfaction problem because the length of the sequence of operators q is not specified”, in other words because the length of the plan required to solve it is not given, so REF-ARF’s heuristic search component must be used instead. Of course, later this “constraint” in applying constraint satisfaction to planning was overcome by simply using successively longer planning horizons. This is an example of the type of approach (see “iterative deepening“) that is easily dismissed as impractically wasteful, but can turn out to be worth investigating.

And then there was this: BANANAS: Automated design and autonomous control of hybrid solver cooperations.

However, I eventually gave up on “bananas” and tried googling for something more timely: “constraint satisfaction problem” and “COVID”. I quickly found Validating Optimal COVID-19 Vaccine Distribution Models.

I’m sure there are other COVID-related applications; I know of at least one. I didn’t conduct an exhaustive search, but I couldn’t resist looking at a just few more Google hits, and almost immediately turned up this: Constraint-Checking Editor for Procedure Tracking (ConCEPT). Now this is from 2013 and so, of course, has nothing to do with COVID. It is related instead to operational procedures for manned space operations! This is cool, though not totally unexpected: I myself once did some work with NASA. The principal investigator on the ConCEPT project was Mark Boddy, whom some of you may know: for example, Mark was co-chair of ICAPS 2007. Mark is co-owner and Chief Scientist at Adventium Labs. Here is a paper on ConCEPT from the Workshop on AI in Space at the 2015 International Joint Conferences on Artificial Intelligence. I find particularly interesting its relationship to maintenance, which I think is an understudied area. I did some work a while ago on Maintaining constraint-based applications with Tomas Nordlander and Rick Wallace.

So, isn’t The Application Game fun? 🙂 Try it yourself, and I encourage you to report your experiences in the Comments.

CP 2011

Helmut Simonis just sent me a new collection of his photos from the CP 2011 conference in Perugia. Great photos and great memories. As it happens Marius Silaghi and Christian Bessiere described CP 2011 in their article Crossroads in Constraint Programming for the IEEE Intelligent Informatics Bulletin. For those of you who were there, can you spot yourself in the photo below?

How sad that CP 2021 scheduled for beautiful Montpellier, will apparently take place online, due to COVID-19.

Marketing

I just wrote a post to the Constraints Google Group that managed shamelessly to plug both this blog and the constraints Resources website in one short post. Which reminded me that one of my “mentoring” topics, that I haven’t posted on here yet is “marketing”.

The head of a company that I was trying to interest in funding my lab once wrote to me: “You’re very unusual, you’re not only a good researcher, you’re a good marketer.” I took that as a compliment. In my youth, I suppose I might have taken it as an insult: “we ivory-tower academics are above such things as marketing our wares”. But in fact there is nothing wrong with marketing. You do great work; you don’t want the world to be deprived of it because you “hide your light under a bushel”. Of course, you don’t want to be a shameless self promoter either, but sitting in a corner expecting the world to come to you might be a form of hubris as well.

Ben Schneiderman is one of the founding fathers of the field of human-computer interaction, and also wise in the ways of human-human interaction in the scientific community. Here is an example of what I would call a “marketing tip” from his book The New ABCs of Research: Achieving Breakthrough Collaborations:

10.7 Send Five and Thrive
When completing a research paper, one approach to gaining attention from relevant researchers is to extract five key authors from the list of references.  Then, send them an email that has a fact-based introduction, such as “Dear Dr. Rockstar, I’m a doctoral student at the University of Maryland, working with Prof. Ben Shneiderman, who sends his regards.” Then, the heart of the message has two points: “(1) Your work was an inspiration for this paper, so I wanted to check with you to see if we have been fair in citing your papers, and (2) know if you have published any more recent work on this topic.”  While young researchers may be daunted by the idea of writing to senior researchers, such emails usually produce helpful responses quickly.  Even senior researchers are pleased to know that their work inspired new efforts, thereby validating their contributions. 

This “Send Five and Thrive” idea has additional benefits, such as compelling authors to consider whether they have cited the key previous papers and encouraging them to think about whether they have given fair and positive descriptions of previous work.  For example, shifting from a negative comment such as “previous work by Rockstar failed to. . .” to positive ones such as “the pioneering work by Rockstar can be extended by . . .” increases the likelihood of making a favorable impression.

The New ABCs of Research: Achieving Breakthrough Collaborations

So, of course, right after I post this, I’m going to send it to Ben and ask if I’ve been fair in citing him.

The Eye of a Robot

Looking for items to populate my new constraints resources site, I delved into the MIT CSAIL video archive for some footage I knew was there showcasing the early work of Dave Waltz on scene labeling, which used his seminal arc consistency algorithm. Check out this video; the scene labeling starts around the 7:15 mark.

If you’re wondering why it is “eye of a robot” and not “eyes”, our “robot” at the time was a Cyclops. There was one huge camera, and another, separate, enormous arm. The story goes that the arm came loose from its moorings one day and backed Gerry Sussman into a corner. The eye and hand together were used for the pioneering MIT Copy Demo project.  

I shared an office in the old MIT AI Lab for a while with Dave Waltz. He describes some of that time here. If you like reading about “history”, there is more historical material in Constraint Satisfaction: An Emerging Paradigm from the Handbook of Constraint Programming, in “The Complexity of Constraint Satisfaction Revisited“, in a series of articles on Papers with Impact, and in the “commentaries” contained in a  “virtual volume” celebrating the first 25 years of the CP conference.

Perhaps readers can share historical anecdotes in the comments.

Impact

I recently connected, via Linkedin, with the Director of Constraint Programming Research and DevelopmentI at Oracle. He told me that the Dynamic CSP features of Oracle’s Solver are based on concepts presented in some papers I wrote years ago with a student, Dan Sabin. I promptly passed that info on to Dan.

I believe this sort of “knowledge transfer” or “impact” often “flys under the radar”. Aside from patent or paper citations there is no formal mechanism for acknowledging such influence. I would encourage folks in industry to take a moment now and then to send a note to academics, or speak with them at a conference, and let them know that their work has been helpful. This is gratifying and useful for academics, and, who knows, might encourage further productive interaction.