Skip to main content

Picture of Dr William K Moses Jr.

We caught up with Dr William K. Moses Jr. who recently joined our department of Computer Science. Get to know him and more about his research.

Tell us a bit about yourself and your research interests?

Hi! I’ve recently joined the Computer Science department and work on the theory of distributed computing. I enjoy working on a wide swathe of problems that come under this banner, typically developing and analysing algorithms to solve the given problems. I’ve worked on several areas, ranging from traditional wired networks of computers to mobile agents/robots on a graph to programmable matter (think of Microbots from the movie Big Hero 6). I find it especially interesting to try to solve these problems when there’s a lot of chaos in the environment, for example when some of the robots can experience faults, or when the underlying graphs involved can be dynamic and change from time to time.

When did you join us and what is your role at Durham University?

I joined Durham University in November 2022 as an Assistant Professor in the Computer Science department.

What are the projects/research you are currently working on?

I currently have two main thrusts of research. On one hand, I’m looking at the theory behind energy efficient computing in distributed networks. Basically, I’m trying to design algorithms that leverage a computer’s ability to switch between a regular high functioning state and a low-energy state with minimal functionality to solve various problems using as little energy as possible. Another main thrust is research on mobile agents/robots on a graph, where you have these low-capability robots that can only move between nodes in a graph. The idea is to solve some problem, e.g., have them gather together at a single node, as quickly as possible but the catch is that these robots must work independently to get this done and don’t have info about where the other robots are.

What is interesting about your projects/research?

I personally enjoy the puzzle-like nature of my research. On a spectrum of theoretical research to applied research, I’m very much on the theoretical side of things. As such, what I’m doing is assuming a particular model of the world, assuming that each computer/robot has certain capabilities, and then designing distributed algorithms that leverage these capabilities to do something interesting. One could liken this to a puzzle where you’re given the pieces of the puzzle, told how you can manipulate these pieces, and then have to cleverly move things around in the puzzle to reach some final state (think of any rope puzzle). Another aspect that I enjoy is that when I design these algorithms, I have to assume that each node/robot does not have a bird’s eye view of the whole situation but rather only limited local information. This constraint makes designing solutions a lot more fun in my opinion.

What is the scientific and societal relevance of your research?

Distributed systems occur all the time in the real world (e.g., the internet, social media networks, etc.) so by working on problems for such systems, there is certainly immediate scientific relevance.

As to the societal impact of my work, I view scientific research on a spectrum from theoretical to applied work. Applied research is usually done on real world issues with specific constraints and leads to immediate improvements in the world. By comparison, theoretical research is done on a model that is not quite close to the real world but may lead to deep insights into the nature of the problem being studied. These insights act as building blocks for future, more applied research and may lead to drastically better solutions to real world problems. So I view my work as not necessarily having immediate societal relevance, but rather laying the foundation for future impact.

What are your plans for future research/study?

I plan to continue pursuing the two thrusts of research I mentioned earlier and working on several problems within those purviews. As mentioned earlier, I also enjoy studying the effects on “chaos” present in the system on solutions to the problems I’m looking at. By “chaos”, I mean misbehaviour of the computers/robots involved, i.e., computers/robots acting in a faulty manner, and misbehaviour of the network itself, i.e., the edges and nodes of the graph changing in a dynamic manner.

Any interesting hobbies/passion outside of work?

I generally enjoy consuming stories, whether that be through books, movies, anime, video games, what have you. Additionally, I enjoy playing chess.

This is the image alt text