Professional Documents
Culture Documents
Regression Python Implementation - Linear Regression
Regression Python Implementation - Linear Regression
Department of Computing
Program: BSCS
1603-2020
BREADTH FIRST SEARCH
Code:
graph ={'Frankfurt': {'Mannheim', 'Wurzburg', 'Kassel'},
'Mannheim': {'Frankfurt', 'Karlsruhe'},
'Karlsruhe': {'Augsburg', 'Mannheim'},
'Augsburg': {'Karlsruhe', 'Munchen'},
'Wurzburg': {'Erfurt', 'Nuremberg','Frankfurt'},
'Erfurt': {'Wurzburg'},
'Nuremberg': {'Wurzburg', 'Stuttgart','Munchen'},
'Munchen': {'Nuremberg', 'Augsburg','Kassel'},
'Kassel': {'Frankfurt', 'Munchen'},
'Stuttgart': {'Nuremberg'}
}
1603-2020
if neighbour not in visited:
visited.append(neighbour)
queue.append(neighbour)
Output:
1603-2020
'Munchen': {'Nuremberg', 'Augsburg','Kassel'},
'Kassel': {'Frankfurt', 'Munchen'},
'Stuttgart': {'Nuremberg'}
}
print(start)
dfs(graph, 'Frankfurt')
OUTPUT:
1603-2020
UNIFORM COST SEARCH
CODE:
import heapq
def uniform_cost_search(graph, start, goal):
frontier = [(0, start)]
came_from = {}
cost_so_far = {start: 0}
while frontier:
current_cost, current_node = heapq.heappop(frontier)
if current_node == goal:
break
1603-2020
if neighbor not in cost_so_far or new_cost < cost_so_far[neighbor]:
cost_so_far[neighbor] = new_cost
priority = new_cost
heapq.heappush(frontier, (priority, neighbor))
came_from[neighbor] = current_node
1603-2020
start_node = 'Frankfurt'
goal_node = 'Munchen'
OUTPUT:
1603-2020
for depth_limit in range(len(graph)):
result = dfs(start, depth_limit)
if result:
return result
graph = {
'Frankfurt': {'Mannheim', 'Wurzburg', 'Kassel'},
'Mannheim': {'Frankfurt', 'Karlsruhe'},
'Karlsruhe': {'Augsburg', 'Mannheim'},
'Augsburg': {'Karlsruhe', 'Munchen'},
'Wurzburg': {'Erfurt', 'Nuremberg', 'Frankfurt'},
'Erfurt': {'Wurzburg'},
'Nuremberg': {'Wurzburg', 'Stuttgart', 'Munchen'},
'Munchen': {'Nuremberg', 'Augsburg', 'Kassel'},
'Kassel': {'Frankfurt', 'Munchen'},
'Stuttgart': {'Nuremberg'}
}
start_node = 'Frankfurt'
goal_node = 'Munchen'
if result:
print("Path found:", result)
else:
1603-2020
print("Path not found.")
OUTPUT:
A* SEARCH
CODE:
from typing import Dict, List, Tuple
def aStarAlgo(start_node: str, stop_node: str, graph: Dict[str, List[Tuple[str, int]]]) ->
List[str]:
open_set = {start_node}
closed_set = set()
g: Dict[str, int] = {start_node: 0}
parents: Dict[str, str] = {start_node: start_node}
f: Dict[str, int] = {start_node: g[start_node] + heuristic(start_node)}
while open_set:
n = min(open_set, key=lambda v: f[v])
if n == stop_node:
1603-2020
path = []
while n != start_node:
path.append(n)
n = parents[n]
path.append(start_node)
path.reverse()
return path
open_set.remove(n)
closed_set.add(n)
return []
def get_neighbors(v: str, graph: Dict[str, List[Tuple[str, int]]]) -> List[Tuple[str, int]]:
return graph.get(v, [])
1603-2020
H_dist = {
'Istanbul': 600,
'Izmir': 750,
'Antalya': 500,
'Adana': 200,
'Rize': 0,
'Ankara': 300,
}
return H_dist.get(n, 0)
if path:
print('Path found:', path)
else:
print('Path does not exist!')
1603-2020
OUTPUT:
HILL CLIMBING
CODE:
def hill_climbing(graph, start, goal):
current_city = start
path = [current_city]
while current_city != goal:
neighbors = graph[current_city]
next_city = None
min_distance = float('inf')
1603-2020
if next_city is not None:
path.append(next_city)
current_city = next_city
else:
break
if current_city == goal:
return path
else:
return None
graph = graph = {
'Frankfurt': {'Mannheim': 85, 'Wurzburg': 217, 'Kassel': 173},
'Mannheim': {'Frankfurt': 85, 'Karlsruhe': 80},
'Karlsruhe': {'Augsburg': 250, 'Mannheim': 80},
'Augsburg': {'Karlsruhe': 250, 'Munchen': 84},
'Wurzburg': {'Erfurt': 186, 'Nuremberg': 103, 'Frankfurt': 217},
'Erfurt': {'Wurzburg': 186},
'Nuremberg': {'Wurzburg': 103, 'Stuttgart': 183, 'Munchen': 167},
'Munchen': {'Nuremberg': 167, 'Augsburg': 84, 'Kassel': 502},
'Kassel': {'Frankfurt': 173, 'Munchen': 502},
'Stuttgart': {'Nuremberg': 183}
}
start_city = 'Frankfurt'
goal_city = 'Munchen'
1603-2020
shortest_path = hill_climbing(graph, start_city, goal_city)
if shortest_path:
print(f'Shortest path from {start_city} to {goal_city}: {shortest_path}')
else:
print(f'No path found from {start_city} to {goal_city}')
OUTPUT:
1603-2020