Computer Science – LONGITUDE.site https://longitude.site curiosity-driven conversations Sat, 21 Sep 2024 12:45:16 +0000 en-US hourly 1 https://longitude.site/wp-content/uploads/2018/08/cropped-Logo-O-picture-32x32.png Computer Science – LONGITUDE.site https://longitude.site 32 32 The Elegance of Formulation https://longitude.site/the-elegance-of-formulation/ https://longitude.site/the-elegance-of-formulation/#respond Tue, 29 Oct 2024 00:31:03 +0000 https://longitude.site/?p=9141

 

 

Longitude Sound Bytes
Ep 140: The Elegance of Formulation | Luay Nakhleh (Listen

 

 

 

Helen Citino
Welcome to Longitude Sound Bytes, where we bring innovative insights from around the world directly to you.

Hi, I am Helen Citino, a student from Rice University and I will be your host today.

In our new series, we are presenting highlights from short conversations with professionals about what constitutes as beautiful in their line of work. The examples and experiences they share are not only inspiring, but also informative about the interesting projects they work on. So, join us in exploring reflections on beauty spanning from science and engineering to other fields.

In this episode, our guest is Luay Nakhleh, Dean of Engineering at Rice University.

Dr. Nakhleh earned his PhD in Computer Science from University of Texas in 2004 and has been a professor at Rice University ever since.  He served as the Department Chair for the department of computer science from 2017 to 2020 and then became the Dean for the School of Engineering in 2021. In addition to his duties as the Dean of Engineering, Dr. Nakhleh continues his research that focuses on computational applications in evolutionary biology and linguistics.

We start our episode, with Dr. Nakhleh defining what constitutes as beautiful for him in his field.

Luay Nakhleh
I’m a computer scientist and computer scientists are problem solvers. I would say most engineers are problem solvers. So, we take usually a problem from the real world, and we want to devise a solution for it.

When you think about computer science and computational solutions to problems, there are at least two steps that one has to take. One is what we call the problem formulation, is that what is the question we are trying to solve? That question needs to be formulated mathematically. Like I am a computational biologist, I could work let’s say on a cancer with a cancer biologist, the cancer biologist is going to come to me and say we want to answer the following question. Right. So, we have data from cancer patients, we want to find mutations that can cause X, Y, and Z. That’s not the mathematical definition of the problem. That is, you know, biology speak. In some sense, you know that the biologist is using biological terminology to describe the problem. Our first job is to take what the biologist is talking about and formulate the problem. That’s an extremely important step, because if we formulate the wrong problem, it doesn’t matter what solution we come up with, it’s a solution to the wrong problem. So, the first step is formulating the problem, mathematically.

The second thing, once the problem is formulated, we have to come up with the algorithm that solves it. And I have used beautiful in both phases. And what beautiful to me means is that it’s an elegant formulation and an elegant solution.

When you speak to a biologist for days and weeks, literally, I mean, the conversation takes a long time for us to understand what the problem is in many cases. Then after all of that, you formulate the problem in 2 -3 lines using mathematical symbols and mathematical concepts. To me, that’s beautiful. You look at it and say, this is an elegant formulation of the problem. It’s not messy. It is not complicated. Anyone, even if they don’t understand biology but understand mathematics, they will be able to understand the problem. So, for us, and when it comes to the problem formulation, when I myself said this is a beautiful formulation, I meant it’s elegant. Because at the end of the day, I feel one of the biggest contributions of a computer scientist is, or one of our biggest skills is abstraction, the notion of abstraction. You can take a complex problem and abstract it using mathematics. And that’s where beauty can come into the picture. Something that, a problem that’s formulated over three pages, it’s very rare to see someone saying, oh, this is a beautiful formulation. But if you can take a complex problem and distill it using mathematics in two lines and saying the input to the problem is this and the output is that and it’s just two three lines, that’s beautiful.

When it comes to the algorithm, it’s a similar thing. Algorithms can be very complex. Can be very compact. And when we talk about a beautiful algorithm, we are talking about an elegant algorithm. An algorithm that is very concise, very precise, solves a problem correctly, but not overly complex. And it is not a long list of cases that we are dealing with it. It is really much more compact and efficient.

Helen
We hear the word algorithm used in many contexts these days, here is how he defines it.

Luay
So, algorithm is basically a solution that a computer can implement and run. You know, just example; you have your phone and you want to meet with someone at a restaurant, you go to your Google Maps and say, Okay, where is the restaurant and give me the path to that restaurant, right? So how does that Maps application gives you that? That’s an algorithm, that algorithm took as input what we say as input, your information about the restaurant that you want to get to, and your current location. You are at Rice University, and you want to go to a restaurant X. You tell that to Maps, right? So, the Maps application knows that. What it gives you back in return is the path. You know, it will tell you take this route to that restaurant. That’s an algorithm. The algorithm will say, okay, I know the current location, I know the restaurant location, I need to give you back the route there. An algorithm is the solution to that problem. Right? Sometimes some people even in textbooks that will give you even simpler examples, when you follow a recipe for making cake or bread. That’s an algorithm as well, right? I mean, you get these are the ingredients, this is what you do with them. And this is when you put it in the oven. And this is that’s an algorithm in some sense.

Helen
We wondered if what constitutes as beautiful evolves over time with the different roles individuals take on.

Luay
The one change that happened is when I became dean of engineering, it is not that my sense of my notion of beauty and so on has changed, but when I became dean of engineering, that was the first time I was really exposed at that level to disciplines beyond computer science. Because as a PhD student, I was in computer science. As an undergraduate, I was in computer science, and I became faculty of computer science, and I was chair of computer science. So, my world was computer science. I am an interdisciplinary researcher. So, I worked with biologists and historical linguists, so I had some exposure there. But then when I became Dean, it became very, very different. Because as dean of engineering, I work with the Department of Mechanical Engineering and Chemical Engineering and Bioengineering, right? I have faculty members in the school who work on energy transition, clean energy. They work on, you know, additive manufacturing. They work on cancer. They work on gene editing. So, there it is, again, not that the notion of beauty has changed but now I am seeing different areas of research different areas of work, and how people appreciate the beauty in them. This is why I’m saying that I don’t think the notion of beauty has changed. But I see for them for each one of them in their own discipline, what is elegance for them, right? Sometimes designing that special material that has certain properties. To them that’s beautiful, right? Or if you’re working in gene editing, which is going there and modifying the genetic code of an organism. The beauty is, for example, is to do it effectively and without having side effects, for example, right. So, this is what I got exposed to more areas beyond computer science and computational work.

Helen
We often hear how valuable it is to be finding one’s passion early on to ensure success in a field. Dr. Nakhleh started his graduate work in computer science in an area defined as “formal verification systems.” This had piqued his interest while he was still an undergraduate. However, halfway through his PhD studies, he lost interest in it and switched his focus to computational biology. He describes how finding your passion is important but there is another element that is essential too.

Luay
It’s two things that I always tell the PhD students about. One is the passion. If the passion is gone for that field, you know, no matter how hard one works, it’s just not gonna work like that, because one should be passionate about something they are doing research and PhD. The second thing, which is, to me, the most important thing in a PhD program is the relationship or the chemistry or the alignment between the student and their advisor. If the student and advisor are not on the same page or not on the same wavelength, are not aligned, things are not going to work. Even if the student is passionate, even if the student is hard working. If the student wants to do something, and the advisor is in a completely different direction. And these two things were the key issues there. The passion was gone for me and the second one was the alignment with advisor was gone. He wanted to go in one direction what he wanted to focus on research and that didn’t align with what I was interested in.

And I started looking for a different advisor, different area. There were some very general broad thoughts in my mind about what area I would move into. So, I did not think about computational biology, which is my research area. What I thought about was, what I would refer to it as, practical algorithms. So not algorithms for the sake of algorithms or for the sake of theory, but algorithms that are applied. And that’s when I started talking to this faculty member at UT Austin. And she was working on applied algorithms in one area of biology. And I got intrigued by it, I started working with her and the rest is history, that’s where it all started.

When I made the switch, actually the first the alignment was there, then the passion followed. So, the alignment as in my advisor was working on applied algorithms, I was interested in applied algorithms we weren’t there. My passion for biology didn’t exist at the time. Actually, I hated biology growing up. You know, doing biology in high school, it was not my favorite thing, because I always viewed it as memorization. You know, memorize this, memorize that. I didn’t like topics of that required memorization. And I’m still not good with memorization of these kinds of technical concepts. Remember, this is what happens in the cell and this is, what the mitochondria is and so on. That’s not my favorite part. But as I started getting in the field from a research perspective, I started seeing the logic in biology. And that logic really came because I was working on evolutionary biology. So, I started understanding how you can explain biology through the theory of evolution. And that’s when it clicked. And that’s when I became passionate about it when I saw the logic to the thing. When it is memorizing things, I’m usually not passionate about these topics. When I see the logic to something, that’s where I could become passionate about it. And that’s what happened.

Helen
His research projects also expanded to historical linguistics. He was intrigued by the phenomenon in linguistics where some words and grammatical structures have been borrowed between languages as people migrated around the world. For example, if you look at English and French, the word “bon appetite” in English is borrowed from French. In order to understand the changes happening in languages he defined them as computational problems.

Luay
You think about evolution and how these languages diversify…traditionally, people would look at it in terms of a tree structure. Tree structure means there was an ancestral language that split into two.  These two started diversifying and changing because the populations that speak them split and separated. And this historically to a certain extent these are what happened. As people, humans were migrating, they started diffusing different languages or changing the language and then we started considering them different languages. So, if you think about modeling this mathematically, this is what we call a tree structure You know one thing divides into two another these two divide into four and so on.

So, when you have this borrowing between languages, that’s what we say that violates that tree structure. So, you start having these horizontal things happening between languages that have diverged from each other, but every now and then they share some concepts because of, again, the migration of individuals and some individuals coming from one population to another speaking the language and so on. So, my research focuses on this. How do we reconstruct this, because all of this happened in the past. We are talking about 1000s of years ago, when these languages started splitting and diverging from the ancestral language. Now, we don’t have necessarily a record of the past. So, you try to reconstruct it from data that we have today. And that’s where it becomes a computational problem. So, my research is about how do we reconstruct the past while accounting for the fact that every now and then there was borrowing and then people came together and exchanged. The same thing I do in biology.

I try to work on problems where we want to reconstruct the past from genomic data. So, you can give me the genomic data of all let’s say, all the trees, all the plants at Rice, on the Rice campus. There are different species of plants on the Rice campus. Now we want to, you know, build their evolutionary history going back to the past. So, there’s a computational problem. But plants also, they don’t just diverge from each other, they hybridize every now and then. So, hybridization in plants, for example, is analogous to borrowing between languages in the linguistic world. If you think about bacteria, bacteria do the same thing. They exchange genetic materials. Right? So, these are the problems I work on is that how do we build the past? How do we reconstruct the past, from the data that we have today, while accounting for these complexities that we know happen? Bacteria exchange genetic materials, plants hybridize, languages borrow words from each other, and so on. That’s most of the work I do.

Helen
Listen to what he has to say when asked if there is an aspect of his field that is not visible to most people but which he wishes others knew more about.

Luay
That’s an interesting question. I mean, look, on the technical side, I was telling you about the problem formulation. When people read the research paper, they don’t see any of that. They don’t see any of that. The research paper starts with the problem cleanly formulated, and we present the solution, but they don’t know that it could have taken months of these conversations and back and forth with the biologist, whoever, to formulate the problem. And to me actually, that’s a bit sad, because that’s a lot of the beautiful work happens there is that how do you take this mess, that is biology and biology is really messy. How do you take all that mess and turn it into this problem that is not described in details or anything like that in the paper. That’s all hidden as we start. We’re saying, here’s the problem. We give a few paragraphs about motivating it from a biology perspective, but the paper doesn’t do justice at all to that process of formulating the problem. That is completely hidden from the public, in some sense.

I was teaching a course that I created about 11 – 12 years ago, it’s called Algorithmic Thinking. And I described algorithmic thinking to students as a five-step process. And one of the first steps is formulating the problem. So, I was always influenced by my own research and how I work. I wanted computer science students to understand that typically you don’t have the problem formulated for you and given to you on a gold plate. You have to work on formulating it. Especially in areas like biology or physics or social sciences. If I were to work with a social scientist, social scientist is not necessarily going to come to me and say, here’s your problem defined cleanly mathematically, no, social scientist is going to be using their own terminology. And some fields of social sciences, it’s not very mathematically precise. It’s our job to turn it into mathematically precise problem. That’s, to me one of the most beautiful parts of computer science. Actually, for me, once I formulate the problem, it’s a big, big part of the, of the work has been done. And it is the most important step because as I said is that if you formulate the problem incorrectly, then you are almost wasting your time after that, because you’re solving a problem that’s not what the social scientist wants, or what the biologist wants.

Helen
As Dr. Nakhleh circles the conversation back to beauty, we asked for his thoughts on the role of creativity in science. As scientific and artistic endeavors seem to be usually looked at as two separate things, we wondered if he saw it that way.

Luay
No, not necessarily at all. I mean, especially when we talk about problem formulation, that’s all an art. There is no formula that you follow. There is no cookbook that you follow and say, just do steps 1, 2, 3, and your problem is going to be defined for you. That is not the case. So, you have to be very creative. And creativity here really means, you know, connecting the dots and using the different types of knowledge that you have acquired over time. And this is why experienced people do a better job in general when formulating a problem, because someone who’s been in the field for 30 years, has a much bigger toolbox that they can pull from to formulate that problem. Because if I’m trying to formulate a problem, sometimes it might require that I use tools from probability theory, probability and statistics, sometimes it requires that I use tools from some other field. So, the more knowledge you have, the more experience you have, your creativity improves, because now you have a much broader or much bigger array of tools that you can work from.

The same thing with algorithms. And this is why I feel like computer science is considered hard and challenging by the students. Because even once the problem is formulated, I wish there was again, a recipe that you say do step one, step two, step three, and here’s your algorithm. It just doesn’t work like that. Right? So, one has to be creative. And again, for me, creativity is how do you draw on your knowledge and the knowledge that’s out there and draw from sometimes even very, very different fields to get the solution to the problem. You want to get the bits and pieces of the solution from different fields put them together to solve that problem. It’s all it’s all about creativity.

And sometimes even there is another area of computer science that some people might think is not creative, which is when you have an algorithm, usually that algorithm is described almost in the language of like English, I can describe the algorithm in English. But computers don’t run on algorithms written in English. They have to be written in a programming language. So even that what might sound like translation, okay, someone has come up with the algorithm, they described it in English. Now take it and write it in a programming language like Python or Java or whatever programming language. That also requires creativity. It is not a simple translation. It is not like I am saying, you know, just a quick example translating between languages. Yes, I mean, I could ask Google Translate to translate a book for me, but it’s not going to be as artistic. Right? I mean, you know, if you have a novelist who writes a novel, or a poem, let’s say, a poet, writes a poem in Turkish. And if you take it and translate it as is in English, using Google Translate, it might lose its beauty, and its meaning and so on. The same thing here when you take an algorithm written in English and translate it into code. You could lose the beauty because the algorithm in English was elegant and somehow, we created a monster that spans 500 pages of code. That now is no longer beautiful. You could introduce lots of errors. Yes, the algorithm is correct when we described it in English, but when we translated, we made it actually wrong, and many other issues. So that also requires creativity. So, I cannot think of anything like in the field of computer science that doesn’t require creativity, from understanding the problem to formulating it, to coming up with the algorithm to translating it into actual code.

And even take after that, you know, once we have the computer program, I go to the biologists, I say, I have the program, let me analyze the data for you. There’s a lot of beauty after that, and you can look at papers, you look at the figure that they generated, say, wow, this is beautiful, versus a figure says, well this doesn’t look professional, right. So even presenting the results, you know, after we have done all the work, and when figured out the solution and ran it on the biological data, how you present the results. There’s also beauty there.

Another thing, actually I completely forgot about, I love good writing style. And that’s another area where there’s beauty. And I’m talking about technical papers. Because there are technical papers, when I finish reading them, I say, I want to write like that. They are so beautiful. The way they made the case, the way they drew the figures, the aesthetics, all of that is beautiful. And there are some papers, you know, I would look at them and say this is exactly how I don’t want to write.

So again, beauty spans everything from solving the problem to writing the paper to presenting the result. In our field, we give a lot of presentations as well – us and our students. There are beautiful slides, and there are ugly slides, right. And sometimes it’s not easy for you to define what is a beautiful slide, but something is very attractive about it. Right? All of that, by the way, requires creativity. Creating beautiful slides, is again, it’s not a trivial task.

There is one thing I want to share with you, I don’t know, if you’re aware of this. Today, we live in a world where there are lots of videos online, people explaining all sorts of algebra and calculus and so on. But there is one special channel on YouTube. The name of the channel is 3Blue1Brown. If you want to see beauty, you should look at that. The gentleman who’s behind it, the amount of time he puts into visualizing mathematical concept, computational concept is just, you know, I would look at that person and say, I want to do something like this. Of course, I would never dare to get into that, because he’s specialized in this. This is all he does. But that is to me, a very, very high standard of beauty. How you explain, how do you visualize, how do you illustrate that very complex concepts in mathematics and computing. It’s amazing, and I highly recommend anyone to look into that. It’s 3Blue1Brown.

[music]

Longitude
This podcast is part of a nonprofit program that engages students and graduates in leading interviews, narrating podcast episodes, and preparing library exhibitions. To view the episode transcript, please visit our website Longitude.site

Join us next time for more unique insights on Longitude Sound Bytes.


]]>
https://longitude.site/the-elegance-of-formulation/feed/ 0