Coder Social home page Coder Social logo

samplingalgorithms's Introduction

SamplingAlgorithms

Configuration sampling algorithms with constraints. Till now, we have collected the following 9 sampling strategies.

1. One-enabled Sampling

One-enabled sampling strategy enables one features at each time and disables the other features with the constraints. For features A, B, C and D we can get 4 samples like that,

[A, !B, !C, !D]
[!A, B, !C, !D]
[!A, !B, C, !D]
[!A, !B, !C, D]

2. One-disabled Sampling

One-disabled sampling strategy disables one features at each time and enables the other features with the constraints. For features A, B, C and D we can get 4 samples like that,

[!A, B, C, D]
[A, !B, C, D]
[A, B, !C, D]
[A, B, C, !D]

3. Most-enabled-disabled Sampling

Most-enabled-disabled collects 2 configurations which either has the most enabled features or has the most disabled features. For features A, B, C and D we can get 2 samples like that,

[!A, !B, !C, !D]
[A, B, C, D]

4. All-one-enabled Sampling

All-one-enabled sampling strategy enables one features at each time and disables the other features with the constraints. Note: All-one-enabled strategy differs from One-enabled strategy that the former collects all valid configurations while the latter only obtains the first satisfied one.

5. All-one-disabled Sampling

All-one-disabled sampling strategy disables one features at each time and enables the other features with the constraints. Note: All-one-enabled strategy differs from One-disabled strategy that the former collects all valid configurations while the latter only obtains the first satisfied one.

6. All-most-enabled-disabled Sampling

All-most-enabled-disabled collects 2 kinds of configurations which either has the most enabled features or has the most disabled features. Note: All-most-enabled-disabled strategy differs from Most-enabled-disabled strategy that the former collects all valid configurations while the latter only obtains the first satisfied one.

7. Random Sampling

Random sampling strategy randomly selects several configurations that satisfied constraints, which can be considered as a robust baseline strategy.

Note: this strategy needs the variable num (configurations to be selected).

8. T-wise Sampling

T-wise sampling strategy generates configurations to cover all the combination among T features. Note: Due to the limitation of computation, we only choose T=1, 2, 3, 4. The dependent tool we used for T-wise algorithm is SPLCAT, which can be found under lib/ directory.

9. Dissimilarity Sampling

Dissimilarity sampling strategy uses evolutionary algorithm to generate an optimal configurations to cover the feature interaction of T-wise strategy. The biggest advantage of Dissimilarity strategy is that it generates configurations in a heuristic way which can avoid the expensive computation in T-wise strategy. The dependent tool we used for Dissimilarity algorithm is PLEDGE, which can be found under lib/ directory.

Note: this strategy needs the variable num (configurations to be selected).

samplingalgorithms's People

Contributors

gu-youngfeng avatar youngguys24 avatar

Stargazers

 avatar  avatar

Watchers

James Cloos avatar

Forkers

youngguys24

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.