Coder Social home page Coder Social logo

mahdi-torabian / d-wave-structural-imbalance-notebook Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dwave-examples/structural-imbalance-notebook

0.0 0.0 0.0 2.04 MB

Analyze the structural imbalance on a signed social network.

License: Apache License 2.0

Python 34.83% Jupyter Notebook 65.17%

d-wave-structural-imbalance-notebook's Introduction

Open in GitHub Codespaces Linux/Mac/Windows build status

Structural Imbalance

This notebook explains the quantum processing unit (QPU) programming model used for calculating structural imbalance in signed social networks, and shows how to implement it.

The notebook has the following sections:

  1. What is Structural Imbalance? defines and explains the structural imbalance problem.
  2. Formulating the Problem shows how such optimization problems can be formulated for solution on a quantum computer.
  3. A Toy Example codes a small structural imbalance problem to demonstrate the solution technique.
  4. A Real-World Example applies the solution to the data sets of the Stanford Militants Mapping Project.

What is Structural Imbalance?

Social networks map relationships between people or organizations onto graphs, with the people/organizations as nodes and relationships as edges; for example, friends form a social network. Signed social networks map both friendly and hostile relationships by assigning to edges either positive or negative values. Such networks are said to be structurally balanced when they can be cleanly divided into two sets, with each set containing only friends, and all relations between these sets are hostile. The measure of structural imbalance or frustration for a signed social network, when it cannot be cleanly divided, is the minimum number of edges that violate the social rule, “the enemy of my friend is my enemy."

Finding a division that minimizes frustration is an NP-hard graph problem (it can be viewed as an expansion of the well-known maximum cut problem). This is an example of a broad class of optimization problems well-suited to solution on D-Wave systems. Other examples include protein folding, traffic flow optimization, job-shop scheduling, and many more.

imbalance

Installation

You can run this example without installation in cloud-based IDEs that support the Development Containers specification (aka "devcontainers").

For development environments that do not support devcontainers, install requirements:

pip install -r requirements.txt

If you are cloning the repo to your local system, working in a virtual environment is recommended.

Usage

Your development environment should be configured to access Leap’s Solvers. You can see information about supported IDEs and authorizing access to your Leap account here.

The notebook can be opened by clicking on the 01-structural-imbalance-overview.ipynb file in VS Code-based IDEs.

To run a locally installed notebook:

jupyter notebook

License

Released under the Apache License 2.0. See LICENSE file.

d-wave-structural-imbalance-notebook's People

Contributors

joelpasvolsky avatar randomir avatar arcondello avatar tleungdwave avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.