En théorie des graphes on dit que deux sommets d'un graphe non-orienté sont voisins ou adjacent s'ils sont reliés par une arête. Le voisinage d'un sommet peut désigner l'ensemble de ses sommets voisins ou bien un sous-graphe associé, par exemple le sous-graphe induit. Dans un graphe orienté, on emploie généralement le terme de prédécesseur ou de successeur.
Sommaire
1Définition formelle
1.1Définitions classique
1.2Variantes
2Utilisations
3Notes et références
Définition formelle |
Définitions classique |
Dans un graphe non orienté G=(V,E){displaystyle G=(V,E)}, le voisinage d'un sommet v∈V{displaystyle vin V}, souvent noté NG(v){displaystyle N_{G}(v)} (N pour neighbourhood) peut désigner plusieurs choses :
L'ensemble des sommets voisins : {w:(v,w)∈E}{displaystyle {w:(v,w)in E}}[1]
Les sous-graphe de G{displaystyle G} induit par les sommets précédents, avec ou sans v{displaystyle v} selon les versions.
Variantes |
Dans le cas des graphes orientés on peut aussi définir une notion de voisinage orienté.
Il arrive que l'on considère de voisine à distance k{displaystyle k} d'un sommet, c'est-à-dire tous les sommets séparé de v par moins de k arêtes. C'est le cas notamment en calcul distribué synchrone[2].
Utilisations |
La notion de voisinage est une notion classique de théorie des graphes, elle intervient par exemple pour définir les concepts de coloration, de stable et de couverture par sommets.
Un exemple d'application est la modélisation des réseaux sociaux où le voisinage d'un sommet représente les connaissances d'une personne. Dans ce cadre le voisinage permet de définir le coefficient de clustering.
Notes et références |
↑ Par exemple dans Olivier Fouquet, Théorie des graphes : une brève introduction (avec un biais algébrique assumé), 2012.
↑ Voir par exemple dans David Peleg, Distributed Computing : A Locality-Sensitive Approach, vol. 5, SIAM
1
I am trying to find out how to save and close to an existing workbook using xlwings after writing in it: import xlwings as xw list_of_values = [1, 2, 3] workbook_path = 'abc.xlsx' wb = xw.Book(workbook_path) ws = wb.sheets['sheet1'] ws.range('E35').value = list_of_values wb.save() wb.close() When I get to wb.save(workbook_path) , there is a prompt stating: 'A file named abc.xlsx' already exists in this location. Do you want to replace it?' I want to overwrite the file immediately without the prompt coming up. According to the docs, wb.save() should automatically overwrite (see: https://docs.xlwings.org/en/v0.6.4/api.html). I have also tried wb.save(workbook_path) but the pop-up still appears. Appreciate any help on this please. p.s. - I am basically try...
Ne doit pas être confondu avec freeware, open source ou copyleft. Logo du projet GNU, initiateur du mouvement du logiciel libre. Un logiciel libre est un logiciel dont l'utilisation, l'étude, la modification et la duplication par autrui en vue de sa diffusion sont permises, techniquement et légalement [ 1 ] , ceci afin de garantir certaines libertés induites, dont le contrôle du programme par l'utilisateur et la possibilité de partage entre individus [ 2 ] . Ces droits peuvent être simplement disponibles – cas du domaine public – ou bien établis par une licence, dite « libre », basée sur le droit d'auteur. Les « licences copyleft » garantissent le maintien de ces droits aux utilisateurs même pour les travaux dérivés. Les logiciels libres constituent une alternative à ceux qui ne le sont pas, qualifiés de « propriétaires » ou de « privateurs » [ Note 1 ] . Ces derniers sont alors considérés par une partie de la communauté du logiciel libre comme étant l...
1
1
I'm still learning PostgreSQL. During my testing, I have only been using INSERT statement in either psycopg2 and now asyncpg. I now have the need to UPDATE data in my test database, instead of replacing all of it. I'm currently trying to do a simple replacement test in a testing table, before I move to development table with more data. I want to replace any $1 name that is in CONFLICT with a name that is already in the table users. I'm trying the query code, which is passed to the DB via asyncpg. I keep getting a syntax errors, so I'm a little lost on how to correct these errors. What is the proper syntax for this query? '''INSERT INTO users(name, dob) VALUES($1, $2) ON CONFLICT (name) DO UPDATE "users" SET name = 'TEST' W...