From 91b8abb6d19493256926b88b20ad7be91b8795fb Mon Sep 17 00:00:00 2001 From: Alexandre B A Villares <3694604+villares@users.noreply.github.com> Date: Sat, 8 Aug 2020 11:32:11 -0300 Subject: [PATCH] wip --- 2020/sketch_2020_08_08a/graph.py | 271 ++++++++++++++++++ .../sketch_2020_08_08a/sketch_2020_08_07a.gif | Bin 0 -> 149812 bytes .../sketch_2020_08_08a.pyde | 125 ++++++++ 3 files changed, 396 insertions(+) create mode 100644 2020/sketch_2020_08_08a/graph.py create mode 100644 2020/sketch_2020_08_08a/sketch_2020_08_07a.gif create mode 100644 2020/sketch_2020_08_08a/sketch_2020_08_08a.pyde diff --git a/2020/sketch_2020_08_08a/graph.py b/2020/sketch_2020_08_08a/graph.py new file mode 100644 index 00000000..d17bd483 --- /dev/null +++ b/2020/sketch_2020_08_08a/graph.py @@ -0,0 +1,271 @@ +#*- coding: utf-8 -*- + +""" +A simple Python graph class, demonstrating the essential facts and functionalities of graphs +based on https://www.python-course.eu/graphs_python.php and https://www.python.org/doc/essays/graphs/ +""" + +class Graph(object): + + def __init__(self, graph_dict=None): + """ + Initialize a graph object with dictionary provided, + if none provided, create an empty one. + """ + if graph_dict is None: + graph_dict = {} + self.__graph_dict = graph_dict + + def __len__(self): + return len(self.__graph_dict) + + def __iter__(self): + return iter(self.__graph_dict.keys()) + + def __getitem__(self, i): + return self.__graph_dict[i] + + def vertices(self): + """Return the vertices of graph.""" + return list(self.__graph_dict.keys()) + + def edges(self): + """Return the edges of graph """ + return self.__generate_edges() + + def add_vertex(self, vertex): + """ + If the vertex "vertex" is not in self.__graph_dict, + add key "vertex" with an empty list as a value, + otherwise, do nothing. + """ + if vertex not in self.__graph_dict: + self.__graph_dict[vertex] = [] + + def add_edge(self, edge): + """ + Assuming that edge is of type set, tuple or list; + add edge between vertices. Can add multiple edges! + """ + edge = set(edge) + vertex1 = edge.pop() + if edge: + # not a loop + vertex2 = edge.pop() + if vertex1 in self.__graph_dict: + self.__graph_dict[vertex1].append(vertex2) + else: + self.__graph_dict[vertex1] = [vertex2] + if vertex2 in self.__graph_dict: + self.__graph_dict[vertex2].append(vertex1) + else: + self.__graph_dict[vertex2] = [vertex1] + else: + # a loop + if vertex1 in self.__graph_dict: + self.__graph_dict[vertex1].append(vertex1) + else: + self.__graph_dict[vertex1] = [vertex1] + + + + def __generate_edges(self): + """ + Generate the edges, represented as sets with one + (a loop back to the vertex) or two vertices. + """ + edges = [] + for vertex in self.__graph_dict: + for neighbour in self.__graph_dict[vertex]: + if {neighbour, vertex} not in edges: + edges.append({vertex, neighbour}) + return edges + + def __str__(self): + res = "vertices: " + for k in self.__graph_dict: + res += str(k) + " " + res += "\nedges: " + for edge in self.__generate_edges(): + res += str(edge) + " " + return res + + def find_isolated_vertices(self): + """ + Return a list of isolated vertices. + """ + graph = self.__graph_dict + isolated = [] + for vertex in graph: + print(isolated, vertex) + if not graph[vertex]: + isolated += [vertex] + return isolated + + def find_path(self, start_vertex, end_vertex, path=[]): + """ + Find a path from start_vertex to end_vertex in graph. + """ + graph = self.__graph_dict + path = path + [start_vertex] + if start_vertex == end_vertex: + return path + if start_vertex not in graph: + return None + for vertex in graph[start_vertex]: + if vertex not in path: + extended_path = self.find_path(vertex, + end_vertex, + path) + if extended_path: + return extended_path + return None + + def find_all_paths(self, start_vertex, end_vertex, path=[]): + """ + Find all paths from start_vertex to end_vertex. + """ + graph = self.__graph_dict + path = path + [start_vertex] + if start_vertex == end_vertex: + return [path] + if start_vertex not in graph: + return [] + paths = [] + for vertex in graph[start_vertex]: + if vertex not in path: + extended_paths = self.find_all_paths(vertex, + end_vertex, + path) + for p in extended_paths: + paths.append(p) + return paths + + def is_connected(self, + vertices_encountered=None, + start_vertex=None): + """Find if the graph is connected.""" + if vertices_encountered is None: + vertices_encountered = set() + gdict = self.__graph_dict + vertices = list(gdict.keys()) # "list" necessary in Python 3 + if not start_vertex: + # chosse a vertex from graph as a starting point + start_vertex = vertices[0] + vertices_encountered.add(start_vertex) + if len(vertices_encountered) != len(vertices): + for vertex in gdict[start_vertex]: + if vertex not in vertices_encountered: + if self.is_connected(vertices_encountered, vertex): + return True + else: + return True + return False + + def vertex_degree(self, vertex): + """ + Return the number of edges connecting to a vertex (the number of adjacent vertices). + Loops are counted double, i.e. every occurence of vertex in the list of adjacent vertices. + """ + adj_vertices = self.__graph_dict[vertex] + degree = len(adj_vertices) + adj_vertices.count(vertex) + return degree + + def degree_sequence(self): + """Calculates the degree sequence.""" + seq = [] + for vertex in self.__graph_dict: + seq.append(self.vertex_degree(vertex)) + seq.sort(reverse=True) + return tuple(seq) + + @staticmethod + def is_degree_sequence(sequence): + """ + Return True, if the sequence is a degree sequence (non-increasing), + otherwise return False. + """ + return all(x >= y for x, y in zip(sequence, sequence[1:])) + + def delta(self): + """Find minimum degree of vertices.""" + min = 100000000 + for vertex in self.__graph_dict: + vertex_degree = self.vertex_degree(vertex) + if vertex_degree < min: + min = vertex_degree + return min + + def Delta(self): + """Finde maximum degree of vertices.""" + max = 0 + for vertex in self.__graph_dict: + vertex_degree = self.vertex_degree(vertex) + if vertex_degree > max: + max = vertex_degree + return max + + def density(self): + """Calculate the graph density.""" + g = self.__graph_dict + V = len(g.keys()) + E = len(self.edges()) + return 2.0 * E / (V * (V - 1)) + + def diameter(self): + """Calculates the graph diameter.""" + + v = self.vertices() + pairs = [ + (v[i], + v[j]) for i in range( + len(v)) for j in range( + i + 1, + len(v) - 1)] + smallest_paths = [] + for (s, e) in pairs: + paths = self.find_all_paths(s, e) + smallest = sorted(paths, key=len)[0] + smallest_paths.append(smallest) + + smallest_paths.sort(key=len) + + # longest path is at the end of list, + # i.e. diameter corresponds to the length of this path + diameter = len(smallest_paths[-1]) - 1 + return diameter + + @staticmethod + def erdoes_gallai(dsequence): + """ + Check if Erdoes-Gallai inequality condition is fullfilled. + """ + if sum(dsequence) % 2: + # sum of sequence is odd + return False + if Graph.is_degree_sequence(dsequence): + for k in range(1, len(dsequence) + 1): + left = sum(dsequence[:k]) + right = k * (k - 1) + sum([min(x, k) for x in dsequence[k:]]) + if left > right: + return False + else: + # sequence is increasing + return False + return True + + + # Code by Eryk Kopczyński + def find_shortest_path(self, start, end): + from collections import deque + graph = self.__graph_dict + dist = {start: [start]} + q = deque(start) + while len(q): + at = q.popleft() + for next in graph[at]: + if next not in dist: + #dist[next] = [dist[at], next] + dist[next] = dist[at]+[next] # less efficient but nicer output + q.append(next) + return dist.get(end) diff --git a/2020/sketch_2020_08_08a/sketch_2020_08_07a.gif b/2020/sketch_2020_08_08a/sketch_2020_08_07a.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c22586987062bcacbef5c91968ac39bf4dd5dd8 GIT binary patch literal 149812 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 O=4SZ6^YCvD*Ysb!eehoZ literal 0 HcmV?d00001 diff --git a/2020/sketch_2020_08_08a/sketch_2020_08_08a.pyde b/2020/sketch_2020_08_08a/sketch_2020_08_08a.pyde new file mode 100644 index 00000000..5717fd49 --- /dev/null +++ b/2020/sketch_2020_08_08a/sketch_2020_08_08a.pyde @@ -0,0 +1,125 @@ +from random import choice +from graph import Graph + +MARGIN = 10 + +def setup(): + size(400, 400) + fill(0) + textAlign(CENTER, CENTER) + f = createFont("Source Code Pro Bold", 14) + textFont(f) + setup_graph() + +def setup_graph(): + global graph, grid + graph = random_graph() + grid = setup_grid(graph) + global sel_v + sel_v = select_random_vertex(graph) + global path_walker, t_walker + path_walker = [] + t_walker = 0 + print(graph) + +def draw(): + background(150) + noFill() + stroke(255) + strokeWeight(4) + for e in graph.edges(): + va = e.pop() + xa, ya, za = grid[va] + if len(e) == 1: + vb = e.pop() + xb, yb, zb = grid[vb] + line(xa, ya, xb, yb) + else: + circle(20 + xa, ya, 30) + + + for v in grid.keys(): + x, y, z = grid[v] + fill(255) + circle(x, y, 10) + fill(0) + text(v.upper(), x - 15, y - 3) + + noStroke() + fill(255, 0, 0) + x, y, _ = grid[sel_v] + circle(x, y, 10) + walker() + +def walker(): + global t_walker, path_walker, sel_v + if path_walker: + p = lerpVectors(t_walker, path_walker) + noFill() + stroke(0, 0, 255) + circle(p.x, p.y, 10) + if t_walker < 1: + t_walker += .01 + else: + path_walker = [] + +def setup_grid(graph): + cols, rows = dimensionar_grade(len(graph)) + w, h = (width - MARGIN * 2) / cols, (height - MARGIN * 2) / rows + points = [] + for i in range(cols * rows): + c = i % cols + r = i // rows + x = MARGIN + w * 0.5 + c * w - 20 * (r % 2) + 5 * r + y = MARGIN + h * 0.5 + r * h - 20 * (c % 2) + 5 * c + z = 0 + points.append((x, y, z)) + points = sorted( + points, key=lambda p: dist(p[0], p[1], width / 2, height / 2)) + v_list = reversed(sorted(graph.vertices(), key=graph.vertex_degree)) + # v_list = sorted(graph.vertices(), key=graph.vertex_degree) + grid = {v: p for v, p in zip(v_list, points)} + return grid + +def random_graph(names="abcdefghijklmnop"): + graph = Graph() + for v in names: + graph.add_vertex(v) + if random(100) < 90: + graph.add_edge({v, choice(names)}) + return graph + +def select_random_vertex(graph): + return choice(graph.vertices()) + +def dimensionar_grade(n): + a = int(sqrt(n)) + b = n / a + if a * b < n: + b += 1 + print(u'{}: {} × {} ({})'.format(n, a, b, a * b)) + return a, b + +def keyPressed(): + setup_graph() + # saveFrame('##_sketch_2020_08_04a.png') + +def mousePressed(): + global path_walker, t_walker, sel_v + for v in graph: + x, y, _ = grid[v] + if v != sel_v and dist(x, y, mouseX, mouseY) < 10: + path = graph.find_path(sel_v, v) + if path: + path_walker = [PVector(*grid[pv]) for pv in path] + t_walker = 0 + sel_v = v + +def lerpVectors(amt, vecs): + """ from Jeremy Douglass """ + if len(vecs) == 1: + return vecs[0] + cunit = 1.0 / (len(vecs) - 1) + return PVector.lerp(vecs[floor(amt / cunit)], + vecs[ceil(amt / cunit)], + amt % cunit / cunit)