GitHub user fanzhidongyzby opened a pull request:
https://github.com/apache/flink/pull/3802
Add evenly graph
Thanks for contributing to Apache Flink. Before you open your pull request,
please take the following check list into consideration.
If your changes take all of the items into account, feel free to open your
pull request. For more information and/or questions please refer to the [How To
Contribute guide](http://flink.apache.org/how-to-contribute.html).
In addition to going through the list, please provide a meaningful
description of your changes.
- [x] General
- The pull request references the related JIRA issue ("[FLINK-XXX] Jira
title text")
- The pull request addresses only one issue
- Each commit in the PR has a meaningful commit message (including the
JIRA id)
- [x] Documentation
- Documentation has been added for new functionality
- Old documentation affected by the pull request has been updated
- JavaDoc for public methods has been added
- [x] Tests & Build
- Functionality added by the pull request is covered by tests
- `mvn clean verify` has been executed successfully locally or a Travis
build has passed
EvenlyGraph means every vertex in the graph has the same degree, so the
graph can be treated as evenly due to all the edges in the graph are
distributed evenly. when vertex degree is 0, an empty graph will be generated.
when vertex degree is vertex count - 1, complete graph will be generated.
The core idea is based on the concept of central symmetry. From the view of
any vertex in the graph, the other vertices and edges are the same. So in the
intermediate cases, edges are created from one vertex to the opposite vertex(if
exists) and vertices on both sides of it.
Considering the suggestion proposed by @greghogan , I have implemented
CirculantGraph, and rewrite CompleteGraph and EvenlyGraph with CirculantGraph.
EmptyGraph is not rewrote because @greghogan wants to keep as it is. CycleGraph
is not rewrote because it has been implemented by GridGraph.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/fanzhidongyzby/flink add-evenly-graph
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/3802.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3802
----
commit 8d58ac97da66e1be143ad732173891add3fffa4e
Author: FlorianFan <[email protected]>
Date: 2017-04-27T12:41:53Z
[FLINK-6393] [gelly] Add Evenly Graph Generator to Flink Gelly
commit 1c45d8cc362e06e4c15bb1c21d648de2af95a189
Author: FlorianFan <[email protected]>
Date: 2017-04-30T10:05:56Z
[FLINK-6393] [gelly] Add Circulant Graph Generator to Flink Gelly
commit f78fd99a97e5fcf09914fc5238a2d975d47fc5fa
Author: FlorianFan <[email protected]>
Date: 2017-04-30T10:06:22Z
[FLINK-6393] [gelly] Rewrite implementation of CompleteGraph and
EvenlyGraph with CirculantGraph Generator
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---