Question: Hello, can you help me to solve this question with code using Python? Thank you for helping!! Task 2.7: Improve hill-climbing with random restarts When
Hello, can you help me to solve this question with code using Python? Thank you for helping!!



Task 2.7: Improve hill-climbing with random restarts When no "better" neighbouring solutions are present, local search is stuck at a local minima. One way to combat this is to simply repeat local search from random initial states, taking the best performing iteration. Implement hill_climbing_with_random_restarts(cities, distances, repeats) by repeating hill climbing at different random locations. Implementations for heuristic(cities, distances, route) and hil1_climbing(cities, distances) has been provided on Coursemology for this section, but you can redefine it with your own version if you wish. CS Scanned with CamScanner \[ \begin{array}{l} \text { def hil1_climbing_with_random_restarts(cities: int, distances: List[Tuple[int]], repeats: i } \\ r^{\text {m..." }} \\ \text { Hill climbing with random restarts finds the solution to reach the goal from the initia } \end{array} \] Args : cities (int): The number of cities to be visited distances (List[Tuple[int]]): The list of distances between every two cities Each distance is represented as a tuple in the form of (c1, c2, d), where c1 and c2 are the two cities and d is the distance between them. The length of the list should be equal to cities * (cities - 1)/2. repeats (int): The number of times hill climbing to be repeated. The default value is 10. Returns: noute (List[int]): The shortest route, represented by a list of cities in the order to be traversed. route =[] YOUR CODE HERE END YOUR CODE HERE return route CS Scanned with CarnScarnner
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
