Boost small-world generator produces parallel edges
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 55/100
Direzione di ricerca
Inizia da include/boost/graph/small_world_generator.hpp, in particolare alle righe 74–76, e traccia il modo in cui il rewiring seleziona il vertice di destinazione. Controlla l’arco esistente prima di accettare una destinazione sottoposta a rewiring, quindi verifica che i grafi small-world generati non contengano archi paralleli, inclusi gli archi al di fuori del vicinato di distanza-k.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The Boost small-world generator as defined in small_world_generator.hpp can produce parallel edges.
The problem lies in lines 74–76:
if (x < prob)
{
vertices_size_type lower = (source + n - k / 2) % n;
vertices_size_type upper = (source + k / 2) % n;
do
{
current.second = rand_vertex_gen(*gen);
} while ((current.second >= lower && current.second <= upper) // <---- L74
|| (upper < lower
&& (current.second >= lower || current.second <= upper)));
}
else
{
current.second = target;
}
While this guarantees that parallel edges cannot be created between neighbouring vertices in range < k, it does not prevent edges being rewired to already rewired edges, i.e. edges outside the distance-k-neighbourhood.
Proposed fix:
Inserting a check à la if not boost::edge(v, w, g).second should solve the issue
- Lingua principale
- C++
- Stelle
- 396
- Fork
- 244
- Merge medio
- 2g 6h
- PR unite (30g)
- 29
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di boostorg/graph
-
Good first issues: start contributing to Boost.Graph hereForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabeginner friendly
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
boostorg/graph#593 · 35 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
algorithm beginner friendly priority: high
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
boostorg/graph#231 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
boostorg/graph#599 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
I maintainer di solito rispondono entro 1 giorno
-
State of warnings in CI `develop`Forse di nuovo libera @Becheler l’ha presa 121 giorni fa e non c’è nessuna pull request aperta. Apertapriority: high warning
boostorg/graph#496 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di boostorg/graph
Issue simili
-
Server-side raycast misses objects with `rotate = true` selection boxes (degrees passed as radians)ApertaUnconfirmed bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
luanti-org/luanti#17624 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
moneymanagerex/moneymanagerex#8564 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 Mezza giornata Idoneità per principianti 72/100
tesseract-robotics/tesseract_nanobind#190 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
telegramdesktop/tdesktop#31409 ·
I maintainer di solito rispondono entro 10 giorni