Skip to content

algorithms-with-predictions/algorithms-with-predictions.github.io

Repository files navigation

Algorithms with Predictions (ALPS)

Build Status Website License: MIT

A comprehensive, community-driven resource for research on Algorithms with Predictions - maintaining an overview of the current state of research and collecting links to relevant materials to help researchers navigate this rapidly growing field.

Mission

The idea of this project is to maintain an overview over the current state of research on Algorithms with Predictions and collect links to further relevant material. This should especially help new researchers in this field to orient faster, but we also try to keep track over and cluster the large amount of results and publications in this field.

How to Contribute in General

The sources and data for this webpage are available on GitHub. It uses Vite + React 18 to build a static site and is hosted via GitHub Pages.

Everyone is very welcome to contribute:

  • Maintain paper references, e.g. adding, updating and labeling references (see papers/ directory and syntax below)
  • Add and edit further material. Key Markdown sources live in public/content/:
    • public/content/material.md (Material page)
    • public/content/about.md (About page)
    • public/content/contribute.md (Contribute page)
  • Improve layout or design, add new features.

Most contributions can be done via Pull Requests directly in the repository. For more involved suggestions or discussions, feel free to contact us ([email protected]).

Adding and Editing Paper References

Paper entries are based on YAML files, which are located in the directory papers/.

As an example, this is the data file for the caching paper by Lykouris and Vassilvitskii (LykourisV18competitive.yml):

title: Competitive Caching with Machine Learned Advice
authors: Lykouris, Vassilvitskii
publications:
  - name: ICML
    year: 2018
    url: http://proceedings.mlr.press/v80/lykouris18a/lykouris18a.pdf
  - name: arXiv
    year: 2018
    month: 1 # optional
    day: 4 # optional
    url: https://arxiv.org/pdf/1802.05399.pdf
  - name: J. ACM
    year: 2021
    url: https://dl.acm.org/doi/10.1145/3447579
labels:
  - online
  - caching/paging

If you want to add or change the entry of a paper, you can either add/edit the file via a Pull Request or send us the file via e-mail. In case you want to add a paper, please try to find a unique filename (as in the example above; but there are no strict conventions).

Automated Publication Fetching

It is also possible to only add the title and labels of a paper:

title: Competitive Caching with Machine Learned Advice
labels:
  - online
  - caching/paging

We use an automated procedure to fetch the authors last names and all publications which have an (almost) matching title from DBLP and arXiv. In this example, all three publications of this paper can be added automatically.

Local Development

Prerequisites: Node.js >= 18 and npm >= 8.

First, clone this repository and install dependencies via npm:

npm install

Then start the development server:

npm run dev

The site will be available at http://localhost:3000.

🛠️ Technology Stack

  • Build Tool: Vite 5
  • Framework: React 18
  • UI Library: Material-UI (MUI) v5
  • Styling: Emotion
  • Content: Markdown files in public/content/*.md
  • Data Processing: Node.js scripts for YAML and JSON generation (scripts/)
  • Code Quality: ESLint, Prettier, Husky for git hooks
  • CI/CD: GitHub Actions for automated testing and deployment
  • Hosting: GitHub Pages with automated deployments

📊 Project Scripts

npm run dev             # Compose data and start Vite dev server
npm run start           # Alias for dev
npm run build           # Compose data and build production site
npm run preview         # Preview the built site locally
npm run format          # Format code with Prettier
npm run format:check    # Check formatting without writing
npm run lint            # Run ESLint checks
npm run lint:fix        # Fix lint issues automatically
npm run type-check      # Run TypeScript type checks
npm run clean           # Clean build cache (dist and Vite cache)
npm run clean:all       # Remove dist, node_modules, and lockfile
npm run update-data     # Update paper metadata from external sources
npm run deploy          # Deploy to GitHub Pages (branch: deploy)

🤝 Contributing

We welcome contributions from the community! See our How to Contribute page for detailed guidelines.

About

Overview website for research on Algorithms with Predictions (ALPS)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 37