Giter VIP home page Giter VIP logo

audible-cos's Introduction

Listen to an NP-Complete Problem

The task of finding whether

integrate product of cosines

is true or not, for a corresponding to a set of a's, corresponds to a solution of the number partition problem and therefore is NP-complete [Plaisted]. Therefore, listening to a product of cosines with a frequency scaled by a set of integers corresponds very literally to listening to an NP-complete problem. In this git repo is a generator for number partition problems and the product of cosine problems related to these, and the conversion to sounds.

In the section of the parameter space I've explored, they mostly sound like laundry machines. But they sound like interestingly different laundry machines each time! The mp3 files are some representative examples. The most interesting examples lie close to the critical phase transition of the corresponding number partition problem, as would be expected (that is, when log2(max\_val) ~= problem cardinality).

Requires a few packages which are noted in requirements.txt.

Do ./sound.py --help for all arguments.

If things aren't audible, adjust --vol_adj to try to make them audible.

Adjusting --linspace_stop, which scales the whole sound by pitch, also has interesting effects.

I took a script for turning wav to mp3's from here.

[Plaisted] Plaisted, David A. "Some polynomial and integer divisibility problems are NP-hard." 17th Annual Symposium on Foundations of Computer Science (sfcs 1976). IEEE, 1976.

audible-cos's People

Contributors

howonlee avatar

Watchers

 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.