- Project Outline
- Objective
- Case Study
- Research Foundation
- Conclusion
- Results
- Project Structure
- Getting Started With The App
- Credits
- Citations
QLand | QArdh is a pioneering project developed during the NYU Quantum Computing Hackathon. The initiative leverages quantum computing technologies to enhance the monitoring and prediction of desertification, a critical environmental issue where fertile lands progressively turn into deserts. Desertification affects two-thirds of the Earth’s land surface and is driven by various factors including human activities and climate change.
The project aims to optimize the process of analyzing and predicting key factors contributing to desertification by using both classical machine learning and quantum computing techniques. This dual approach seeks to improve accuracy and efficiency in predicting future desertification patterns.
Datasets: We utilized datasets based on desertification analysis in Iraq, incorporating insights from previous studies such as the one outlined by Omdena on using machine learning and satellite data for desertification detection. (Source: Omdena Blog).
Machine Learning Implementation: We employed classical machine learning models such as Random Forest (RF) and Support Vector Machines (SVM). These models were tested with two of the four main indicators of desertification:
- Normalized Difference Vegetation Index (NDVI)
- Land Surface Temperature (LST)
In the following diagram, we measure the estimated scaling of the SVM algorithm as the size of the dataset increases, we can confirm a time complexity of O(
We use this time complexity for our job scheduling to determine the resource estimate, which we define as a time slot on a given a machine.
Quantum Job Scheduling Problem:
- Definition: In quantum computing, the job scheduling problem involves the optimal allocation of quantum computation tasks to available quantum resources (qubits, quantum gates) over time. Efficient scheduling is crucial for maximizing the utilization of quantum hardware, which is still a limited resource.
- Application: For this project, we applied the Quantum Approximate Optimization Algorithm (QAOA) to solve quantum job scheduling problems. This approach aims to streamline our computational processes, thereby speeding up the analysis of desertification indicators.
- Implementation: For our Job Shop Scheduling Problem (JSSP), we use several different constraints that allow us to schedule classical statistical models and AI/ML modes in situations which involve supercomputers and GPUs.
- Execute as many jobs as possible in the nearest time over all available machines, ensuring maximum utilization.
- Every job should be executed exactly once over the entire system.
- No intersection of job execution on the same machine and time.
The implementation of a quantum scheduler within distributed machine learning (ML) systems has demonstrated notable efficacy in optimizing task allocation across multiple machines while minimizing execution time. Through the utilization of quantum algorithms such as the Quantum Approximate Optimization Algorithm (QAOA), the scheduler explores expansive solution spaces, seeking optimal task assignments that mitigates resource conflicts to enhance overall system performance.
Moreover, the quantum scheduler exhibits adaptability and responsiveness to dynamic changes in job demands and resource availability, affording the system the capacity to adjust task allocations. This optimization enables the scheduler to maintain efficient resource utilization and throughput, thereby augmenting the efficiency of ML model training and inference processes.
We provide an example result below with 2 machines, 2 time slots and 3 jobs, where all the machines are sucessfully ran at t=0
.
fval=3.0, machine1job1time1=1.0, machine1job1time2=0.0, machine1job2time1=0.0, machine1job2time2=1.0, machine1job3time1=0.0, machine1job3time2=0.0, machine2job1time1=0.0, machine2job1time2=0.0, machine2job2time1=0.0, machine2job2time2=0.0, machine2job3time1=1.0, machine2job3time2=0.0, status=SUCCESS
Mapping it to a table results in the following:
Machine 1 | Machine 2 | |
---|---|---|
Time 1 | Job 1 | Job 3 |
Time 2 | Job 2 | IDLE |
- Background: In examining anthropogenic factors of desertification, our project references research that identifies four critical indicators: NDVI, LST, DGSI (Dryness Greenness Soil Index), and Albedo. However, existing research (e.g., Feng et al., 2022) points out significant challenges in accurate forecasting and prediction using these indicators. (Source: Feng, K., et al., "Monitoring Desertification Using Machine-Learning Techniques with Multiple Indicators Derived from MODIS Images in Mu Us Sandy Land, China", Remote Sensing, 2022, 14(11):2663. DOI).
The QLand||QArdh project is at the forefront of integrating quantum computing with machine learning to tackle the pressing issue of desertification. By refining data analysis and prediction models, this initiative not only contributes to environmental science but also enhances our capability to manage and potentially mitigate one of the most severe ecological challenges of our time.
├── app <- The directly executable code of the scheduler.
├── images <- Holds README images.
├── classical algorithms <- Classical Algorithms used for desertification prediction.
| ├── LST_RF <- Jupyter notebook illustrating the use of RF model over LST index.
| ├── LST_SVM <- Jupyter notebook illustrating the use of SVM model over LST index.
| ├── NDVI_RF <- Jupyter notebook illustrating the use of RF model over NVDI index.
| └── NDVI_SVM <- Jupyter notebook illustrating the use of SVM model over NVDI index.
└────
- Python 3 - Follow instructions to install the latest version of python for your platform in the python docs.
- PIP Dependencies - install dependencies by running the following command in the project directory:
This will install all of the required packages within the requirements.txt file.
$ pip install -r requirements.txt
To run and test the app you need to run main.py
file by executing the following command:
$ python3 app/main.py
then proceed by inputting the requested data (e.g. the NDVI csv file)
Alternatively, you can run the test.py
file by executing the following command:
$ python3 app/test.py
This project was developed to be presented for the Quantum Computing Hackathon at NUYAD for the year 2024.
- Sarah Dweik, Birzeit University
- Mufliha Shake Dawood, Heriot-Watt University
- Megane Demgne, African Leadership College
- Loise Kinuthia, African Leadership University
- Yamen Ghozlan, Philadelphia University
- Jovan Kašćelan, NYUAD
- Jeanne Mukakalisa, African Leadership University
- Ricky Young, Qbraid
- David Morcuende Cantador, QuIC
- Muhammad Kashif, NYUAD
- Desertification Detection using Machine Learning and Satellite Data, Omdena
- Monitoring Desertification Using Machine-Learning Techniques with Multiple Indicators Derived from MODIS Images in Mu Us Sandy Land, China, by Kun Feng, Tao Wang, Shulin Liu, Wenping Kang, Xiang Chen, Zichen Guo and Ying Zhi.
- Quantum Shop Scheduler repository by Marek Subocz on GitHub
- Iraq Chapter Desertification Detection, Omdena Inc on Github.
- Quantum Annealing Implementation of Job-Shop Scheduling, by Davide Venturelli, Dominic J.J. Marchand and Galo Rojo. Cornell University