Hello,

I think that your ideas are good.
Note that I will unfortunately not have time to help proof reading proposals 
(currently involved in several committees).

Sincerely,
David.

> Le 27 mars 2025 à 15:31, Ziad Tarek <ziad20037...@gmail.com> a écrit :
> 
> Hello David,
> 
> Thank you for your response.
> 
> Enumeration of Simple Cycles:
> I reviewed the already implemented all_simple_cycles for directed graphs. I 
> see that it uses a concept similar to Johnson's algorithm by obtaining 
> strongly connected components (SCCs) and then using a BFS to enumerate cycles 
> starting at the same vertex, along with a heap to store cycles from different 
> starting vertices. This ensures that the shortest cycles are yielded first.
> 
> I believe we can extend this approach to support either undirected graphs or 
> weighted graphs. For undirected graphs, we can use biconnected components to 
> achieve a similar division as SCCs in directed graphs. For weighted graphs, 
> instead of using a BFS, we can adopt a Dijkstra-like method by storing the 
> cycle weight and sorting on it, which ensures that cycles with smaller 
> weights are extracted first.
> 
> I also saw the suggestion of making an interface to networkX implemented 
> method, but the current method does not support weighted graphs. I am still 
> searching for more recent and efficient solutions for enumerating cycles in 
> increasing order of weight.
> 
> K Shortest Simple Paths:
> I have read the attached paper and reviewed the current implemented methods. 
> I saw that two currently implemented algorithms are Yen’s algorithm and the 
> Feng (node classification). The shortest_simple_paths method uses Yen’s 
> algorithm for undirected graphs and Feng’s for directed graphs.
> 
> What I propose is implementing PNC (Postponed Node-Classification) and PSB 
> (Parsimonious Sidetracks-Based) methods and deciding which to use based on 
> certain thresholds (perhaps the average degree of nodes and the graph 
> diameter) and some analysis to determine which is optimal, such as when the 
> graph resembles a complex network.
> 
> These are the current approaches I am considering. Any feedback or 
> suggestions would be greatly appreciated.
> 
> I am currently drafting a proposal. Would you be able to look over my 
> proposal and provide feedback, and if so where should I send it?
> 
> Best regards,
> Ziad
> 
> On Sunday, March 23, 2025 at 12:44:10 PM UTC+2 david....@inria.fr wrote:
>> Thank you for your interest in this project and your first contributions to 
>> Sagemath.
>> 
>> Recall that the short description gives ideas for the project and you, the 
>> potential contributor, are expected to turn the ideas into a full proposal.
>> 
>> For algorithms, you can read for instance recent papers on the k shortest 
>> simple paths like
>> - https://dl.acm.org/doi/pdf/10.1145/3626567  and references there in
>> - https://link.springer.com/article/10.1007/s12532-025-00276-0 
>> 
>> Sincerely,
>> David.
>> 
>> On Saturday, March 22, 2025 at 10:20:24 PM UTC+1 Ziad Tarek wrote:
>>> Hello everyone,
>>> 
>>> I hope you are doing well.
>>> 
>>> My name is Ziad, and I am interested in the Paths and Cycles Enumeration 
>>> Methods in Graphs project for GSOC 2025.
>>> 
>>> I have successfully built Sage from the source code and have started 
>>> working on some issues (PR #39754 
>>> <https://github.com/sagemath/sage/pull/39754>). While working on this, I 
>>> also discovered a bug and opened a corresponding issue (#39756 
>>> <https://github.com/sagemath/sage/issues/39756>), and I am currently 
>>> working on a solution.
>>> 
>>> I am actively familiarizing myself with the SageMath source code and hope 
>>> to contribute more. I find the project fascinating and would appreciate any 
>>> guidance you could provide to help me prepare better for GSOC.
>>> 
>>> Thank you for your time!
>>> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sage-gsoc" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sage-gsoc+unsubscr...@googlegroups.com 
> <mailto:sage-gsoc+unsubscr...@googlegroups.com>.
> To view this discussion visit 
> https://groups.google.com/d/msgid/sage-gsoc/b9c1c582-27c6-4518-a00f-37ec962473d8n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/sage-gsoc/b9c1c582-27c6-4518-a00f-37ec962473d8n%40googlegroups.com?utm_medium=email&utm_source=footer>.

——
David Coudert
Equipe-Projet COATI
Centre Inria d’Université Côte d'Azur
Université Côte d’Azur, Inria, CNRS, I3S, France
http://www-sop.inria.fr/members/David.Coudert/


-- 
You received this message because you are subscribed to the Google Groups 
"sage-gsoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-gsoc+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sage-gsoc/551BF2E2-FE91-480F-8B02-896F0403D412%40inria.fr.

Reply via email to