<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://ibrahimkhan4real.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://ibrahimkhan4real.github.io/" rel="alternate" type="text/html" hreflang="en-GB" /><updated>2026-09-05T10:28:33+01:00</updated><id>https://ibrahimkhan4real.github.io/feed.xml</id><title type="html">Muhammad Ibrahim Khan</title><subtitle>Research profile, publications, current work and technical notes by Muhammad Ibrahim Khan.</subtitle><author><name>Muhammad Ibrahim Khan</name></author><entry><title type="html">From deadlines to decisions: a planning view of hot-water control</title><link href="https://ibrahimkhan4real.github.io/2026/08/26/deadlines-to-decisions.html" rel="alternate" type="text/html" title="From deadlines to decisions: a planning view of hot-water control" /><published>2026-08-26T00:00:00+01:00</published><updated>2026-08-26T00:00:00+01:00</updated><id>https://ibrahimkhan4real.github.io/2026/08/26/deadlines-to-decisions</id><content type="html" xml:base="https://ibrahimkhan4real.github.io/2026/08/26/deadlines-to-decisions.html"><![CDATA[<p>A domestic hot-water heater looks simple: switch it on, wait, and switch it
off. The control problem becomes more interesting when the water must be ready
by a deadline, electricity conditions change, and unnecessary heating carries
a cost.
<!--more--></p>

<p>This is one of the problems I use to study planning and reinforcement
learning. It is small enough to explain clearly, but still contains the parts
that make real control decisions difficult: delayed effects, uncertain demand,
constraints and competing objectives.</p>

<h2 id="why-the-deadline-matters">Why the deadline matters</h2>

<p>A controller that only reacts to the current temperature can miss the reason
for heating. The useful question is not simply “is the water cold?” It is:</p>

<blockquote>
  <p>Which action now gives a good chance of meeting the required temperature at
the required time without using more energy than necessary?</p>
</blockquote>

<p>That phrasing changes the task from a thermostat rule into a planning problem.
The controller needs a model of how temperature evolves, a description of the
deadline and an objective that makes the trade-off explicit.</p>

<h2 id="what-a-planning-controller-considers">What a planning controller considers</h2>

<p>In a tree-search formulation, each branch represents a possible sequence of
future actions. Simulated trajectories estimate what could happen after those
actions, and the search allocates more attention to promising branches while
continuing to explore alternatives.</p>

<p>For this kind of study, the important pieces are:</p>

<ul>
  <li>the state available to the controller;</li>
  <li>the actions it is allowed to take;</li>
  <li>the thermal model and uncertainty assumptions;</li>
  <li>the deadline and comfort requirement;</li>
  <li>the energy objective; and</li>
  <li>the baseline controllers used for comparison.</li>
</ul>

<p>The algorithm name is only one part of the experiment. Without the rest of
that specification, it is difficult to tell what a result means or whether it
would reproduce.</p>

<h2 id="comparing-methods-fairly">Comparing methods fairly</h2>

<p>My public work examines planning and reinforcement-learning approaches,
including Monte Carlo Tree Search, PPO and SAC. A useful comparison keeps the
task, observations, action limits and evaluation conditions aligned. It also
reports failures and constraint violations rather than reducing everything to
one reward number.</p>

<p>This matters because different controllers can succeed in different ways. A
method may meet the deadline reliably but consume more energy; another may be
efficient on average but fail in difficult conditions. Those outcomes should
remain visible in the evaluation.</p>

<h2 id="making-the-experiment-auditable">Making the experiment auditable</h2>

<p>I treat reproducibility as part of the research method rather than a final
cleanup step. In practice, that means recording configuration, seeds,
environment conditions and output summaries; checking that comparisons differ
only where intended; and keeping a clear route from a claim back to the run
that supports it.</p>

<p>The broader lesson is useful beyond hot water. When an AI controller acts over
time, the quality of the conclusion depends as much on the experimental design
as on the learning or planning algorithm.</p>

<p>You can read the public paper,
<a href="https://arxiv.org/abs/2601.18123">“Deadline-Aware, Energy-Efficient Control of Domestic Immersion Hot Water Heaters”</a>,
explore the <a href="https://github.com/Ibrahimkhan4real/Hot_Water_Immersion_System">hot-water control repository</a>,
or try the smaller planning examples on the <a href="/demos.html">interactive demos page</a>.</p>]]></content><author><name>Muhammad Ibrahim Khan</name></author><summary type="html"><![CDATA[Why domestic hot-water control becomes a useful planning problem once deadlines, uncertainty and energy use are considered together.]]></summary></entry><entry><title type="html">Some projects I have made public</title><link href="https://ibrahimkhan4real.github.io/2026/08/13/some-public-projects.html" rel="alternate" type="text/html" title="Some projects I have made public" /><published>2026-08-13T00:00:00+01:00</published><updated>2026-08-13T00:00:00+01:00</updated><id>https://ibrahimkhan4real.github.io/2026/08/13/some-public-projects</id><content type="html" xml:base="https://ibrahimkhan4real.github.io/2026/08/13/some-public-projects.html"><![CDATA[<p>I spend a lot of time working on research, but I also like making smaller
projects around the same ideas. They help me test things properly and, most of
the time, they make a difficult idea much easier to understand.
<!--more--></p>

<p>Here are a few projects that I have made public on GitHub. Some are closely
related to my research and some are just useful things I wanted to build.</p>

<div class="public-projects">
  <a class="public-project-card" href="https://github.com/Ibrahimkhan4real/RL_for_HVAC_System" target="_blank" rel="noopener noreferrer">
    <strong>RL for HVAC</strong>
    <span>Teaching a controller to keep a home comfortable while responding to changing energy prices.</span>
    <small>View on GitHub →</small>
  </a>

  <a class="public-project-card" href="https://github.com/Ibrahimkhan4real/Hot_Water_Immersion_System" target="_blank" rel="noopener noreferrer">
    <strong>Hot water control</strong>
    <span>Comparing planning and reinforcement learning for heating water on time while using less energy.</span>
    <small>View on GitHub →</small>
  </a>

  <a class="public-project-card" href="https://github.com/Ibrahimkhan4real/SM_meeting_transcriber" target="_blank" rel="noopener noreferrer">
    <strong>Meeting transcriber</strong>
    <span>A small tool that turns meeting audio into transcripts, notes and action points.</span>
    <small>View on GitHub →</small>
  </a>

  <a class="public-project-card" href="https://github.com/Ibrahimkhan4real/MCTS-Tic-Tac-Toe" target="_blank" rel="noopener noreferrer">
    <strong>MCTS Tic-Tac-Toe</strong>
    <span>A simple game where you can play against an AI that plans its moves using tree search.</span>
    <small>View on GitHub →</small>
  </a>
</div>

<h2 id="what-connects-them">What connects them?</h2>

<p>The energy projects are about making better choices when we do not know exactly
what will happen next. The Tic-Tac-Toe project shows the same planning idea in a
much smaller and more visual problem.</p>

<p>The meeting transcriber is a bit different. I made it because long supervision
meetings can contain a lot of useful details, and it is easy to forget a small
action point afterwards. The tool keeps the audio private during transcription,
then turns it into notes which are easier to use.</p>

<p>I will keep adding to these repos when I have something useful to share. You can
also see the rest of them on <a href="https://github.com/Ibrahimkhan4real?tab=repositories">my GitHub</a>.</p>]]></content><author><name>Muhammad Ibrahim Khan</name></author><summary type="html"><![CDATA[A quick look at a few of my public GitHub projects.]]></summary></entry></feed>