Giter VIP home page Giter VIP logo

mhs_cpp's Introduction

Jananese/ English

Enumerating Minimal Hitting sets

Summary

Enumerate minimal hitting sets for given inputs.

Usage

$ make
$ ./a.out inputfile

Fileformat

Two types of formats are supported. We prepared two identical inputs with two different styles, input1.dat and input2.dat. The program identifies fileformat automatically.

Bit array style

$ cat input1.dat
01101010
11001010
11000110
00111010

$ ./a.out input1.dat
00000010
00001100
10001000
10100000
01001000
01010000
01100000

Array style

$ cat input2.dat
7 6 4 2
8 7 4 2
8 7 3 2
6 5 4 2

$ ./a.out input2.dat
2
4 3
8 4
8 6
7 4
7 5
7 6

Preparing inputs

We prepare a ruby script gen.rb for input file generator.

$ ruby gen.rb max n num
  • max Maximum length of bit array.
  • n n of max bits are on.
  • num A number of input sets

For example, the following example produces 4 sets of 8-bit arrays in which 3 of 8 bits are set.

$ ruby gen.rb 8 3 4
01101000
10011000
01010001
10010010

Reference

We adopt the reverse search algorithm. But the pruning method is slightly different from the following paper.

mhs_cpp's People

Contributors

kaityo256 avatar

Watchers

 avatar  avatar  avatar

Forkers

dayg-el

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.