Sign In

Communications of the ACM

Research Highlights

Technical Perspective: Tapping the Link between Algorithmic Model Counting and Streaming

two planes of polygon surfaces, illustration

Credit: Getty Images

It is rare and rewarding to connect two vastly different areas of computer science. Fast randomized algorithms in model counting were discovered in the early 1980s, while the area of streaming algorithms did not take off in the theory community until the late 1990s. Only recently were these disparate areas connected in the accompanying paper, where it was observed that the algorithmic techniques developed in the two areas were strikingly similar. This connection has given us exciting streaming algorithms used in database design and in network monitoring, as well as a unified perspective on existing algorithms.

What exactly is model counting? Given a function ϕ, which might be specified as a formula on variables, a circuit, a neural network, among others, we can think of ϕ as a mapping from inputs to TRUE or FALSE. What model counting asks for is the number of inputs that ϕ maps to TRUE; each such input is called a model. From the applications side, various probabilistic inference problems, such as Bayesian net reasoning, can be translated into model counting problems. From the theoretical side, the number of solutions to a hard combinatorial problem often provides further insight into the problem. In general, model counting is what is known as #P-hard, and even checking if there is any input which satisfies ϕ is NP-hard. One is often interested in randomized approximation algorithms that approximate the number of models for a given 9. Obtaining such approximations can sometimes be done efficiently in practice with the aid of fast solvers for the Satisfiability problem (SAT).


No entries found

Log in to Read the Full Article

Sign In

Sign in using your ACM Web Account username and password to access premium content if you are an ACM member, Communications subscriber or Digital Library subscriber.

Need Access?

Please select one of the options below for access to premium content and features.

Create a Web Account

If you are already an ACM member, Communications subscriber, or Digital Library subscriber, please set up a web account to access premium content on this site.

Join the ACM

Become a member to take full advantage of ACM's outstanding computing information resources, networking opportunities, and other benefits.

Subscribe to Communications of the ACM Magazine

Get full access to 50+ years of CACM content and receive the print version of the magazine monthly.

Purchase the Article

Non-members can purchase this article or a copy of the magazine in which it appears.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account