Ошибка "Import Main" в JavaScript. Работа с графиками и матрицами смежности
Я беру курс Udacity "Введение в теоретическую информатику", в котором рассматриваются алгоритмы, связанные с графами (то есть с вершинами и ребрами).
Как часть курса, мне пришлось написать программу, которая а) проверяет, оставит ли конкретный макет покрытых вершин все вершины либо покрытыми, либо соединенными с покрытой вершиной ребром, и б) пройдет все потенциальные покрытия для заданный график и выведите минимальное количество вершин, которые могут быть покрыты для прохождения теста в (а). Вы можете прочитать больше о проблеме здесь.
Однако, когда я запускаю код, он возвращает несколько странных ошибок, которые я не совсем понимаю.
Мой код:
from itertools import *
def validity_check(cover, graph):
# Your code should go here.
n = len(graph);
covered=[]
for i in range(n):
covered.append(0);
for i in range(n):
if cover[i]:
for j in range(n):
if i != j:
if graph[i][j]:
covered[j]=1;
else:
covered[j]=1;
cov=True;
for i in range(n):
if covered[i]==0:
cov = False;
return cov;
def vertex_cover_naive(input_graph):
n = len(input_graph)
minimum_vertex_cover = n
# loops through all strings of 0s and 1s of length n
for assignment in product([0,1], repeat=n):
# Your code should go here.
# Based on the assignment (a list of 0s and 1s)
# - Check the assignment is valid
# - Calculate the size of assignment
# - Update the minimum_vertex_cover variable if appropriate
tmp=[]
ones=0;
for i in range(n):
tmp.append(assignment[i]);
if assignment[i]==1:
ones=ones+1;
for i in range(n):
if validity_check(tmp, input_graph):
if ones<minimum_vertex_cover:
minimum_vertex_cover=ones;
# End of your code
return minimum_vertex_cover
def test():
graph = [[0, 1, 1, 1, 1],
[1, 0, 0, 0, 1],
[1, 0, 0, 1, 1],
[1, 0, 1, 0, 1],
[1, 1, 1, 1, 0]]
assert vertex_cover_naive(graph)==3
test()
Сообщения об ошибках, которые я получаю:
Traceback (most recent call last):
File "vm_main.py", line 33, in <module>
import main
File "/tmp/vmuser_yecongrrzd/main.py", line 79, in <module>
test()
File "/tmp/vmuser_yecongrrzd/main.py", line 72, in test
assert vertex_cover_naive(graph)==3
AssertionError
Я относительно новичок в JavaScript и в концепции этого типа графиков, так что это может быть очень простой ошибкой. Любая помощь приветствуется!
Большое спасибо, Рис