## 3 Methods  
### Initialization and Simulation Rules  
Our input is preprocessed so that each video frame is binarized into a 0-1 image, using a simple binary threshold. Other methods call this _image segmentation_, and expend enormous effort to create high-quality segmented images in this prepossessing step (Figure 2). We label the binarized frames of the video from 0 through \(k\), representing times \(t_{0}\) through \(t_{k}\) at equally spaced intervals \(\Delta t\). These represent the Universe (the capital U distinguishes the real Universe from simulated universes in our ensemble). Within our simulation, each cell \(c\) in the system has a position \(x_{c}(t)\), orientation \(\theta_{c}(t)\), and length \(l_{c}(t)\). We simulate the evolution of these variables between two nearby, discrete times \(t\) and \(t+\delta t\) (\(\delta t\ll\Delta t\)) by insisting that all state variables are continuous in time: \(x_{c},l_{c}\), and \(\theta_{c}\) can each change by some small stochastic amount bounded by \(O(\delta t)\), between \(t\) and \(t+\delta t\). In addition, each cell \(c\) is allowed one \"bend\" point of angle \(\phi_{c}\) if it is longer than a global constant \(C\). Cells that grow beyond the specified maximum length or bend-constant \(B\) are presumed to have split. Each cell furthermore has a small probability of splitting into two daughter cells; this probability can be constant, or depend upon parameters such as its current length. Finally, cells are discouraged from overlapping using a simple [PERSON]'s law-based repulsion when their borders overlap. No other transitions are allowed. Since the simulation evolves stochastically, it will diverge from the real Universe. To feasibly track the real Universe we we need to create a relatively large ensemble \(E\) of simulated universes in the hopes that some fraction of them will remain close to the real Universe; this also requires that \(\Delta t\), the time between video frames, is not too large. The simulation is initialized with an ensemble \(E_{0}\) containing one universe \(u_{0}\) at time 0 which resembles the real Universe in video frame 0. We assume that at each time \(t_{k}\), we start with a relatively small ensemble \(E_{k}\) of simulations that satisfy the following properties: (a) they are all within the observational uncertainty of video frame \(k\); (b) they are numerous enough and dispersed from each other enough to reflect the range of possibilities represented by frame \(k\). Then, the simulation progresses from time \(t_{k}\) to \(t_{k+1}=t_{k}+\Delta t\) as follows: we set time \(t=t_{k}\); each universe \(u\) in the ensemble \(E_{k}\) evolves independently of all the others from \(t\) to \(t+\delta t\) using our stochastic, physics-based rules, duplicating as necessary to represent the range of near-futures at \(t+\delta t\). We then set \(t:=t+\delta t\) and continue until \(t=t_{k}+\Delta t\). At this point, the ensemble \(E_{k}(t_{k+1})\) will contain many more universes \(u\) than it started with at \(E_{k}(t_{k})\). As depicted in Figure 1, for each universe \(u\in E_{k}(t_{k+1})\) we generate a synthetic binarized image \(I_{u}\) depicting the state of the simulation for universe \(u(t_{k+1})\), and compute the residual left after subtracting \(I_{u}\) from the binarized video frame \(k+1\). We retain only those universes \(u\) from \(E_{k}(t_{k+1})\) whose residual from the image subtraction falls below some threshold, subject to the same constraints (a) and (b) listed above. Due to stochastic noise, even our \"best\" universes may not be very close to the real Universe. Thus, we attempt to improve these remaining universes by \"pulling\" them as close to reality as possible (cf. Figure 3). We accomplish this by iterating over eachuniverse and checking whether we can lower its residual cost by perturbing the position, orientation, and size each of its bacteria, iterating this process until each universe converges to a local minimum residual.