<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GNN | Hugo Academic CV Theme</title><link>https://example.com/tags/gnn/</link><atom:link href="https://example.com/tags/gnn/index.xml" rel="self" type="application/rss+xml"/><description>GNN</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sat, 14 Jun 2025 00:00:00 +0000</lastBuildDate><image><url>https://example.com/media/icon_hu7729264130191091259.png</url><title>GNN</title><link>https://example.com/tags/gnn/</link></image><item><title>Research Project Planning &amp; AI Experiments Management</title><link>https://example.com/post/project-management/</link><pubDate>Sat, 14 Jun 2025 00:00:00 +0000</pubDate><guid>https://example.com/post/project-management/</guid><description>&lt;p>Effectively manage your &lt;strong>AI-driven research projects&lt;/strong> for smart water networks — from ideation to simulation, paper writing, and presentations.&lt;/p>
&lt;h2 id="ideation-mind-mapping">Ideation (Mind Mapping)&lt;/h2>
&lt;p>Use Hugo Blox&amp;rsquo;s &lt;strong>mindmap&lt;/strong> extension to brainstorm ideas for a new hybrid AI model or grant proposal (e.g. Horizon Europe or Global Water Summit initiative):&lt;/p>
&lt;div class="markmap" style="height: 250px;">
&lt;pre>- AquaTwin+ Project
- Hybrid AI
- GNN
- PINN
- Fuzzy Logic
- SCADA Integration
- Pollution Modelling
- Leak Detection
- DMA Zoning
- Partners
- TUHH
- Hamburg Wasser
- КПІ
- Київводоканал
- Siemens
gantt
dateFormat YYYY-MM-DD
title Hybrid AI for Smart Water Networks
section Setup
Define Objectives :done, 2025-05-01, 5d
Prepare Data :done, 2025-05-06, 5d
section Development
GNN Modeling :active, 2025-05-11, 10d
PINN Integration :2025-05-21, 7d
Pollution Scenarios :2025-05-28, 5d
section Dissemination
Prepare GitHub Repo :2025-06-02, 2d
Global Summit Slides :2025-06-04, 2d
- [x] Import Walkerton EPANET model
- [x] Add base demand &amp; chlorine decay config
- [x] Integrate PINN for unknown pipe zones
- [x] Train GNN on simulated leaks
- [ ] Implement RL agent for tariff control
- [ ] Deploy interactive dashboard (Streamlit/Leaflet)
- [ ] Prepare Horizon Europe proposal PDF&lt;/pre>
&lt;/div></description></item><item><title>Adaptive AI for Smart Water Networks</title><link>https://example.com/post/get-started/</link><pubDate>Wed, 14 May 2025 00:00:00 +0000</pubDate><guid>https://example.com/post/get-started/</guid><description>&lt;p>Welcome to my research blog&lt;/p>
&lt;details class="print:hidden xl:hidden" open>
&lt;summary>Table of Contents&lt;/summary>
&lt;div class="text-sm">
&lt;nav id="TableOfContents">
&lt;ul>
&lt;li>&lt;a href="#vision">Vision&lt;/a>&lt;/li>
&lt;li>&lt;a href="#research-topics">Research Topics&lt;/a>&lt;/li>
&lt;li>&lt;a href="#get-involved">Get Involved&lt;/a>&lt;/li>
&lt;li>&lt;a href="#tools--methods">Tools &amp;amp; Methods&lt;/a>&lt;/li>
&lt;li>&lt;a href="#themes--publishing">Themes &amp;amp; Publishing&lt;/a>&lt;/li>
&lt;li>&lt;a href="#credits">Credits&lt;/a>&lt;/li>
&lt;/ul>
&lt;/nav>
&lt;/div>
&lt;/details>
&lt;h2 id="vision">Vision&lt;/h2>
&lt;p>Water is life. Yet in many regions, aging infrastructure, climate change, and unpredictable consumer behavior challenge our ability to deliver it sustainably.&lt;/p>
&lt;p>My mission is to develop &lt;strong>adaptive AI systems&lt;/strong> that empower utilities, researchers, and communities to:&lt;/p>
&lt;ul>
&lt;li>detect leaks early,&lt;/li>
&lt;li>optimize hydraulic networks,&lt;/li>
&lt;li>model pollution and chlorination dynamics,&lt;/li>
&lt;li>and adapt in real time to behavioral disturbances.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="research-topics">Research Topics&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Hybrid Graph Neural Networks (GNN) + Physics-Informed Neural Networks (PINN)&lt;/strong> for real-time simulation and anomaly detection in water grids&lt;/li>
&lt;li>&lt;strong>Fractal geometry &amp;amp; metaheuristics&lt;/strong> to optimize valve placement and zoning (DMA)&lt;/li>
&lt;li>&lt;strong>SCADA blackout simulation&lt;/strong> using I-PINN + synthetic data&lt;/li>
&lt;li>&lt;strong>Water quality modeling&lt;/strong> including disinfectant decay and pollutant tracking&lt;/li>
&lt;li>&lt;strong>Multi-agent systems with RL&lt;/strong> for tariff-policy simulation and response&lt;/li>
&lt;li>&lt;strong>GeoAI and vector databases&lt;/strong> for smart urban water analytics (Neo4j + PostGIS + SCADA + LangChain)&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="get-involved">Get Involved&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://github.com/Tania526-sudo" target="_blank" rel="noopener">Explore my GitHub projects&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Tania526-sudo/Hybrid-intelligent-systems-integrated-into-GIS" target="_blank" rel="noopener">Read my latest publications&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Tania526-sudo/Water-Summit-Paris/blob/main/Sammit_Paris1.pdf" target="_blank" rel="noopener">Watch my presentation at Global Water Summit 2025&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.linkedin.com/in/tetiana-starovoit-61b246200/" target="_blank" rel="noopener">Follow me on LinkedIn&lt;/a>&lt;/li>
&lt;li>&lt;a href="mailto:starovoyt.tania@lll.kpi.ua">Request a feature or collaboration&lt;/a>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="tools--methods">Tools &amp;amp; Methods&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Python stack&lt;/strong>: PyTorch Geometric, DeepXDE, pymoo, Streamlit, WNTR, epanet-python&lt;/li>
&lt;li>&lt;strong>Databases&lt;/strong>: Neo4j, PostGIS, TimescaleDB, Vector DBs for AI&lt;/li>
&lt;li>&lt;strong>Frameworks&lt;/strong>: Hugo Blox + GitHub Pages&lt;/li>
&lt;li>&lt;strong>Deployment&lt;/strong>: Docker, API-driven services for interactive dashboards&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="themes--publishing">Themes &amp;amp; Publishing&lt;/h2>
&lt;p>This site is powered by &lt;strong>Hugo Blox&lt;/strong>, with fully customizable design and automated publishing. All content is written in &lt;strong>Markdown + YAML&lt;/strong> for transparency and simplicity.&lt;/p>
&lt;hr>
&lt;h2 id="credits">Credits&lt;/h2>
&lt;ul>
&lt;li>This site template is based on &lt;a href="https://hugoblox.com" target="_blank" rel="noopener">Hugo Blox&lt;/a>&lt;/li>
&lt;li>© 2025 Tetiana Starovoit. All rights reserved.&lt;/li>
&lt;li>Released under the MIT License.&lt;/li>
&lt;/ul></description></item><item><title>Adaptive AI for Water Utilities: From SCADA to Digital Twins</title><link>https://example.com/event/example/</link><pubDate>Mon, 12 May 2025 11:30:00 +0000</pubDate><guid>https://example.com/event/example/</guid><description/></item><item><title>Visualizing Smart Water Systems with AI &amp; GIS</title><link>https://example.com/post/data-visualization/</link><pubDate>Wed, 30 Apr 2025 00:00:00 +0000</pubDate><guid>https://example.com/post/data-visualization/</guid><description>&lt;p>In my recent work on &lt;strong>hybrid AI models for water infrastructure&lt;/strong>, I needed ways to effectively explain system behavior, learning outcomes, and detected anomalies. Here are tools I used with &lt;strong>HugoBlox&lt;/strong> to communicate those insights interactively and clearly.&lt;/p>
&lt;h2 id="interactive-charts-with-plotly">Interactive Charts with Plotly&lt;/h2>
&lt;p>I used &lt;a href="https://plot.ly/" target="_blank" rel="noopener">Plotly&lt;/a> for dynamic visualizations of:&lt;/p>
&lt;ul>
&lt;li>Predicted vs actual pressure across nodes&lt;/li>
&lt;li>Leak probability heatmaps over time&lt;/li>
&lt;li>Consumption anomalies from SCADA time series&lt;/li>
&lt;/ul>
&lt;p>Save a Plotly &lt;code>.json&lt;/code> file (e.g., &lt;code>leak-probability.json&lt;/code>) in your page folder and display it like this:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-go" data-lang="go">&lt;span class="line">&lt;span class="cl">&lt;span class="nx">
&lt;div id="chart-724981563" class="chart">&lt;/div>
&lt;script>
async function fetchChartJSON() {
console.debug('Hugo Blox fetching chart JSON...')
const response = await fetch('.\/leak-probability.json');
return await response.json();
}
(function() {
let a = setInterval( function() {
if ( typeof window.Plotly === 'undefined' ) {
console.debug('Plotly not loaded yet...')
return;
}
clearInterval( a );
fetchChartJSON().then(chart => {
console.debug('Plotting chart...')
window.Plotly.newPlot('chart-724981563', chart.data, chart.layout, {responsive: true});
});
}, 500 );
})();
&lt;/script>
&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">graph&lt;/span> &lt;span class="nx">TD&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">A&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">SCADA&lt;/span> &lt;span class="nx">Data&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">--&lt;/span>&lt;span class="p">&amp;gt;&lt;/span> &lt;span class="nf">B&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">GNN&lt;/span> &lt;span class="nx">Inference&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">B&lt;/span> &lt;span class="o">--&lt;/span>&lt;span class="p">&amp;gt;&lt;/span> &lt;span class="nx">C&lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="nx">Leak&lt;/span> &lt;span class="nx">Detected&lt;/span>&lt;span class="err">?&lt;/span>&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">C&lt;/span> &lt;span class="o">--&lt;/span>&lt;span class="p">&amp;gt;|&lt;/span>&lt;span class="nx">Yes&lt;/span>&lt;span class="p">|&lt;/span> &lt;span class="nx">D&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">Trigger&lt;/span> &lt;span class="nx">Alert&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">C&lt;/span> &lt;span class="o">--&lt;/span>&lt;span class="p">&amp;gt;|&lt;/span>&lt;span class="nx">No&lt;/span>&lt;span class="p">|&lt;/span> &lt;span class="nx">E&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">Continue&lt;/span> &lt;span class="nx">Monitoring&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">sequenceDiagram&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">SCADA&lt;/span>&lt;span class="o">-&amp;gt;&amp;gt;&lt;/span>&lt;span class="nx">GNN&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nx">Feed&lt;/span> &lt;span class="nx">pressure&lt;/span> &lt;span class="nx">data&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">GNN&lt;/span>&lt;span class="o">-&amp;gt;&amp;gt;&lt;/span>&lt;span class="nx">PINN&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nx">Pass&lt;/span> &lt;span class="nx">edge&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="nx">node&lt;/span> &lt;span class="nx">outputs&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">PINN&lt;/span>&lt;span class="o">--&amp;gt;&amp;gt;&lt;/span>&lt;span class="nx">SCADA&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nx">Simulated&lt;/span> &lt;span class="nx">parameters&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nx">Note&lt;/span> &lt;span class="nx">right&lt;/span> &lt;span class="nx">of&lt;/span> &lt;span class="nx">PINN&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nx">Feedback&lt;/span> &lt;span class="nx">to&lt;/span> &lt;span class="nx">SCADA&lt;/span> &lt;span class="nx">control&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item></channel></rss>