Meet the Faculty - Zihan Tan

Tell us about your journey to the University of Minnesota.

I grew up in China and at a very early age, I became interested in mathematics. In high school, I participated in a lot of mathematics competitions and math really helped me develop my problem solving skills and way of thinking. At first, I was a math major, but then I was exposed to math that had more of a computer science flavor, which felt like a more practical and applied form of math. Now I view myself as a researcher in the intersection between math and computer science. I focus on theoretical computer science, and more specifically graph algorithms. We prove theorems and equations that help build applications.

I studied computer science at Tsinghua University. I then spent six years as a PhD student at the University of Chicago. After graduating, I spent two years as a post-doc at DIMACS, a center for computer science at Rutgers University, and eventually became an assistant professor in computer science at Rutgers. I moved to the University of Minnesota this fall with my wife who is a professor of economics.

We really like the Midwest and wanted to live in a big city. I found the Department of Computer Science & Engineering at UMN to be well organized with experts in all areas of computer science. The department is very large and there are opportunities for interdisciplinary research. The math department at UMN is also great and has a large faculty. Having a large math and computer science department in the same place is unique.

We would love to hear more about your research!

Right now, I mainly work on graph algorithms. Graph algorithms can be solved in different computational models, like dynamic, distributed, sublinear, and streaming. With the boom of big data, graph algorithms are stored in big servers, but are stored in different versions or models. In all of these models, I focus on one class of problems called graph compression.

Graphs can be very large, but the number of vertices we care about may be very few. For example, you can think of it like transportation networks - the vertices are the buildings and the edges are the roads. Typically, we only care about a few places in the whole network, like your house, your work place, some restaurants, the airport, etc. If you want to make a query about the vertices you care about, it might take a long time for the algorithm to run on the whole graph. In order to get more efficient graph algorithms, you can take the large graph with the vertices you care about and compress it into a smaller graph while preserving the important information. Now it is easier for you to run algorithms on the compressed graph and get answers much quicker.    

What do you hope to accomplish with this work? What is the real-world impact for the average person?

The overall goal for graph compression is to design fast graph algorithms. Compressions suggests a framework for this goal: first compress the graph, then run the algorithm on the much smaller graph, which will surely be more efficient. The real-world impact of fast graph algorithms is everywhere. One notable example is transportation apps like Uber/Lift get a considerable number of requests that require immediate processing. There are many other examples where there are massive graphs: Google knowledge graph, friendship networks, biological structure networks, etc. Compression has proved a useful tool in handling all of them.

What courses are you teaching in the future? What can students expect to get out of that class?

Next semester, I am teaching a graduate-level topics class, CSCI 8980, on advanced graph algorithms, which is extremely relevant to my current research. Students will learn about the cutting edge research on graph algorithms from a theoretical perspective. We will look at the current trends and interesting problems in this field. There are some prerequisites; students should have a discrete mathematics course or graph algorithms course prior to entering this class. In the future, I would love to teach a wide range of theory courses.  

What do you do outside of the classroom for fun?

I enjoy swimming at the rec center and playing soccer in a local league. A long time hobby of mine is playing bridge. I was a member of the Chinese under-21 bridge card national team and participated in several international competitions. I also played when I was studying at University of Chicago and participated in the Collegiate Bridge Bowl a few times.

Do you have a favorite spot in the city?

I enjoy exploring the lakes and state parks around the Twin Cities area. We live out in the western suburbs and there are a lot of great parks in the area. We also liked visiting the Mill City Museum.

Is there anything else you would like students to know about you?

I look forward to teaching and researching with students in both mathematics and computer science. Anyone interested in theoretical work should reach out to me!

 

Share