{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Toby Benjamin Clark",
  "home_page_url": "https://www.toby.wiki/",
  "feed_url": "https://www.toby.wiki/feed.json",
  "description": "Toby Benjamin Clark is a doctoral researcher at the University of Nottingham working on formal methods and combinatorial optimisation.",
  "authors": [{ "name": "Toby Benjamin Clark" }],
  "items": [
    
    
    {
      "id": "https://www.toby.wiki/publications/syntax-guided-pruning-rule-synthesis-for-single-machine-scheduling/",
      "url": "https://www.toby.wiki/publications/syntax-guided-pruning-rule-synthesis-for-single-machine-scheduling/",
      "title": "Syntax-Guided Pruning Rule Synthesis for Single Machine Scheduling",
      "summary": "A second placeholder for published or presented work.",
      "content_html": "<p>Machine scheduling problems model the allocation and sequencing of jobs on limited processing resources. Single Machine Scheduling Problems  consider the special case in which all jobs share a single processing resource. They arise in settings such as sequencing jobs on a production line, ordering aircraft on a runway, or assigning patients to a shared medical scanner.</p>\n\n<p>Many Single Machine Scheduling variants are computationally challenging and NP-hard in their general formulation, often making the direct use of exact methodologies intractable. Despite this, their constraints and objectives often exhibit structure that exact methods can exploit through pruning rules, which discard provably dominated regions of the search space without compromising optimality.</p>\n\n<p>I am currently exploring the general use of <a href=\"https://en.wikipedia.org/wiki/Satisfiability_modulo_theories\">Satisfiability Modulo Theories</a> for the verification and synthesis of pruning rules in Single Machine Scheduling. This work is currently in progress, and will be updated upon completion.</p>\n",
      "date_published": "2026-12-24T00:00:00+00:00",
      "tags": []
    },
    
    {
      "id": "https://www.toby.wiki/publications/automated-verification-of-pruning-rules-for-runway-sequencing/",
      "url": "https://www.toby.wiki/publications/automated-verification-of-pruning-rules-for-runway-sequencing/",
      "title": "Automated Verification of Pruning Rules for Runway Sequencing",
      "summary": "We propose the use of Satisfiability Modulo Theories for the automated verification of pruning rules for the Runway Sequencing Problem.",
      "content_html": "<p><a href=\"https://raw.githubusercontent.com/tobybenjaminclark/rsp-smt/main/Automated%20Verification%20of%20Pruning%20Rules%20for%20Runway%20Sequencing.pdf\">Paper Download</a> • <a href=\"https://github.com/tobybenjaminclark/rsp-smt/tree/main\">Github Repository</a></p>\n\n<p>Runway sequencing is an NP-hard combinatorial optimisation problem concerned with determining an efficient ordering of aircraft subject to operational constraints. It is difficult to solve problem instances exactly, as the number of solutions grows factorially to the number of aircraft. For many airports, sequencing is a real-time, safety-critical timetabling problem; pairs of aircraft must maintain a minimum time separation, as upon takeoff they leave behind swirling <a href=\"https://en.wikipedia.org/wiki/Wake_turbulence\">wake vortices</a>.</p>\n\n<figure class=\"wake-vortex-figure\">\n  <img src=\"/assets/wake-vortex.png\" alt=\"Wake Vortices\" width=\"240\" />\n  <figcaption>Wake vortices are dangerous because they can destabilise an aircraft that flies through them.</figcaption>\n</figure>\n\n<p>Despite the NP-hardness of the general formulation, practical runway sequencing instances often exhibit structural characteristics that can be exploited to find optimal solutions in realtime. That is, the regulatory and real-world semantics of the problem model admit additional structure that can leveraged to safely discard entire regions of the search space, making exact optimisation tractable.</p>\n\n<p>Many exact solutions exploit this structure using pruning rules, which characterise regions of the search space provably dominated by another region. These allow algorithms to effectively ‘ignore’ entire subtrees. One example of a pruning rule is where two aircraft have an order on release times, if one is available before the other, then it is never worse to sequence the earlier aircraft first.</p>\n\n<p>This simple rule is able to eliminate all sequences in which the later aircraft is sequenced first, for every pair of aircraft where such a property holds. There are several more pruning rules described in both this paper, and the original <a href=\"https://www.jstor.org/stable/pdf/48747932.pdf\">[1]</a>. The rules rely on underlying mathematical proof that the pruned region is always dominated by the retained region, but such proof is manually derived, and often necessitates deep domain-knowledge.</p>\n\n<h4 id=\"contribution\">Contribution</h4>\n<p>Our paper proposes the use of <a href=\"https://en.wikipedia.org/wiki/Satisfiability_modulo_theories\">Satisfiability Modulo Theories</a> for the verification of complete and conditional-order pruning rules for the Runway Sequencing Problem. We provide machine-checked correctness guarantees for several rules in <a href=\"https://www.jstor.org/stable/pdf/48747932.pdf\">[1]</a>, and establish a automated verification framework for the quickly checking new rules and problem variants.</p>\n\n<p>SMT enables automated, symbolic reasoning over constraints in rich background theories, and has become a standard tool for the automated verification of programs. Our approach interprets pruning rule correctness as a logical invariant of the problem model, rather than a modification to the search procedure. Specifically, we use the <a href=\"https://github.com/z3prover/z3\">Z3 Theorem Prover</a> to verify the following attributes:</p>\n\n<ol>\n  <li>Pruning Rules must never prune away a better solution, if both branches are equally optimal, then one may be pruned.</li>\n  <li>Pruning Rules must be non-vacuous, meaning they must trigger in atleast one feasible configuration (this is to ensure rules are actually correct, and not just that their preconditions are unsatisfiable).</li>\n</ol>\n\n<p>This work is intended to form the basis of a future pruning rule synthesis methodology to automatically discover and prove new rules in other Single Machine Scheduling Problems.</p>\n\n<hr />\n\n<p><a href=\"https://www.jstor.org/stable/pdf/48747932.pdf\">[1] Pruning Rule for Optimal Runway Sequencing. Geert De Maere, Jason A. D. Atkin, Edmund K. Burke</a></p>\n",
      "date_published": "2026-08-01T00:00:00+00:00",
      "tags": []
    },
    
    {
      "id": "https://www.toby.wiki/oddments/jazzhands/",
      "url": "https://www.toby.wiki/oddments/jazzhands/",
      "title": "Jazzhands",
      "summary": "Jazzhands is a gesture controlled, action-based rhythm game developed at HackNotts84, showcased at EGX 2024, and featured on the BBC.",
      "content_html": "<p><a href=\"https://store.steampowered.com/app/2701220/Jazzhands/\">Steam Page</a> • <a href=\"https://www.bbc.co.uk/news/live/cgqy2dypdw0t?post=asset%3A81099280-9f40-49a9-99e2-8e49f94df069#post\">BBC World</a> • <a href=\"https://devpost.com/software/jazzhands\">Original Devpost</a></p>\n\n<p>Jazzhands is a gesture controlled rhythm game that I co-developed with <a href=\"https://www.amber.wiki/\">Amber</a>. The concept is simple, the player follows on-screen hand choreography whilst a song plays. We use a simple computer vision model to process the gesture in realtime, and process scoring.</p>\n\n<p>We prototyped the idea at <a href=\"https://hn84.devpost.com/\">HackNotts84</a>, where we won overall 1st. Since then, the project has been showcased at research events, demonstrated to <a href=\"https://en.wikipedia.org/wiki/Andrew_Witty\">Sir Andrew Witty</a>, showcased on <a href=\"https://www.bbc.co.uk/news/live/cgqy2dypdw0t?post=asset%3A81099280-9f40-49a9-99e2-8e49f94df069#post\">BBC World</a>, and made an appearance at EGX London 2024 as part of the <a href=\"https://www.egx.net/london/en-gb/things-to-do/panels/panel-information.html?gtID=876544&amp;panel-name=Jazzhands\">Leftfield Exhibit</a>.</p>\n\n<h4 id=\"initial-jazzhands-prototype\">Initial Jazzhands Prototype</h4>\n\n<p>We had developed the first prototype during a 24-hour hackathon, aiming to create something similar to Guitar Hero, but with an AI twist. Since the hackathon had a retro theme, we wanted to make a small arcade machine for it, and make it have multiple levels. The main menu looped an 8-bit rendition of Radiohead’s Creep, while the levels used 8-bit versions of Thriller, Rasputin, and the Tetris theme.</p>\n\n<p>I think that whilst the original version was unpolished, it had some charm and was fun to play. Technically, it was a mess - owing to the time constraints we had bodged together a raw socket connection between the Python computer vision program, and the game interface. The original game files took hours to create, and wound up being alot more difficult than we had anticipated.</p>\n\n<figure class=\"wake-vortex-figure\">\n  <img src=\"/assets/jazzhands-original.png\" alt=\"Original Jazzhands Box\" width=\"240\" />\n  <figcaption>Our original comprised of a laptop wedged into a hand-painted, cardboard façade.</figcaption>\n</figure>\n\n<h4 id=\"rhythm-rehabilitation-and-experimentation\">Rhythm, Rehabilitation and Experimentation</h4>\n<p>After winning the hackathon, some academics at the <a href=\"https://www.nottingham.ac.uk/\">University of Nottingham</a> picked up on the idea. We were invited to a few research events, a christmas party and even a robot party. We had opportunity to speak with many ideators, inclduing some medical researchers who wanted to explore using the game to rehabilitate chronic pain patients.</p>\n\n<p>We were invited to the <a href=\"https://nationalrehabilitationcentre.nhs.uk/\">National Rehabilitation Centre</a> in 2025 to speak with NHS specialists about this. We wanted to make something to help people, but there are strong regulations surrounding the promotion of medical technology, so we were advised to pursue development as a clinical aid.</p>\n\n<figure class=\"wake-vortex-figure\">\n  <img src=\"/assets/jazzhands-motioncare.png\" alt=\"Motioncare Poster\" width=\"240\" />\n  <figcaption>Myself and Amber presenting Motioncare (Jazzhands) at a research event.</figcaption>\n</figure>\n\n<p>In addition to meeting with NHS specialists, we presented both the Jazzhands game and its medical twin to <a href=\"https://en.wikipedia.org/wiki/Andrew_Witty\">Sir Andrew Witty</a>. Speaking to Andrew about this was valuable, as he is a former CEO of GlaxoSmithKline, and was an advidsor to the World Health Organisation during the Coronavirus years. He raised some valuable insights about the strong regulations surrounding medical technology.</p>\n\n<p>We figured that if someone wanted to use Jazzhands to help with chronic pain, then they could do so if we released it. At this point, the project was an open source repository, but inaccessible to the majority of people.  We decided to pursue the release of Jazzhands as a game, on Steam.</p>\n\n<h4 id=\"steam-egx-and-bbc-world\">Steam, EGX, and BBC World</h4>\n<p>In 2025 we started work on refining Jazzhands into a full game. We decided to string levels together with a small story, and refine the idea into a full product. This was more work than we had anticipated, but we pushed through to get an initial demo. One of my friends (who is an indie game developer) mentioned that we should submit to the <a href=\"https://www.egx.net/london/en-gb/things-to-do/panels/panel-information.html?gtID=876544&amp;panel-name=Jazzhands\">Leftfield Exhibit</a> for EGX 2024.</p>\n\n<p>Unfortunately, we were over a week late, and our demo barely worked. I sent an email to David at Leftfield with a short video of our game, and to my surprise we were selected to present the idea at EGX 2024. If I have ever felt imposter syndrome, it was on when we first walked into the ExCeL conference centre looking for our stand.</p>\n\n<p>EGX spanned 3 days, and brought together over 150 thousand attendees. This was very useful, we watched how people interacted with the game, and each night we would tinker with the controls on the way back to refine the experience. We would get up at 6am, code changes on the DLR into ExCeL, get back home at 10pm, make improvements until 3am and then wake back up at 6am again. It felt like a groundhog day of continuous improvement, opportunity, and exhaustion.</p>\n\n<p>This peaked when a journalist from the BBC came to our stall. I recall frantically texting Amber that she needed to come back to the stall, so her picture could be on the BBC! Thankfully, Laura was both patient and interested in the project. After our conversation, she wrote two articles about the game, both of which were published to <a href=\"https://www.bbc.co.uk/news/live/cgqy2dypdw0t?post=asset%3A81099280-9f40-49a9-99e2-8e49f94df069#post\">BBC World</a>. To our delight, we went home this night to see Jazzhands on the front-page of Steam, featured as part of a special EGX 2024 promotion.</p>\n\n<figure class=\"wake-vortex-figure\">\n  <img src=\"/assets/jazzhands-egx.png\" alt=\"Motioncare Poster\" width=\"240\" />\n  <figcaption>We dressed up in disco style as characters from the game. We didnt have a sign, so we just sharpied on the walls.</figcaption>\n</figure>\n\n<p>Today, we still are yet to release the full version of Jazzhands. We have a <a href=\"https://store.steampowered.com/app/2701220/Jazzhands/\">demo</a> available, which is collecting wishlists for the full game. We hope to release at some point in the next couple of years, but it is difficult finding time to work on such a project.</p>\n",
      "date_published": "2023-11-04T00:00:00+00:00",
      "tags": []
    }
    
  ]
}
