Author Archives: Rachel Lee

Programming by Optimization

In today’s increasingly computer-oriented world, the development of software must also keep up with achieving certain tasks to meet demands. During the creation of such software, however, developers often explore different methods or paths in order to achieve a desired task. A problem that often arises though is that during the development of this “desired task”, alternate solutions that are thought to be nearly impossible to use gets thrown away, when in reality these methods might have worked later on.

Fortunately, Dr. Holger Hoos along with his research team at the University of British Columbia are working on introducing a type of design called Programming by Optimization (PbO) that directly prevents this premature toss of solutions. This has been proved to be incredibly beneficial to the development of software and leads to huge increases in software efficiency.

This is excellent news for the computer world as one of the biggest goals of large companies is increasing processing speeds and reducing running costs by, for example, using better organizational and scheduling procedures. This is where PbO shines!

PbO allows users to locate mistakes that weren’t noticed at first – this is the debugging process. PbO debugs all problems of each step in creating software separately by using interchangeable codes and provides a more efficient way of finding the correct problem. Dr. Hoos and his research team have already found a bug in a widely used commercial software using PbO and the company expressed their gratitude for it.

Although PbO is still in the research process, it has gathered a lot of attention from major companies around the world. Among others, Google showed great interest in PbO and the research team is currently working with IBM as well.

YouTube Preview Image
A component of PbO that makes it so amazing and attractive to companies is its flexibility and adaptability to software and data centers. The video above mentioned university exam timetabling as an example. Since exam periods involve many students and courses, it is very difficult to put together exam times that fit every student’s schedule. This is complicated further with the limited number of rooms available during an exam period that only lasts a couple weeks.

Now, if we were to compare the Spring semester to say, the Summer semester, you can imagine that each semester will have entirely new courses. With PbO, the scheduling of these diverse timetables comes at ease. This also works across universities, so optimization can generalize the different situations so that it can be applied to scheduling at UBC Vancouver as well as UBC Okanagan.

Data center. Image by The Ark.

The following podcast is a short talk by Dr. Hoos explaining how PbO can help data centers run better:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

As more and more software get developed, programmers need a general plan to guide them through the designing process, so we can all continue to benefit from the efficiency and creativity that optimized software bring to us everyday.

References & further reading:

Hoos, H. 2012. Programming by Optimization. Magazine Communications of the ACM, 55(2). http://cacm.acm.org/magazines/2012/2/145402-programming-by-optimization/fulltext

Cutting out the middleman

Fungal infection of the bone marrow. Image by euthman.

Nowadays, clinical transplantation is known to save many lives, but not without a catch. Patients have to go through immunosuppressive therapy if the MHC molecules on the graft, or transplanted tissue, do not match their own.

Our bodies are very picky and sensitive. For instance, we are okay with accepting skin grafts from ourselves – this is a type of autograft. However, if we were to be given a skin graft from someone unrelated, this arrangement is not long-lived. We let this allograft stick around for a bit, but ultimately kick it out after 10-13 days. We’ll remember it, too. Like a woman scorned, if this same offensive graft comes again, we boot it out even faster. The T cells living in our bodies as defenders do not take kindly to foreign tissue. Immune responses are mounted as a result, causing transplant rejection. Learn more about the immune response here:

YouTube Preview Image
For clinical transplantation to be successful, people have relied on immunosuppressive drugs to inhibit the defensive mechanisms our cells carry out when we encounter foreign molecules. This is problematic because now people are more susceptible to cancer and infections. The issue with transplant rejection is that donor and recipient cells don’t like each other. What do we do when two people don’t get along? We force them to.

Scientists have recently tested a method for transplant recipients to accept mismatched donor organs. In this ongoing trial, patients are exposed to chemotherapy and radiation and injected with enriched donor stem cells, hoping to achieve what is called “chimeric tolerance”. The idea is to make two immune systems work in one body by destroying the host’s first.

This new approach is pretty questionable. Small sample size aside, it is not known whether the enriched cells really made an impact as the study is missing a control group (where patients would presumably undergo treatment without these cells). Furthermore, these cells were not described very clearly. Suppressing the immune system with chemotherapy and radiation is also unnecessarily harmful and risky. Will it be worth it in the end?

The lengths we will go to in order to cure disease (Image from xkcd.com - click to enlarge).

References:

1. Murphy, Kenneth P. Janeway’s Immunology (8th ed), p652-664.
2. Steenhuysen, Julie. Immune system tricked to accept donor organs: study. NewsDaily. Accessed March 14, 2012.
3. Garland Science. The Immune Response. Youtube video, accessed March 14, 2012.