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.
---

Reply via email to