Berikut ini adalah pertanyaan dari nazhifchan23 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
![Tentukanlah lintasan terpendek dari A ke O pada graf berikut dengan menggunakan simple hill climbing:](https://id-static.z-dn.net/files/d2c/c09285d98b000cac6b471611b4e35cb2.jpg)
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Jawaban:
Jalur Terpendek: ['A', 'B', 'E', 'H', 'K', 'L', 'O']
Penjelasan:
def hill_climbing(graph, start, goal):
current_node = start
path = [current_node]
visited = set()
while current_node != goal:
neighbors = graph[current_node]
best_distance = float('inf')
best_node = None
for neighbor, distance in neighbors.items():
if distance < best_distance and neighbor not in visited:
best_distance = distance
best_node = neighbor
if best_node is None:
break
visited.add(current_node)
current_node = best_node
path.append(current_node)
return path
# ubah grafik kalo ada yang salah
graph = {
'A': {'B': 20, 'C': 30, 'D': 40},
'B': {'E': 40, 'A': 20},
'C': {'E': 20, 'D': 45},
'D': {'F': 40},
'E': {'F': 55, 'G': 35, 'H': 30},
'F': {'I': 30},
'G': {'H': 35, 'K': 30},
'I': {'H': 40, 'J': 20, 'M': 30},
'M': {'N': 20},
'J': {'K': 40, 'N': 30},
'K': {'L': 40},
'N': {'L': 55, 'O': 55},
'L': {'O': 50},
'H': {'K': 20, 'E': 30, 'G': 35, 'I': 40},
'O': {'L': 50, 'N': 55}
}
start_node = 'A'
goal_node = 'O'
# Menemukan jalur terpendek
shortest_path = hill_climbing(graph, start_node, goal_node)
print("Shortest Path:", shortest_path)
Menurut kode hill_climbing diatas, jawabannya ['A', 'B', 'E', 'H', 'K', 'L', 'O']. Silahkan ubah isi nested dictionary 'graph' kalau merasa datanya kurang akurat.
Semoga dengan pertanyaan yang sudah terjawab oleh itsreihan dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Wed, 16 Aug 23