779 lines
21 KiB
HTML
779 lines
21 KiB
HTML
<!doctype html>
|
|
<!--
|
|
Minimal Mistakes Jekyll Theme 4.27.1 by Michael Rose
|
|
Copyright 2013-2025 Michael Rose - mademistakes.com | @mmistakes
|
|
Free for personal and commercial use under the MIT license
|
|
https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE
|
|
---
|
|
Modified by Steffen Illium 2023 - 2024
|
|
https://steffenillium.de/about
|
|
-->
|
|
|
|
<html lang="en-US" class="no-js">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
|
|
<!-- begin _includes/seo.html --><title>Aquarium MARL Environment — Steffen Illium</title>
|
|
<meta name="description" content="Aquarium: Open-source MARL environment for predator-prey studies.">
|
|
|
|
|
|
<meta name="author" content="Steffen Illium">
|
|
|
|
<meta property="article:author" content="Steffen Illium">
|
|
|
|
|
|
|
|
<meta property="og:type" content="article">
|
|
<meta property="og:locale" content="en_US">
|
|
<meta property="og:site_name" content="Steffen Illium">
|
|
<meta property="og:title" content="Aquarium MARL Environment">
|
|
<meta property="og:url" content="http://localhost:4000/research/aquarium-marl-environment/">
|
|
|
|
|
|
<meta property="og:description" content="Aquarium: Open-source MARL environment for predator-prey studies.">
|
|
|
|
|
|
|
|
<meta property="og:image" content="http://localhost:4000/assets/figures/20_aquarium.png">
|
|
|
|
|
|
|
|
|
|
|
|
<meta property="article:published_time" content="2024-01-13T00:00:00+01:00">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="canonical" href="http://localhost:4000/research/aquarium-marl-environment/">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta name="google-site-verification" content="ZNT7_sXtFdgqBLCPLavTHWcviZRk__BNvClY8I-sFjU" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- end _includes/seo.html -->
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<script>
|
|
document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
|
|
|
|
</script>
|
|
|
|
<!-- For all browsers -->
|
|
<link rel="stylesheet" href="/assets/css/main.css">
|
|
<link rel="preload" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@latest/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
|
|
<noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@latest/css/all.min.css"></noscript>
|
|
<!-- Academicons -->
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css">
|
|
|
|
|
|
|
|
<!-- start custom head snippets -->
|
|
|
|
<!-- insert favicons. use https://realfavicongenerator.net/ -->
|
|
|
|
<!-- end custom head snippets -->
|
|
|
|
</head>
|
|
|
|
<body class="layout--single" dir="ltr">
|
|
<nav class="skip-links">
|
|
<ul>
|
|
<li><a href="#site-nav" class="screen-reader-shortcut">Skip to primary navigation</a></li>
|
|
<li><a href="#main" class="screen-reader-shortcut">Skip to content</a></li>
|
|
<li><a href="#footer" class="screen-reader-shortcut">Skip to footer</a></li>
|
|
</ul>
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="masthead">
|
|
<div class="masthead__inner-wrap">
|
|
<div class="masthead__menu">
|
|
<nav id="site-nav" class="greedy-nav">
|
|
|
|
<a class="site-title" href="/">
|
|
portfolio
|
|
<span class="site-subtitle"></span>
|
|
</a>
|
|
<ul class="visible-links"><li class="masthead__menu-item">
|
|
<a
|
|
href="/publications"
|
|
|
|
|
|
>publications</a>
|
|
</li><li class="masthead__menu-item">
|
|
<a
|
|
href="/research"
|
|
|
|
|
|
>research</a>
|
|
</li><li class="masthead__menu-item">
|
|
<a
|
|
href="/projects"
|
|
|
|
|
|
>projects</a>
|
|
</li><li class="masthead__menu-item">
|
|
<a
|
|
href="/teaching"
|
|
|
|
|
|
>teaching</a>
|
|
</li><li class="masthead__menu-item">
|
|
<a
|
|
href="/about"
|
|
|
|
|
|
>about me</a>
|
|
</li></ul>
|
|
|
|
<button class="greedy-nav__toggle hidden" type="button">
|
|
<span class="visually-hidden">Toggle menu</span>
|
|
<div class="navicon"></div>
|
|
</button>
|
|
<ul class="hidden-links hidden"></ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="initial-content">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div id="main" role="main">
|
|
|
|
<div class="sidebar sticky">
|
|
|
|
|
|
|
|
<div itemscope itemtype="https://schema.org/Person" class="h-card">
|
|
|
|
|
|
<div class="author__avatar">
|
|
<a href="http://localhost:4000/">
|
|
<img src="/assets/images/newshot_2.jpg" alt="Steffen Illium" itemprop="image" class="u-photo">
|
|
</a>
|
|
</div>
|
|
|
|
|
|
<div class="author__content">
|
|
<h3 class="author__name p-name" itemprop="name">
|
|
<a class="u-url" rel="me" href="http://localhost:4000/" itemprop="url">Steffen Illium</a>
|
|
</h3>
|
|
|
|
<div class="author__bio p-note" itemprop="description">
|
|
<p><a href="https://www.mobile.ifi.lmu.de/team/steffen-illium/">PhD. in Comp. Science</a> <br /><a href="/research/">AI Consultant & Researcher</a></p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="author__urls-wrapper">
|
|
<button class="btn btn--inverse">Follow</button>
|
|
<ul class="author__urls social-icons">
|
|
|
|
<li itemprop="homeLocation" itemscope itemtype="https://schema.org/Place">
|
|
<i class="fas fa-fw fa-map-marker-alt" aria-hidden="true"></i> <span itemprop="name" class="p-locality">Augsburg</span>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
<li><a href="https://www.mobile.ifi.lmu.de/team/steffen-illium/" rel="nofollow noopener noreferrer me" itemprop="sameAs"><i class="fas fa-link" aria-hidden="true"></i><span class="label">LMU-Munich</span></a></li>
|
|
|
|
|
|
|
|
<li><a href="https://scholar.google.de/citations?hl=en&pli=1&user=NODAd94AAAAJ" rel="nofollow noopener noreferrer me" itemprop="sameAs"><i class="fab fa-google-scholar" aria-hidden="true"></i><span class="label">Scholar</span></a></li>
|
|
|
|
|
|
|
|
<li><a href="https://arxiv.org/a/illium_s_1.html" rel="nofollow noopener noreferrer me" itemprop="sameAs"><i class="ai ai-arxiv" aria-hidden="true"></i><span class="label">Arxive</span></a></li>
|
|
|
|
|
|
|
|
<li><a href="https://www.researchgate.net/profile/Steffen-Illium" rel="nofollow noopener noreferrer me" itemprop="sameAs"><i class="fab fa-researchgate" aria-hidden="true"></i><span class="label">Researchgate</span></a></li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--
|
|
<li>
|
|
<a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs" rel="nofollow noopener noreferrer me">
|
|
<i class="fas fa-fw" aria-hidden="true"></i> Custom Social Profile Link
|
|
</a>
|
|
</li>
|
|
-->
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<article class="page" itemscope itemtype="https://schema.org/CreativeWork">
|
|
<meta itemprop="headline" content="Aquarium MARL Environment">
|
|
<meta itemprop="description" content="Aquarium: Open-source MARL environment for predator-prey studies.">
|
|
<meta itemprop="datePublished" content="2024-01-13T00:00:00+01:00">
|
|
|
|
|
|
<div class="page__inner-wrap">
|
|
|
|
<header>
|
|
<h1 id="page-title" class="page__title" itemprop="headline">
|
|
<a href="http://localhost:4000/research/aquarium-marl-environment/" itemprop="url">Aquarium MARL Environment
|
|
</a>
|
|
</h1>
|
|
|
|
|
|
<p class="page__meta">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="page__meta-readtime">
|
|
<i class="far fa-clock" aria-hidden="true"></i>
|
|
|
|
1 minute read
|
|
|
|
</span>
|
|
|
|
</p>
|
|
|
|
|
|
</header>
|
|
|
|
<br>
|
|
<section class="page__content" itemprop="text">
|
|
|
|
|
|
<hr>
|
|
<header><h4 class="nav__title"><i class="fas fa-book"></i> Reference</h4></header>
|
|
|
|
<ol class="bibliography"><li><span id="kolle2024aquarium"><span style="font-variant: small-caps">Kölle, M., Erpelding, Y., Ritz, F., Phan, T., Illium, S., and Linnhoff-Popien, C.</span> 2024. Aquarium: A Comprehensive Framework for Exploring Predator-Prey Dynamics through Multi-Agent Reinforcement Learning Algorithms. <i>arXiv preprint arXiv:2401.07056</i>.</span>
|
|
|
|
<div class="publication-actions" style="margin-top: 0.5em;">
|
|
|
|
<a href="/assets/publications/kolle2024aquarium.pdf" style="text-decoration: none;">
|
|
<button class="btn btnId btnPub--action btnPub--pdf-download"
|
|
data-umami-event="PDF Download"
|
|
data-umami-event-bibkey="kolle2024aquarium"
|
|
data-umami-event-slug="aquarium-marl-environment"
|
|
style="outline:none; position:relative; white-space: normal; margin-right: 5px; vertical-align: middle;">
|
|
<i class="fas fa-download"></i> PDF
|
|
</button>
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<button type="button" class="btn btnId btnPub--action btnPub--bibtex-download-direct"
|
|
data-umami-event="BibTeX File Download"
|
|
data-umami-event-bibkey="kolle2024aquarium"
|
|
data-umami-event-slug="aquarium-marl-environment"
|
|
data-bibtex-json='"@article{kolle2024aquarium,\n title = {Aquarium: A Comprehensive Framework for Exploring Predator-Prey Dynamics through Multi-Agent Reinforcement Learning Algorithms},\n author = {Kölle, Michael and Erpelding, Yannick and Ritz, Fabian and Phan, Thomy and Illium, Steffen and Linnhoff-Popien, Claudia},\n journal = {arXiv preprint arXiv:2401.07056},\n year = {2024}\n}\n"'
|
|
data-bibtex-filename='kolle2024aquarium.bib'
|
|
|
|
style="outline:none; position:relative; white-space: normal; margin-right: 5px; vertical-align: middle;">
|
|
<i class="fas fa-download"></i> BibTeX
|
|
</button>
|
|
|
|
<button type="button" class="btn btnId btnPub--action btnPub--bibtex-copy-direct"
|
|
data-umami-event="BibTeX Copy"
|
|
data-umami-event-bibkey="kolle2024aquarium"
|
|
data-umami-event-slug="aquarium-marl-environment"
|
|
data-bibtex-json='"@article{kolle2024aquarium,\n title = {Aquarium: A Comprehensive Framework for Exploring Predator-Prey Dynamics through Multi-Agent Reinforcement Learning Algorithms},\n author = {Kölle, Michael and Erpelding, Yannick and Ritz, Fabian and Phan, Thomy and Illium, Steffen and Linnhoff-Popien, Claudia},\n journal = {arXiv preprint arXiv:2401.07056},\n year = {2024}\n}\n"'
|
|
style="outline:none; position:relative; white-space: normal; vertical-align: middle;">
|
|
<i class="fas fa-clipboard"></i> Copy
|
|
</button>
|
|
|
|
</div></li></ol>
|
|
<hr>
|
|
|
|
|
|
<p><img src="\assets\figures\20_aquarium.png" alt="Diagram illustrating the multi-agent reinforcement learning cycle within the Aquarium environment" style="display:block; width:40%" class="align-right" /></p>
|
|
|
|
<p>The study of complex interactions using Multi-Agent Reinforcement Learning (MARL), particularly <strong>predator-prey dynamics</strong>, often requires specialized simulation environments. To streamline research and avoid redundant development efforts, we introduce <strong>Aquarium</strong>: a versatile, open-source MARL environment specifically designed for investigating predator-prey scenarios and related <strong>emergent behaviors</strong>.</p>
|
|
|
|
<p>Key Features of Aquarium:</p>
|
|
|
|
<ul>
|
|
<li><strong>Framework Integration:</strong> Built upon and seamlessly integrates with the popular <strong>PettingZoo API</strong>, allowing researchers to readily apply existing MARL algorithm implementations (e.g., from Stable-Baselines3, RLlib).</li>
|
|
<li><strong>Physics-Based Movement:</strong> Simulates agent movement on a two-dimensional, continuous plane with edge-wrapping boundaries, incorporating basic physics for more realistic interactions.</li>
|
|
<li><strong>High Customizability:</strong> Offers extensive configuration options for:
|
|
<ul>
|
|
<li><strong>Agent-Environment Interactions:</strong> Observation spaces, action spaces, and reward functions can be tailored to specific research questions.</li>
|
|
<li><strong>Environmental Parameters:</strong> Key dynamics like agent speeds, prey reproduction rates, predator starvation mechanisms, sensor ranges, and more are fully adjustable.</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>Visualization & Recording:</strong> Includes a resource-efficient visualizer and supports video recording of simulation runs, facilitating qualitative analysis and understanding of agent behaviors.</li>
|
|
</ul>
|
|
|
|
<div style="display: flex; align-items: center; justify-content: center;">
|
|
<center>
|
|
<img src="/assets/figures/20_observation_vector.png" alt="Diagram detailing the construction of the observation vector for an agent" style="display:inline-table; width:85%" />
|
|
<figcaption>Construction details of the agent observation vector.</figcaption>
|
|
</center>
|
|
<center>
|
|
<img src="/assets/figures/20_capture_statistics.png" alt="Graphs showing average captures or rewards per prey agent under different training regimes" style="display:inline-table; width:100%" />
|
|
<figcaption>Performance metrics (e.g., average captures/rewards) comparing training strategies.</figcaption>
|
|
</center>
|
|
</div>
|
|
|
|
<p>To demonstrate its capabilities, we conducted preliminary studies using <strong>Proximal Policy Optimization (PPO)</strong> to train multiple prey agents learning to evade a predator within Aquarium. Consistent with findings in existing MARL literature, our results showed that training agents with <strong>individual policies led to suboptimal performance</strong>, whereas utilizing <strong>parameter sharing</strong> among prey agents significantly improved coordination, sample efficiency, and overall evasion success. <a class="citation" href="/publications#kolle2024aquarium">[Kölle et al. 2024]</a></p>
|
|
|
|
|
|
</section>
|
|
|
|
<footer class="page__meta">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="page__taxonomy">
|
|
<strong><i class="fas fa-fw fa-tags" aria-hidden="true"></i> Tags: </strong>
|
|
<span itemprop="keywords">
|
|
|
|
<a href="/tags/complex-systems" class="page__taxonomy-item p-category" rel="tag">complex-systems</a><span class="sep">, </span>
|
|
|
|
<a href="/tags/emergence" class="page__taxonomy-item p-category" rel="tag">emergence</a><span class="sep">, </span>
|
|
|
|
<a href="/tags/marl" class="page__taxonomy-item p-category" rel="tag">MARL</a><span class="sep">, </span>
|
|
|
|
<a href="/tags/multi-agent-reinforcement-learning" class="page__taxonomy-item p-category" rel="tag">multi-agent-reinforcement-learning</a><span class="sep">, </span>
|
|
|
|
<a href="/tags/simulation" class="page__taxonomy-item p-category" rel="tag">simulation</a>
|
|
|
|
</span>
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p class="page__date"><strong><i class="fas fa-fw fa-calendar-alt" aria-hidden="true"></i> Updated:</strong> <time class="dt-published" datetime="2024-01-13T00:00:00+01:00">January 13, 2024</time></p>
|
|
|
|
</footer>
|
|
|
|
|
|
|
|
<!--
|
|
<nav class="pagination">
|
|
|
|
<a href="/projects/server-administration/" class="pagination--pager" title="LMU DevOps Admin">Previous</a>
|
|
|
|
|
|
<a href="/research/mas-emergence-safety/" class="pagination--pager" title="MAS Emergence Safety">Next</a>
|
|
|
|
</nav>
|
|
-->
|
|
|
|
</div>
|
|
|
|
|
|
</article>
|
|
|
|
|
|
|
|
|
|
<div class="page__related">
|
|
|
|
<h2 class="page__related-title">Related posts</h2>
|
|
<div class="grid__wrapper">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="list__item">
|
|
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork"
|
|
|
|
style="display: flex; align-items: flex-start;"
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="archive__item-teaser-list" style="margin-right: 1em; flex-shrink: 0;">
|
|
<img src="/assets/figures/21_coins_teaser.png" alt="" style="display: block;">
|
|
</div>
|
|
|
|
|
|
|
|
<div style="flex-grow: 1;" >
|
|
<h2 class="archive__item-title no_toc" itemprop="headline" style="text-align: left !important;">
|
|
|
|
<a href="/research/mas-emergence-safety/" rel="permalink">MAS Emergence Safety
|
|
</a>
|
|
|
|
</h2>
|
|
|
|
|
|
<p class="page__meta">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="page__meta-readtime">
|
|
<i class="far fa-clock" aria-hidden="true"></i>
|
|
|
|
1 minute read
|
|
|
|
</span>
|
|
|
|
</p>
|
|
|
|
|
|
<p class="archive__item-excerpt" itemprop="description" style="text-align: left;">
|
|
Formalized MAS emergence misalignment; proposed safety mitigation strategies.
|
|
|
|
</p>
|
|
</div>
|
|
</article>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="list__item">
|
|
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork"
|
|
|
|
style="display: flex; align-items: flex-start;"
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="archive__item-teaser-list" style="margin-right: 1em; flex-shrink: 0;">
|
|
<img src="/assets/images/projects/arch.png" alt="" style="display: block;">
|
|
</div>
|
|
|
|
|
|
|
|
<div style="flex-grow: 1;" >
|
|
<h2 class="archive__item-title no_toc" itemprop="headline" style="text-align: left !important;">
|
|
|
|
<a href="/projects/server-administration/" rel="permalink">LMU DevOps Admin
|
|
</a>
|
|
|
|
</h2>
|
|
|
|
|
|
<p class="page__meta">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="page__meta-readtime">
|
|
<i class="far fa-clock" aria-hidden="true"></i>
|
|
|
|
1 minute read
|
|
|
|
</span>
|
|
|
|
</p>
|
|
|
|
|
|
<p class="archive__item-excerpt" itemprop="description" style="text-align: left;">
|
|
Managed LMU chair IT: Kubernetes, CI/CD, automation (2018-2023).
|
|
|
|
</p>
|
|
</div>
|
|
</article>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="list__item">
|
|
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork"
|
|
|
|
style="display: flex; align-items: flex-start;"
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="archive__item-teaser-list" style="margin-right: 1em; flex-shrink: 0;">
|
|
<img src="/assets/figures/19_binary_primates_teaser.jpg" alt="" style="display: block;">
|
|
</div>
|
|
|
|
|
|
|
|
<div style="flex-grow: 1;" >
|
|
<h2 class="archive__item-title no_toc" itemprop="headline" style="text-align: left !important;">
|
|
|
|
<a href="/research/primate-subsegment-sorting/" rel="permalink">Primate Subsegment Sorting
|
|
</a>
|
|
|
|
</h2>
|
|
|
|
|
|
<p class="page__meta">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="page__meta-readtime">
|
|
<i class="far fa-clock" aria-hidden="true"></i>
|
|
|
|
1 minute read
|
|
|
|
</span>
|
|
|
|
</p>
|
|
|
|
|
|
<p class="archive__item-excerpt" itemprop="description" style="text-align: left;">
|
|
Binary subsegment presorting improves noisy primate sound classification.
|
|
|
|
</p>
|
|
</div>
|
|
</article>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="list__item">
|
|
<article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork"
|
|
|
|
style="display: flex; align-items: flex-start;"
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="archive__item-teaser-list" style="margin-right: 1em; flex-shrink: 0;">
|
|
<img src="/assets/figures/18_surprised_soup_teaser.jpg" alt="" style="display: block;">
|
|
</div>
|
|
|
|
|
|
|
|
<div style="flex-grow: 1;" >
|
|
<h2 class="archive__item-title no_toc" itemprop="headline" style="text-align: left !important;">
|
|
|
|
<a href="/research/emergent-social-dynamics/" rel="permalink">Emergent Social Dynamics
|
|
</a>
|
|
|
|
</h2>
|
|
|
|
|
|
<p class="page__meta">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="page__meta-readtime">
|
|
<i class="far fa-clock" aria-hidden="true"></i>
|
|
|
|
1 minute read
|
|
|
|
</span>
|
|
|
|
</p>
|
|
|
|
|
|
<p class="archive__item-excerpt" itemprop="description" style="text-align: left;">
|
|
Artificial chemistry networks develop predictive models via surprise minimization.
|
|
|
|
</p>
|
|
</div>
|
|
</article>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="footer" class="page__footer">
|
|
<footer>
|
|
<!-- start custom footer snippets -->
|
|
|
|
<!-- end custom footer snippets -->
|
|
<div class="page__footer-follow">
|
|
<ul class="social-icons">
|
|
|
|
<li><strong>Contact:</strong></li>
|
|
|
|
|
|
|
|
|
|
|
|
<li><a href="mailto:steffen.illium@ifi.lmu.de" rel="nofollow noopener noreferrer"><i class="fas fa-fw fa-envelope" aria-hidden="true"></i> Email</a></li>
|
|
|
|
|
|
|
|
<li><a href="https://www.linkedin.com/in/steffen-illium/" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-linkedin" aria-hidden="true"></i> LinkedIn</a></li>
|
|
|
|
|
|
|
|
<li><a href="https://gitea.steffenillium.de/steffen" rel="nofollow noopener noreferrer"><i class="fab fa-git-alt" aria-hidden="true"></i> Gitea</a></li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li><a href="/status/" rel="nofollow noopener noreferrer"><img src="https://uptime.steffenillium.de/api/badge/2/status" alt="System Status"></a></li>
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="page__footer-copyright">© 2025 <a href="http://localhost:4000">Steffen Illium</a>. Powered by <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/jekyll-themes/minimal-mistakes/" rel="nofollow">Minimal Mistakes</a>.</div>
|
|
|
|
</footer>
|
|
</div>
|
|
|
|
|
|
|
|
<script src="/assets/js/main.min.js"></script>
|
|
|
|
<script src="/assets/js/custom-bibtex.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|