This project is part of the Global AI Hub & Akbank Introduction to Artificial Intelligence with Python Bootcamp. It simulates a metro network and provides two main functionalities:
- Finding the route with the least number of transfers between two stations.
- Finding the fastest route between two stations, considering transfer times.
- Python: The project is implemented in Python.
- Collections Module: Used for creating queues with
deque. - Heapq Module: Used for implementing priority queues in the A* algorithm.
- Purpose: Finds the route with the least number of transfers between two stations.
- How it works:
- Starts from the initial station and explores all neighboring stations level by level.
- Keeps track of visited stations to avoid loops.
- Stops when the target station is found, ensuring the path has the minimum number of transfers.
- Purpose: Finds the fastest route between two stations, considering travel and transfer times.
- How it works:
- Uses a heuristic to estimate the cost to reach the target station.
- Prioritizes paths with lower total travel time.
- Considers transfer penalties when switching metro lines.
- Route with least transfers: AŞTİ -> Kızılay -> Ulus -> Demetevler -> OSB
- Fastest route (24 minutes): AŞTİ -> Kızılay -> Ulus -> Demetevler -> OSB
- Route with least transfers: Batıkent -> Demetevler -> Gar -> Keçiören
- Fastest route (21 minutes): Batıkent -> Demetevler -> Gar -> Keçiören
- Route with least transfers: Keçiören -> Gar -> Sıhhiye -> Kızılay -> AŞTİ
- Fastest route (14 minutes): Keçiören -> Gar -> Sıhhiye -> Kızılay -> AŞTİ
- Visualization: Add a graphical representation of the metro network and routes.
- Real-time Data: Integrate real-time metro schedules and delays.
- User Interface: Develop a user-friendly interface for easier interaction.
- Clone the repository.
- Ensure Python is installed on your system.
- Run the
metro_simulation.pyscript. - Follow the prompts to test different scenarios.
For any questions or further information, please contact the project maintainer.