‘<' не поддерживается между экземплярами 'node' и 'node' priorityqueue python

#python #artificial-intelligence #priority-queue #a-star

#питон #искусственный интеллект #приоритет-очередь #a-star

Вопрос:

Я реализую алгоритм поиска * в Python.

для получения минимального граничного узла я использую класс очереди приоритетов python. часть реализации алгоритма.

кодекс —

 from queue import PriorityQueue



def a_star_search(g_edge, h_value, des):
    path = []

    class node:
        def __init__(self, node_no, prev, actual_cost, total_cost):
            self.node_no = node_no
            self.prev = prev
            self.actual_cost = actual_cost
            self.total_cost = total_cost

    minQ = PriorityQueue()
    new = node(0, None, 0, 10)
    minQ.put(new)
    path.append(0)
    while not minQ.empty():
        NOb = minQ.get()
        if NOb.node_no == des:
            return path

        for list in g_edge:
            for element in list:
                if element[0] == NOb.node_no:
                    prev = NOb.node_no
                    actual_cost = NOb.actual_cost   element[2]

                    for l in h_value:
                        if l[0] == 0:
                            total_cost = NOb.actual_cost   l[1]

                    NObNew = node(element[1], prev, actual_cost, total_cost)
                    minQ.put(NObNew)
                    path.append(NOb.node_no)

 

ошибка произошла в этой строке ->

NObNew = узел(элемент[1], предыдущий, actual_cost, total_cost)

в чем проблема?

Комментарии:

1. Вы абсолютно уверены , что ошибка произошла в этой строке, а не в minQ.put(NObNew) ?

2. да. интерпретатор Google colab поймал это