Ошибка "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 и в концепции этого типа графиков, так что это может быть очень простой ошибкой. Любая помощь приветствуется!

Большое спасибо, Рис

0 ответов

Другие вопросы по тегам