Skip to main content

Quantum-enhanced Local Outlier Factor algorithm

Project description

QuantumLOFClassifier (Quantum Local Outlier Factor Classifier)

This package provides a quantum-enhanced version of the Local Outlier Factor (LOF) anomaly detection model, utilizing quantum computing tools such as Qiskit.

📘 Overview

QuantumLOFClassifier is an estimator based on the classical Local Outlier Factor (LOF) method, enhanced with quantum-based k-distance estimation using backends such as simulators or real quantum devices.

Note: Real quantum hardware execution is not yet tested.

  • Quantum circuit execution via Qiskit AerSimulator or IBM Quantum Runtime
  • Classical LOF concepts: k-distance, local reachability density (LRD), and LOF scores
  • Anomaly detection based on a user-defined delta threshold
  • Dual-model architecture: separate classifiers for clean and noisy data

🔍 References

This implementation is inspired by the following paper:

  • Ming-Chao Guo et al., Quantum Algorithm for Unsupervised Anomaly Detection
    • Section II.A: LOF definitions and thresholding (LOF(x) ≥ δ → anomaly)
    • Sections III.A–C: Quantum distance estimation, k-distance, LRD, and LOF calculations

🚀 Example Usage

pip install quantlof
from quantum_lof import QuantumLOFClassifier

clf = QuantumLOFClassifier(
    n_neighbors=20,
    delta=1.5,
    quantum_backend='qiskit_simulator',  # or 'ibm_cairo', etc.
    shots=512,
    random_state=42
)

clf.fit(X_train, y_train)
anomalies = clf.get_anomaly_indices()
y_pred = clf.predict(X_test)
acc_clean, f1_clean, n_clean = clf.score_clean_only(X_test, y_test)

QuantumLOFClassifier – Compliance & Gap Report (vs. Guo 2023)

Last updated: 2025‑06‑04


1  Executive summary (English)

The current QuantumLOFClassifier implementation partially follows the pipeline proposed in Guo et al., “Quantum Algorithm for Unsupervised Anomaly Detection” (arXiv 2304.08710, 2023).

  • What is really quantum?  Only the pair‑wise distance estimation is executed on a quantum backend via a Hadamard‑test circuit.
  • Where does it comply?  It respects Sec. III‑A Eq.(13–17) for turning an inner product into an Euclidean distance, and keeps the LOF formula (Sec. III‑B/C).
  • Where does it diverge?  Every block that yields exponential‐speed‑up in the paper (QRAM, Quantum Minimum Search, Quantum Multiply‑Adder, amplitude estimation–based LOF, Grover‑style anomaly extraction) is replaced by classical code.

Overall, the code is a hybrid proof‑of‑concept rather than a strict end‑to‑end quantum algorithm.


2  Quantum sub‑modules & level of compliance

Paper section Purpose Implemented? Comment
III‑A Eq.(13–14) Amplitude embedding of input vector Partial Uses StatePreparation; cost becomes exponential instead of ≈O(d).
III‑A Fig. 3 Hadamard test for ⟨x|y⟩ Yes Circuit generated with ancilla‑controlled Uy.
III‑A Eq.(15–17) d(x,y)=√(2−2⟨x|y⟩) Yes Exact formula applied.
III‑A Step 1.6–1.7 Quantum Minimum Search (Grover) No Replaced by Python sort.
III‑B Quantum multiply‑adder & average (LRD) No Classical loops.
III‑C Eq.(18) Quantum LOF computation No Classical ratio/mean.
Eq.(2) & (28) Grover anomaly extraction No Classical thresholding.

3  Major divergences & limitations

  1. Absence of QRAM  The paper assumes a QRAM oracle OX; Qiskit/NISQ hardware do not provide this.
  2. Quantum Minimum Search skipped  Sorting is done on CPU, losing the √m quantum speed‑up.
  3. Quantum average / inverse missing  LRD & LOF are computed classically.
  4. High circuit cost for StatePreparation  StatePreparation scales as O(2^n) gates, conflicting with the paper’s low‑depth assumption.
  5. No amplitude‑estimation error control  Theoretical bounds (ε₁,ε₂,ε₃) are not implemented.
  6. Fallback to classical path for n>100  The paper does not define such fallback; added for practicality.

4  Practical recommendations

  • Keep the current design for real datasets; full quantum blocks are unrealistic on today’s hardware.
  • For small toy examples (<4 samples, <4 features) a pedagogical prototype of Quantum Minimum Search could be coded, but will not scale.
  • Document clearly that the library is “quantum‑inspired” with a single quantum subroutine.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quantlof-0.1.4.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quantlof-0.1.4-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file quantlof-0.1.4.tar.gz.

File metadata

  • Download URL: quantlof-0.1.4.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for quantlof-0.1.4.tar.gz
Algorithm Hash digest
SHA256 5c73e1d1cefe71de996929719ddd9dca6ed457564bab4a2ed7428c714976bc85
MD5 e78b9fb032944f16cae6ba126521fcd1
BLAKE2b-256 093545467042b25126576da78cb597dc58cada09d5fa945aca8b9aba57620a42

See more details on using hashes here.

File details

Details for the file quantlof-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: quantlof-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for quantlof-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 509ac51ff0609a97cb3d13da9f9ddc1c192b3abf828fe9b728b24a7667034b28
MD5 8a4a5673bef3f2c0420947c3dcdf4fb9
BLAKE2b-256 13af42b6c577247fdd694d0dec0d29805e4849ae06a80222f0d7443f53de1131

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page