Photo of John Wu
John Wu

DIMACS 2026

Hi! I'm a rising junior at Princeton University majoring in Computer Science and minoring in Mathematics. I'm broadly interested in theoretical computer science, particularly graph theory, algorithms, and the study of complex networks. I also enjoy reasoning about computer systems and building applications that incorporate AI. Outside of academics, I enjoy hiking, camping, playing board games, and staying active through sports such as ping pong, pickleball, and tennis.

School
Princeton University
Mentors
Prof. Jie Gao & Daniel Baumgartnerfor
Collaborators
Roger Chen & Eli Yablon
Office
CoRE 417
Email
john_wu [at] princeton [dot] edu

Project: Truth Learning in a Social Network

Sequential learning studies how agents in a network make decisions when information is distributed across individuals. Each agent receives a noisy private signal about the correct decision and may also observe the decisions of earlier agents, but not their underlying private signals. A central challenge in these systems is the phenomenon of information cascades, where early mistakes can propagate through the network and cause many subsequent agents to ignore their own information, ultimately preventing the network from learning the truth.

Prior work has investigated which network structures support truth learning under both fixed and random decision orders. Our research aims to build on these results by exploring the following questions:

1 Computational Complexity of Truth Learning

Building on results from the 2025 REU, can we show that the truth-learning oracle used in their construction is NP-hard to compute? If so, are there alternative methods for modifying or augmenting networks to achieve random-order truth learning without relying on such an oracle?

2 Alternative Aggregation Rules

Bayesian inference provides strong theoretical guarantees but is often computationally expensive, while majority-vote aggregation is computationally simple but more difficult to analyze. Can we design alternative aggregation methods that strike a better balance between computational efficiency and provable learning guarantees?

3 Other Networks

Many known networks that achieve truth learning rely on a small set of influential agents whose decisions cascade through the network. Can we identify fundamentally different network architectures that learn the truth without depending on information cascades? If such networks exist, are they more robust to adversarial attacks or misinformation?

Research Log

Week 1 · May 26–30

This week marked the beginning of the DIMACS REU program. I moved into Rutgers housing and met my roommates, Ryan, Arnav, and Herbert. I also met my research teammates, Eli and Roger, as well as the rest of the REU cohort during orientation.

Following orientation, we met with our Dr. Gao and Daniel to discuss prior work completed through the program and potential directions for our summer research. Much of the week was spent conducting a broad literature review. Our professor shared us resources related to nine potential directions we could take the project in, ranging from Social behaviors of LLMs to Repeated Learning with Bayesian models. We explored several research avenues and ultimately narrowed our focus to the three primary questions stated in the project description.

Week 2 · May 31–June 6

On Tuesday, all of the REU groups gave short presentations introducing their projects. It was really fun presenting and learning about everyone else's projects. Our presentation is linked under resources.

I began the week by reviewing the network constructions studied by the 2023 REU and thinking about whether the butterfly network could be modified to become more robust to adversarial agents. While reading William's 2025 REU research log, I came across an insightful observation: Bayesian agents that are unaware of adversaries may become confused by the resulting state of the world. This motivated me to explore alternative aggregation rules where agents do not need to know about the existence of adversaries.

I considered using a weighted-majority-vote aggregation method, where the weightings were determined based on vertex learning rates. However, it is not known if there exists an efficient algorithm for computing the learning rate of a vertex in a network with a fixed decision ordering under majority-vote (or bayesian inference). The 2024 REU showed that finding the optimal learning rate over all possible orderings is NP-hard, and they were unable to identify a certificate demonstrating that the corresponding decision problem lies in NP. This suggests that computing learning rates for a single vertex may itself be computationally difficult.

While exploring this question, I proved that a related variant of the problem is #P-hard through a reduction from #Monotone-2SAT. The variant I considered allows agents to have asymmetric and unbounded private signals. I do not believe that my proof strategy can be extended to the original problem, since my construction relies on AND and OR gadgets that are implemented using unbounded signals.

Meanwhile, Eli showed that determining the action taken by a Bayesian agent in a sequential learning network, given a fixed ordering and the actions of all previous agents, is NP-hard. Throughout the week, Eli, Roger, and I met up a lot in the office.

During our meeting with Professor Gao and Daniel, we were encouraged to write up our reductions and continue exploring our three main research directions by establishing simple theoretical guarantees. They also introduced several related topics worth investigating, including repeated sequential learning systems, continuous variants of majority vote, and potential adversarial environments.

Week 3 · June 7–June 13

This week, I focused on turning last week's hardness ideas into a more formal writeup. I wrote up my reduction showing that computing the learning rate is #P-hard, and then spent time reading more about #P-hardness reductions to see whether the argument could be adapted to a more realistic setting where q∈(0,1) and the signal accuracy q is homogeneous across all vertices.

I also wrote up a separate proof showing that, under weighted majority vote, the learning rate of the network with a fixed ordering is monotone with respect to the learning rate of any individual vertex. As a group, we found the following observation interesting: Learning rate with Bayesian inference is monotone with respect to future agents but not the private signal strength (example in 2025 REU of Bayesian inference failing when private signal strength was too high), while Majority vote has the opposite properties.

Eli wrote up his proof showing that Bayesian inference is NP-hard, while Roger continued experimenting with multipass sequential learning. In our meeting with Professor Gao and Daniel, we mainly discussed our writeups.

One interesting issue we discussed was a potential "exploit" in weighted majority vote protocols. If weights are allowed to vary continuously, the protocol can effectively change the topology of the network by assigning weight 0 to certain neighbors. For example, even in a complete graph, a weighted majority protocol could force a superconstant number of early agents to reveal only their private signals, after which the rest of the network could aggregate and copy their information. This makes the protocol much more powerful than ordinary majority vote in a way that may not reflect the intended network structure. To address this, Professor Gao suggested studying weighted majority vote with discrete labels, such as "high" and "low," rather than allowing arbitrary continuous weights. She also encouraged us to look further into multipass sequential learning, since that direction appears to be less explored in prior work.

Week 4 · June 14–June 20

This week, I spent most of the week writing up a proof showing that the learning rate is #P-hard even with fixed, homogenous, bounded signals. A part of the proof relies on a matrix being invertible. Eli and I believe the matrix is invertible but don't have a proof for it. As a group, we are shifting away from building complexity results related to past works and want to focus on exploring more into newer ideas. Eli has been working on learning with incentives. Roger and I have been working on multipass learning.

Week 5 · June 21–June 27

On Monday we had culture day at DIMACS. I learned about tattoos, Ohio, salsa dancing, and the history of Czechoslovakia. Allison and Lucy made Buckeye Candy while Martin and Sofia made bramboráky, which was really delicious.

Later this week, Roger and I flew to UC Santa Barbara to attend the 2026 ACTION Annual Review and Knowledge Expo. I was able to meet Edward, a participant from last year's REU who worked on our project, as well as Tim Robinson. It was interesting to observe professors coming together to showcase the work of the institute, answer questions from NSF evaluators on the spot, and use feedback to discuss future directions. The keynote talks about cybersecurity for robots and about enhancing cybersecurity defense through offensive were very informative.

For multipass learning, I showed that actions will eventually stabilize. I also showed an example of a network with a fixed ordering such that the learning rate is higher with single pass compared to multipass.

Week 5 — UC Santa Barbara ACTION Annual Review and Knowledge Expo

Week 6 · June 28–July 4

This week, Eli, Roger, and I gave a mid project presentation to our friends at UCSB who were just starting their program. This week I mainly spent time formalizing and typing up my results about multipass related to stability, canonical networks, and examples where multipass performs worse. Roger and I both conjecture that random order multipass always perform better than random order single pass. Eli was able to fix up the earlier majority vote learning rate is #P hard proof with an elegant method that is both tiebreaker independent and circumvents having to prove invertibility for a very complicated family of matrices.

Resources

Project Introduction

Week 1 · May 26–30

Week 2 · May 31–June 6

Week 3 · June 7–June 13

Week 4 · June 14–June 20

Week 5 · June 21–June 27

Week 6 · June 28–July 4

Fun Stuff

🍳Cooking Log

This is my first time having to cook each meal for myself!

Week 1 · May 26–30

On move-in day, I went grocery shopping with my mom and we had dinner at Wu's Fish House. On Tuesday evening, Larry treated the cohort to pizza, which was where I first got to meet many of the other participants. The program also provided breakfast and lunch during orientation.

For breakfast throughout the week, I usually scrambled two eggs and ate an apple and/or cucumber. For lunch, I typically reheated leftovers from the previous night's dinner. Two of us in the apartment brought rice cookers, so I regularly made rice as well.

This week, I cooked pork rib soup with seaweed and mushrooms using the Instant Pot, as well as a stir-fried salmon and tofu dish. In both cases, I forgot to defrost the meat ahead of time. Fortunately, I was able to separate the frozen pork ribs into smaller pieces without too much trouble. However, for the salmon, I put it in boiling water, which turned out to be a bad idea since it made the kitchen smell fishy. Toward the end of the week, I realized that I had barely touched any of the vegetables I bought so I made a simple stir-fryed some water spinach.

Week 1 cooking — pork rib soup
Week 1 cooking — salmon and tofu

Week 2 · May 31–June 6

Went to Smashville with Ryan, Gal, and Roger on Sunday for some spicy chicken burgers. There was also some pretty good pizza after orientation lunch. We also picked up a microwave for our apartment, which saved me a lot of time when reheating things. I used the leftover pork ribs from last week to make soup again. I also used the leftover tofu from last week to make Salmon and Tofu. This time I defrosted the meat ahead of time and used cooking alcohol to avoid fishy smells. I wanted to make fried rice with sausage on Tuesday, but I forgot to defrost the sausage. I did remember to defrost it ahead of time later in the week though.

Week 2 cooking — soup
Week 2 cooking — fried rice with sausage

Week 3 · June 7–June 13

This week, I tried to make my cooking routine more consistent. Last week, I kept switching between cooking for lunch, cooking for dinner, and figuring out how to manage leftovers, which felt a little chaotic. So this week, I switched to a simpler system of keeping breakfast and lunch quick, and save the bigger cooking effort for dinner. Last week, I noticed a big drop off in food quality from microwaving leftovers, so my system this week ensures I never have any leftovers.

For breakfast, I still made eggs, but I also added croissants. For lunch, I mostly made noodles. I bought potstickers (pork, vegetable, leek) toward the end of the week to add more variety. Making breakfast and lunch is super quick and cleaning up is just as fast since all I need is a pan and a food container.

Dinner was more substantial, but still systematic and self contained. I cooked a cup of rice for every dinner. I bought shrimp this week, which I cooked with cauliflower and choy. I also got chicken breast, which I had less experience with, so I experimented with cooking it both in larger pieces and smaller pieces. I also made fried rice a few more times than I would've liked to due to forgetting to defrost other meats. Another thing I learned this week was how important seasoning was. Before, I would only season with salt and soy sauce. However, when I added chili seasoning to shrimp and black/white pepper to chicken, it made a huge difference.

Week 3 cooking — shrimp and choy
Week 3 cooking — chicken dish
Week 3 cooking — fried rice
Week 3 cooking — dinner

Week 4 · June 14–June 20

This week, I improved breakfast by buying yogurt. I also improved my lunch noodles with chicken broth. The potstickers I bought at the end of last week also added variety to lunch.

For dinner, the new dishes I made were chicken noodle soup and chicken broccoli. Other than that, I resorted to making fried rice and salmon tofu.

Week 4 cooking — dish 1
Week 4 cooking — dish 2
Week 4 cooking — dish 3
Week 4 cooking — dish 4
Week 4 cooking — dish 5

Week 5 · June 21–June 27

This week, I did not cook much because I was in Santa Barbara for most of the week. I made beef and broccoli twice. It was ok, but I think I slightly overcooked the beef both times and I also didn't have oyster sauce.

Week 5 cooking — beef and broccoli
Week 5 cooking — beef and broccoli

Week 6 · June 28–July 4

This week I made some more chicken noodle soup. I also made tortillas for the first time. I tried boiling corn and improvising pasta, but it didn't turn out too well. I noticed I didn't cook much rice this week.

Week 6 cooking — chicken noodle soup
Week 6 cooking — tortillas

🏃Exercise + Sports

Hoping to stay relatively active during the summer!

Week 1 · May 26–30

  • 5/27 Wed Went on a walk with Ryan and Herbert.
  • 5/30 Sat Checked out the gym.

Week 2 · May 31–June 6

  • 6/2 Tue 2.5 mile run with Ryan in the morning.
  • 6/3 Wed 1 mile morning run by myself. Went with Allison and Adelmo to play pick up ultimate frisbee. Learning how to throw a forehand for the first time felt great!!! I also learned what the "stack" formation is.
  • 6/6 Sat Badminton and table tennis with Arnav, Joshua, and Roger

Week 3 · June 7–June 13

  • 6/7 Sun Ultimate frisbee with Allison, Nathan, Adelmo, and Martin.
  • 6/12 Fri Badminton with Arnav and Joshua
  • 6/13 Sat Badminton with Arnav and Joshua

Week 4 · June 14–June 20

  • 6/14 Sun Ultimate frisbee with Allison, Adelmo, and Martin. Got better at throwing a straight backhand, but the forehand flick needs work. The group is very nice and was happy to share tips.
  • 6/20 Sat Badminton with Arnav and Joshua

Week 5 · June 21–June 27

  • 6/21 Sun Ultimate frisbee with Allison and Martin.
  • 6/26 Fri UCSB Beach Hike

Week 6 · June 28–July 4

  • 6/28 Sun Badminton with Arnav, Joshua, Ryan, and Sheraz
  • 6/30 Tue Badminton with Arnav, Joshua, and Sheraz

🎲Group Activities + Misc

I enjoy card games and board games!

The Crew: Quest for Planet Nine box art Blood on the Clocktower game session NBA Finals watch party Pandemic Legacy Season 1 box art

Week 1 · May 26–29

Played spoons and Cabo with Ryan, Arnav, Herbert, Lucy, Nicole, and Esme on Wednesday. I played The Crew: The Quest for Planet Nine with my roommates Ryan and Arnav. We got to level 9 without failing any missions.

Week 2 · May 31–June 6

I hosted blood on the clocktower on Sunday. I thought the game was a bit niche, but it was pretty cool that Gal from Israel and Martin from Charles University have both played the game before. Ryan, Arnav, and I made it to level 15 on The Crew without any failures as well. Watched the 2nd game of the NBA finals with Roger, Nathan, Jakub, Arnav, Adelmo, and Joshua Friday Night. It was a really close game.

Week 3 · June 7–June 13

Watched the 3rd, 4th, and 5th game of the NBA finals with the group. This was the most exciting basketball I've watched and I'm glad the Knicks won! Eli hosted poker on Tuesday, which I joined along with Nathan, Joshua, Roger, Herbert, and Adelmo.

Week 4 · June 14–June 20

Ryan, Arnav, and I got to level 26 on the crew, but recorded our first two losses. Joshua, Roger, Sheraz, and I started the pandemic legacy season 1 campaign, and made it through february.

Week 5 · June 21–June 27

This week, Roger and I flew to UC Santa Barbara to attend the 2026 ACTION Annual Review and Knowledge Expo. I had the opportunity to meet other ACTION interns stationed at UCSB and UW, as well as past ACTION interns, including Edward and Meghan. On Thursday night, Giovanni invited everyone to his house for dinner and to prepare a presentation addressing feedback from the NSF evaluators. On Friday, I went on a beach hike with Kayshav, Paolo, Roger, and Daniel. At night, Giovanni invited everyone to Topa Topa Brewery, which was a nice way to end the visit.

Week 6 · June 28–July 4

Roger, Joshua, and I finished all of pandemic legacy! We ended the campaign with 12 wins and 3 losses. We had a visit from the NYC Discrete Math REU and had lunch together. Dr. Doron Zeilberger gave an interesting talk, and I won a copy of Stanley's Catalan book.

Week 6 — completed Pandemic Legacy Season 1 logbook

Acknowledgements

I would like to thank Professor Jie Gao and Daniel Baumgartnerfor for their amazing mentorship and guidance throughout this project. I am grateful to Dr. Lazaros Gallos and Lawrence Frolov for organizing the 2026 DIMACS REU Program. I would also like to thank Dr. Tim Robinson for organizing the ACTION Summer Research Experience

This work was supported by the National Science Foundation through the DIMACS REU Program (Grant CCF-2447342) and ACTION (AI Institute for Agent-based Cyber Threat Intelligence and Operation) (Grant IIS-2229876).