Algorithms for Propositional Model Enumeration and Counting

Total Page:16

File Type:pdf, Size:1020Kb

Algorithms for Propositional Model Enumeration and Counting Algorithms for Propositional Model Enumeration and Counting A. Morgado and J. Marques-Silva Technical Report RT/039/05-CDIL February 2005 Software Algorithms and Tools for constraint solving - SAT Instituto de Engenharia de Sistemas e Computadores, Investiga¸c~ao e Desenvolvimento, Lisboa 2 Abstract A large number of practical applications rely on effective algorithms for propositional model enumeration and counting. Examples include knowledge compilation, model checking and hy- brid solvers. Besides practical applications, the problem of counting propositional models is of key relevancy in computational complexity. In recent years a number of algorithms have been proposed for propositional model counting and enumeration. However, the algorithms for model counting and model enumeration have been developed in different contexts, and so are based on fairly different techniques. This paper surveys algorithms for both model enumeration and model counting, proposes optimizations to model enumeration algorithms, and addresses open topics in model counting. Experimental results, obtained on practical and representative problem instances, indicate that the proposed techniques are effective for model enumeration. 1 Introduction Propositional model counting has several applications in artificial intelligence, including Bayesian belief networks, knowledge compilation and truth maintenance [21, 7]. Propositional model enumer- ation also has several applications, including model checking [18, 13, 12] and hybrid solvers [1]. In recent years a number of algorithms have been proposed, for model counting [5, 3, 2, 22], but also for model enumeration [18, 6, 13, 23, 15, 20, 12]. Interestingly, the algorithms for model counting and model enumeration have been proposed in different contexts, and so utilize fairly different tech- niques. For model counting, existing techniques include connected components [3], conflict clause learning [3, 22] and component caching [2, 22]. In contrast, algorithms for model enumeration (most often in the context of model checking) have mostly utilized techniques based on clause learning, namely conflict clause learning and blocking clause learning. Blocking clauses can be viewed as an instantiation of good learning, a technique suggested (but not implemented or detailed) by Bayardo and Pehoushek in [3]. It is also interesting to observe that model enumeration algorithms are of- ten allowed to produce repeated models, whereas model counting algorithms must necessarily avoid repeated models. This paper reviews algorithms for model counting and for model enumeration, addresses limita- tions of current model enumeration algorithms, and proposes new algorithms for model enumeration. The new algorithms improve the identification of blocking clauses. In addition, the paper shows how to utilize blocking clauses (or goods) in model counting algorithms. The paper is organized as follows. The next section introduces basic notation, provides a brief perspective on SAT solvers, and briefly surveys algorithms for model enumeration and for model counting. Afterwards, Section 3 addresses clause learning, and its utilizations in model enumeration and counting algorithms. Section 4 proposes techniques for simplifying satisfying assignments, with direct application in model enumeration and counting. Experimental results, evaluating the practical usefulness of the proposed techniques, are provided in Section 5. Finally, Section 6 concludes the paper. 1 2 Preliminaries A Conjunctive Normal Form (CNF) formula ' is defined over a finite set of variables X = fx1; x2; : : : ; xng. A CNF formula ' consists of a conjunction of clauses, where each clause ! is a disjunction of literals, and where each literal l is either a variable xi or its complement :xi. Where appropriate a CNF formula ' can be viewed as a set of clauses and each clause ! can be viewed as a set of literals. An assignment A is a function from X to f0; u; 1g, where u represents an unspecified (or don't care) value, with 0 ≤ u ≤ 1. An assignment A is said to be complete if 8xi2X A(xi) 2 f0; 1g; otherwise it is partial. Where appropriate an assignment A can be viewed as a set of pairs (xi; vi), A = f(x1; v1); : : : ; (xn; vn)g, where vi = A(xi) 2 f0; u; 1g denotes the value assigned to xi 2 X. In general, A = AU [ AS, where AU denotes the unspecified variable assignments, of the form (xi; u), and AS denotes the specified variable assignments, of the form (xi; vi), vi 2 f0; 1g. Moreover, AS = AD [ AI , where AD denotes the variable assignments declared as decision assignments by the SAT solver, and AI denotes the variable assignments implied by unit propagation. For modern SAT solvers, AD denotes the assigned variables that have no antecedent, and AI denotes the assigned variables that have an antecedent [17]. Given an assignment A, the value of a CNF formula ', 'jA is defined as follows: • The value of a literal ljA is given by A(xi) if l = xi and is given by 1 − A(xi) if l = :xi. • The value of a clause !, !jA, is given by maxl2! ljA. A clause ! 2 ' is said to be satisfied if !jA = 1 and unsatisfied if !jA = 0; otherwise it is said to be undecided. • The value of a CNF formula ', 'jA, is given by min!2' !jA. A formula ' is said to be satisfied if 'jA = 1 and unsatisfied if if 'jA = 0; otherwise it is said to be undecided. An assignment A such that 'jA = 1 is said to be a satisfying assignment. 0 An assignment A is said to be covered by an assignment A if for every xi 2 X, with A(xi) 2 f0; 1g, 0 0 0 we have A (xi) 2 f0; 1g. Hence, A is covered by A provided A contains at least the specified assignments of A. Two assignments A and A0 are said to intersect if either A covers A0 or A0 covers A. Finally, a model of a CNF formula ' is a complete assignment A such that 'jA = 1. 2.1 Boolean Satisfiability Solvers The evolution of Boolean Satisfiability (SAT) solvers over the last decade [17, 19, 10] has mo- tivated the widespread use of SAT solvers in practical applications. For real-world instances the most effective SAT solvers are based on backtrack search [8] and share a number of key techniques, including: • Unit propagation, also referred as Boolean constraint propagation, that consists of the identi- fication of implied variable assignments [9]. 2 Algorithm 1 Basic Model Counting Algorithm [5] function CountModels('; A; n) UnitPropagate('; A) if () 2 ' then return 0 end if if ' == ; then return 2n−|Aj end if (xi; vi) =SelectBranchVariable(') (lp; ln) = (vi == 1) ? (xi; :xi) : (:xi; xi) c1 = CountModels(' [ f(lp)g; A [ f(xi; vi)g; n − 1) c2 = CountModels(' [ f(ln)g; A [ f(xi; 1 − vi)g; n − 1) return c1 + c2 end function • Clause learning, consisting of learning new clauses in presence of conflicts during the execution of backtrack search. A few techniques related with clause learning are the utilization of unique implication points (UIPs) [17], and non-chronological backtracking [17]. • Efficient and lazy data structures [19]. • Adaptive branching heuristic, usually derived from the VSIDS heuristic [19]. • Utilization of search restarts [11]. 2.2 Model Counting and Enumeration The most effective model counting algorithms are based on the Davis-Logemann-Loveland (DLL) procedure [8]. Other algorithms have been proposed (see [16] for a survey), but are in general impractical. The first DLL-based algorithm for model counting was proposed by Birnbaum and Lozinskii [5]. This algorithm corresponds to an implementation of the standard DLL algorithm, but the algorithm is modified to count identified models. The organization of the algorithm is shown in Algorithm 1. Bayardo and Pehoushek [3] improved the algorithm of [5] by exploiting the existence of connected components in CNF formulas and by the utilization of an improved SAT solver [4]. More recently, Bacchus et al [2]. and Sang et al. [22] proposed the utilization of the techniques used in [3], namely connected components and clause learning, as well as component caching. Besides the work on model counting, a number of authors have addressed model enumeration techniques [18, 6, 13, 23, 15, 20, 12]. Whereas in algorithms for model counting, the accuracy of counting is paramount, in algorithms for model enumeration the objective is to identify a small num- ber of partial assignments that cover all models of the original formula, even though some models may 3 Algorithm 2 Basic Model Enumeration Algorithm function EnumerateModels('; A) UnitPropagate('; A) if () 2 ' then return False end if if ' == ; then A0 =MinimizePartialAssignment(A) Save(A0) BlockPartialAssignment(A0) . Eliminate assignments that intersect A0 return True end if (xi; vi) = SelectBranchVariable(') (lp; ln) = (vi == 1) ? (xi; :xi) : (:xi; xi) s1 = EnumerateModels(' [ f(lp)g; A [ f(xi; vi)g) s2 = EnumerateModels(' [ f(ln)g; A [ f(xi; 1 − vi)g) return s1 _ s2 end function be covered by more than one partial assignment. Hence, the work on model enumeration has focused on techniques for reducing the size of computed satisfying partial assignments. The organization of a model enumeration algorithm is illustrated in Algorithm 2. Observe that most model enumeration algorithms assume a Boolean circuit, and often the enumerated partial assignments are expressed in terms of primary inputs and state variables [18, 6, 13, 23, 15, 20, 12]. Moreover, the process of blocking the enumeration of satisfying partial assignments that intersect A0 usually involves creating a new clause. Finally observe that the most effective techniques used in model counting, connected compo- nents [3] and component caching [22], are not readily applicable in model enumeration. The utiliza- tion of connected components allows multiplying the number of solutions in different components. For model enumeration, one must actually enumerate the products of the models for the different components. The same holds true for component caching. As a result, the remainder of the paper addresses techniques that can be readily used in model enumeration.
Recommended publications
  • Section 4.2 Counting
    Section 4.2 Counting CS 130 – Discrete Structures Counting: Multiplication Principle • The idea is to find out how many members are present in a finite set • Multiplication Principle: If there are n possible outcomes for a first event and m possible outcomes for a second event, then there are n*m possible outcomes for the sequence of two events. • From the multiplication principle, it follows that for 2 sets A and B, |A x B| = |A|x|B| – A x B consists of all ordered pairs with first component from A and second component from B CS 130 – Discrete Structures 27 Examples • How many four digit number can there be if repetitions of numbers is allowed? • And if repetition of numbers is not allowed? • If a man has 4 suits, 8 shirts and 5 ties, how many outfits can he put together? CS 130 – Discrete Structures 28 Counting: Addition Principle • Addition Principle: If A and B are disjoint events with n and m outcomes, respectively, then the total number of possible outcomes for event “A or B” is n+m • If A and B are disjoint sets, then |A B| = |A| + |B| using the addition principle • Example: A customer wants to purchase a vehicle from a dealer. The dealer has 23 autos and 14 trucks in stock. How many selections does the customer have? CS 130 – Discrete Structures 29 More On Addition Principle • If A and B are disjoint sets, then |A B| = |A| + |B| • Prove that if A and B are finite sets then |A-B| = |A| - |A B| and |A-B| = |A| - |B| if B A (A-B) (A B) = (A B) (A B) = A (B B) = A U = A Also, A-B and A B are disjoint sets, therefore using the addition principle, |A| = | (A-B) (A B) | = |A-B| + |A B| Hence, |A-B| = |A| - |A B| If B A, then A B = B Hence, |A-B| = |A| - |B| CS 130 – Discrete Structures 30 Using Principles Together • How many four-digit numbers begin with a 4 or a 5 • How many three-digit integers (numbers between 100 and 999 inclusive) are even? • Suppose the last four digit of a telephone number must include at least one repeated digit.
    [Show full text]
  • 180: Counting Techniques
    180: Counting Techniques In the following exercise we demonstrate the use of a few fundamental counting principles, namely the addition, multiplication, complementary, and inclusion-exclusion principles. While none of the principles are particular complicated in their own right, it does take some practice to become familiar with them, and recognise when they are applicable. I have attempted to indicate where alternate approaches are possible (and reasonable). Problem: Assume n ≥ 2 and m ≥ 1. Count the number of functions f :[n] ! [m] (i) in total. (ii) such that f(1) = 1 or f(2) = 1. (iii) with minx2[n] f(x) ≤ 5. (iv) such that f(1) ≥ f(2). (v) that are strictly increasing; that is, whenever x < y, f(x) < f(y). (vi) that are one-to-one (injective). (vii) that are onto (surjective). (viii) that are bijections. (ix) such that f(x) + f(y) is even for every x; y 2 [n]. (x) with maxx2[n] f(x) = minx2[n] f(x) + 1. Solution: (i) A function f :[n] ! [m] assigns for every integer 1 ≤ x ≤ n an integer 1 ≤ f(x) ≤ m. For each integer x, we have m options. As we make n such choices (independently), the total number of functions is m × m × : : : m = mn. (ii) (We assume n ≥ 2.) Let A1 be the set of functions with f(1) = 1, and A2 the set of functions with f(2) = 1. Then A1 [ A2 represents those functions with f(1) = 1 or f(2) = 1, which is precisely what we need to count. We have jA1 [ A2j = jA1j + jA2j − jA1 \ A2j.
    [Show full text]
  • Studies on Enumeration of Acyclic Substructures in Graphs and Hypergraphs (グラフや超グラフに含まれる非巡回部分構造の列挙に関する研究)
    CORE Metadata, citation and similar papers at core.ac.uk Provided by Hokkaido University Collection of Scholarly and Academic Papers Studies on Enumeration of Acyclic Substructures in Graphs and Hypergraphs (グラフや超グラフに含まれる非巡回部分構造の列挙に関する研究) Kunihiro Wasa February 2016 Division of Computer Science Graduate School of Information Science and Technology Hokkaido University Abstract Recently, due to the improvement of the performance of computers, we can easily ob- tain a vast amount of data defined by graphs or hypergraphs. However, it is difficult to look over all the data by mortal powers. Moreover, it is impossible for us to extract useful knowledge or regularities hidden in the data. Thus, we address to overcome this situation by using computational techniques such as data mining and machine learning for the data. However, we still confront a matter that needs to be dealt with the expo- nentially many substructures in input data. That is, we have to consider the following problem: given an input graph or hypergraph and a constraint, output all substruc- tures belonging to the input and satisfying the constraint without duplicates. In this thesis, we focus on this kind of problems and address to develop efficient enumeration algorithms for them. Since 1950's, substructure enumeration problems are widely studied. In 1975, Read and Tarjan proposed enumeration algorithms that list spanning trees, paths, and cycles for evaluating the electrical networks and studying program flow. Moreover, due to the demands from application area, enumeration algorithms for cliques, subtrees, and subpaths are applied to data mining and machine learning. In addition, enumeration problems have been focused on due to not only the viewpoint of application but also of the theoretical interest.
    [Show full text]
  • UNIT 1: Counting and Cardinality
    Grade: K Unit Number: 1 Unit Name: Counting and Cardinality Instructional Days: 40 days EVERGREEN SCHOOL K DISTRICT GRADE Unit 1 Unit 2 Unit 3 Unit 4 Unit 5 Unit 6 Counting Operations Geometry Measurement Numbers & Algebraic Thinking and and Data Operations in Cardinality Base 10 8 weeks 4 weeks 8 weeks 3 weeks 4 weeks 5 weeks UNIT 1: Counting and Cardinality Dear Colleagues, Enclosed is a unit that addresses all of the Common Core Counting and Cardinality standards for Kindergarten. We took the time to analyze, group and organize them into a logical learning sequence. Thank you for entrusting us with the task of designing a rich learning experience for all students, and we hope to improve the unit as you pilot it and make it your own. Sincerely, Grade K Math Unit Design Team CRITICAL THINKING COLLABORATION COMMUNICATION CREATIVITY Evergreen School District 1 MATH Curriculum Map aligned to the California Common Core State Standards 7/29/14 Grade: K Unit Number: 1 Unit Name: Counting and Cardinality Instructional Days: 40 days UNIT 1 TABLE OF CONTENTS Overview of the grade K Mathematics Program . 3 Essential Standards . 4 Emphasized Mathematical Practices . 4 Enduring Understandings & Essential Questions . 5 Chapter Overviews . 6 Chapter 1 . 8 Chapter 2 . 9 Chapter 3 . 10 Chapter 4 . 11 End-of-Unit Performance Task . 12 Appendices . 13 Evergreen School District 2 MATH Curriculum Map aligned to the California Common Core State Standards 7/29/14 Grade: K Unit Number: 1 Unit Name: Counting and Cardinality Instructional Days: 40 days Overview of the Grade K Mathematics Program UNIT NAME APPROX.
    [Show full text]
  • Enumeration of Maximal Cliques from an Uncertain Graph
    1 Enumeration of Maximal Cliques from an Uncertain Graph Arko Provo Mukherjee #1, Pan Xu ∗2, Srikanta Tirthapura #3 # Department of Electrical and Computer Engineering, Iowa State University, Ames, IA, USA Coover Hall, Ames, IA, USA 1 [email protected] 3 [email protected] ∗ Department of Computer Science, University of Maryland A.V. Williams Building, College Park, MD, USA 2 [email protected] Abstract—We consider the enumeration of dense substructures (maximal cliques) from an uncertain graph. For parameter 0 < α < 1, we define the notion of an α-maximal clique in an uncertain graph. We present matching upper and lower bounds on the number of α-maximal cliques possible within a (uncertain) graph. We present an algorithm to enumerate α-maximal cliques whose worst-case runtime is near-optimal, and an experimental evaluation showing the practical utility of the algorithm. Index Terms—Graph Mining, Uncertain Graph, Maximal Clique, Dense Substructure F 1 INTRODUCTION of the most basic problems in graph mining, and has been applied in many settings, including in finding overlapping Large datasets often contain information that is uncertain communities from social networks [14, 17, 18, 19], finding in nature. For example, given people A and B, it may not overlapping multiple protein complexes [20], analysis of be possible to definitively assert a relation of the form “A email networks [21] and other problems in bioinformat- knows B” using available information. Our confidence in ics [22, 23, 24]. such relations are commonly quantified using probability, and we say that the relation exists with a probability of p, for While the notion of a dense substructure and methods some value p determined from the available information.
    [Show full text]
  • STRUCTURE ENUMERATION and SAMPLING Chemical Structure Enumeration and Sampling Have Been Studied by Mathematicians, Computer
    STRUCTURE ENUMERATION AND SAMPLING MARKUS MERINGER To appear in Handbook of Chemoinformatics Algorithms Chemical structure enumeration and sampling have been studied by 5 mathematicians, computer scientists and chemists for quite a long time. Given a molecular formula plus, optionally, a list of structural con- straints, the typical questions are: (1) How many isomers exist? (2) Which are they? And, especially if (2) cannot be answered completely: (3) How to get a sample? 10 In this chapter we describe algorithms for solving these problems. The techniques are based on the representation of chemical compounds as molecular graphs (see Chapter 2), i.e. they are mainly applied to constitutional isomers. The major problem is that in silico molecular graphs have to be represented as labeled structures, while in chemical 15 compounds, the atoms are not labeled. The mathematical concept for approaching this problem is to consider orbits of labeled molecular graphs under the operation of the symmetric group. We have to solve the so–called isomorphism problem. According to our introductory questions, we distinguish several dis- 20 ciplines: counting, enumerating and sampling isomers. While counting only delivers the number of isomers, the remaining disciplines refer to constructive methods. Enumeration typically encompasses exhaustive and non–redundant methods, while sampling typically lacks these char- acteristics. However, sampling methods are sometimes better suited to 25 solve real–world problems. There is a wide range of applications where counting, enumeration and sampling techniques are helpful or even essential. Some of these applications are closely linked to other chapters of this book. Counting techniques deliver pure chemical information, they can help to estimate 30 or even determine sizes of chemical databases or compound libraries obtained from combinatorial chemistry.
    [Show full text]
  • Methods of Enumeration of Microorganisms
    Microbiology BIOL 275 ENUMERATION OF MICROORGANISMS I. OBJECTIVES • To learn the different techniques used to count the number of microorganisms in a sample. • To be able to differentiate between different enumeration techniques and learn when each should be used. • To have more practice in serial dilutions and calculations. II. INTRODUCTION For unicellular microorganisms, such as bacteria, the reproduction of the cell reproduces the entire organism. Therefore, microbial growth is essentially synonymous with microbial reproduction. To determine rates of microbial growth and death, it is necessary to enumerate microorganisms, that is, to determine their numbers. It is also often essential to determine the number of microorganisms in a given sample. For example, the ability to determine the safety of many foods and drugs depends on knowing the levels of microorganisms in those products. A variety of methods has been developed for the enumeration of microbes. These methods measure cell numbers, cell mass, or cell constituents that are proportional to cell number. The four general approaches used for estimating the sizes of microbial populations are direct and indirect counts of cells and direct and indirect measurements of microbial biomass. Each method will be described in more detail below. 1. Direct Count of Cells Cells are counted directly under the microscope or by an electronic particle counter. Two of the most common procedures used in microbiology are discussed below. Direct Count Using a Counting Chamber Direct microscopic counts are performed by spreading a measured volume of sample over a known area of a slide, counting representative microscopic fields, and relating the averages back to the appropriate volume-area factors.
    [Show full text]
  • Unit 1: Counting and Cardinality Goal: Students Will Learn Number Names, the Counting Sequence, How to Count to Tell the Number of Objects, and How to Compare Numbers
    Kindergarten – Trimester 1: Aug – Oct (11 weeks) Unit 1: Counting and Cardinality Goal: Students will learn number names, the counting sequence, how to count to tell the number of objects, and how to compare numbers. Students will represent and use whole numbers, initially with a set of objects. Students will learn to describe shapes and space. Structures to Support CA Content Standards/CGI/Problem Solving: Real World Math, Problem Analysis “Think Time”, Partner Collaboration, Productive Struggle, Whole Group Student Share Youcubed Week of Inspirational Math https://www.youcubed.org/week-inspirational-math/ Common Unit Tasks and Critical Areas of Instruction Core Curriculum Work Assessments/Proficiency Scale(s): Critical Concepts: Focus Areas (use these activities most of the time): Trimester 1 Tasks & Assessments: ● Cognitively Guided Counting and Cardinality: -Counting Collections Instruction ● MyMath Ch 1: Numbers 0 to 5 -Describe, Draw, Describe ● Counting Collections ● MyMath Ch 2: Numbers to 10 -Card games ● Word Problems (Separate – ● MyMath Ch 3: Numbers Beyond 10 -CGI Assessment (do in BOY, MOY, and EOY Result Unknown, Join – ● Counting Collections: What is it? to gauge student growth) Result Unknown, Partitive ● Questions for Counting Collections ● CGI Assessment Launch Script Division) ● Number Talks/Math Warm Ups (Ordinal numbers, compare ● CGI Kinder intro Assessment A ● Name, recognize, count, and numbers) ● K-1 CGI assess codebook write numbers 0 to 20 Operations/Algebraic Thinking: ● Compare numbers to 10 ● Word Problems
    [Show full text]
  • Counting: Permutations, Combinations
    CS 441 Discrete Mathematics for CS Lecture 17 Counting Milos Hauskrecht [email protected] 5329 Sennott Square CS 441 Discrete mathematics for CS M. Hauskrecht Counting • Assume we have a set of objects with certain properties • Counting is used to determine the number of these objects Examples: • Number of available phone numbers with 7 digits in the local calling area • Number of possible match starters (football, basketball) given the number of team members and their positions CS 441 Discrete mathematics for CS M. Hauskrecht 1 Basic counting rules • Counting problems may be hard, and easy solutions are not obvious • Approach: – simplify the solution by decomposing the problem • Two basic decomposition rules: – Product rule • A count decomposes into a sequence of dependent counts (“each element in the first count is associated with all elements of the second count”) – Sum rule • A count decomposes into a set of independent counts (“elements of counts are alternatives”) CS 441 Discrete mathematics for CS M. Hauskrecht Inclusion-Exclusion principle Used in counts where the decomposition yields two count tasks with overlapping elements • If we used the sum rule some elements would be counted twice Inclusion-exclusion principle: uses a sum rule and then corrects for the overlapping elements. We used the principle for the cardinality of the set union. •|A B| = |A| + |B| - |A B| U B A CS 441 Discrete mathematics for CS M. Hauskrecht 2 Inclusion-exclusion principle Example: How many bitstrings of length 8 start either with a bit 1 or end with 00? • Count strings that start with 1: • How many are there? 27 • Count the strings that end with 00.
    [Show full text]
  • Counting and Sizes of Sets Learning Goals
    Counting and Sizes of Sets Learning goals: students determine how to tell when two sets are the same \size" and start looking at different sizes of sets. Two sets are called similar, written A ∼ B if there is a one-to-one and onto function whose domain is A and whose image is B. The function is a one-to-one correspondence and we call such functions bijections. Clearly the inverse of such a function is also such a function, so if A ∼ B then B ∼ A. Also, A ∼ A using the identity function. Other words often used for similar are equinumerous, equipollent, and equipotent. It shouldn't be too hard to prove that if A ∼ B and B ∼ C then A ∼ C. So similarity possesses the qualities of reflexivity, symmetry, and transitivity. We call such relationships equivalence relations. Equivalence relations seek to classify some kind of object. In this case, we are classifying sets by size, and all sets that a similar to A are the same size as A. The fancy word for \size" is cardinality. If n is a positive integer, a set A will have n elements in it if and only if A ∼ f1; 2; 3; : : : ; ng. (This actually requires some proof! We need to show that different values of n give sets that are not similar.) We also say that A has cardinal number n. It should be easy to prove that if f1; 2; : : : ; mg ∼ f1; 2; : : : ; ng then m = n. It should also be clear that if A ∼ ; then A = ;. The empty set will have cardinal number zero.
    [Show full text]
  • Mathematics Core Guide Kindergarten Counting and Cardinality
    Counting and Cardinality Core Guide Grade K Know number names and the counting sequence (Standards K.CC.1–3) Standard K.CC.1. Count to 100 by ones and by tens. Concepts and Skills to Master Understand there is an ordered sequence of counting numbers Say counting numbers in the correct sequence from 1 to 10 Say counting numbers in the correct sequence from 1 to 20 attending to how teen numbers are worded (see teacher note below) Say counting numbers in the correct sequence from 1 to 100 attending to the patterns of increasing by ones and tens (decade numbers) Say decade counting numbers in the correct sequence from 10 to 100 Teacher note: This standard does not require students to read or write numerals, only to verbalize them. While this standard only addresses rote counting, students may count along a number line to support standard K.CC.3. “Essentially, English-speaking children have to memorize the number names for numbers from 1 to 12. The teen numbers (13–19) have roots in the numbers from 3 to 9, which can provide some support for learning them, but there are quirks in the language. Fourteen, sixteen, seventeen, eighteen, and nineteen essentially add teen (standing for ten) onto four, six, seven, eight, and nine. But thirteen and fifteen are a little different. As a consequence, some children may say “fiveteen” instead of “fifteen.” Interestingly, this seems to represent an attempt to make some sense of the counting sequence and may be made by children who have some insight at least into the patterns represented by the counting sequence and are trying to make sense of counting rather than just memorize a rote sequence of meaningless words.
    [Show full text]
  • Matroid Enumeration for Incidence Geometry
    Discrete Comput Geom (2012) 47:17–43 DOI 10.1007/s00454-011-9388-y Matroid Enumeration for Incidence Geometry Yoshitake Matsumoto · Sonoko Moriyama · Hiroshi Imai · David Bremner Received: 30 August 2009 / Revised: 25 October 2011 / Accepted: 4 November 2011 / Published online: 30 November 2011 © Springer Science+Business Media, LLC 2011 Abstract Matroids are combinatorial abstractions for point configurations and hy- perplane arrangements, which are fundamental objects in discrete geometry. Matroids merely encode incidence information of geometric configurations such as collinear- ity or coplanarity, but they are still enough to describe many problems in discrete geometry, which are called incidence problems. We investigate two kinds of inci- dence problem, the points–lines–planes conjecture and the so-called Sylvester–Gallai type problems derived from the Sylvester–Gallai theorem, by developing a new algo- rithm for the enumeration of non-isomorphic matroids. We confirm the conjectures of Welsh–Seymour on ≤11 points in R3 and that of Motzkin on ≤12 lines in R2, extend- ing previous results. With respect to matroids, this algorithm succeeds to enumerate a complete list of the isomorph-free rank 4 matroids on 10 elements. When geometric configurations corresponding to specific matroids are of interest in some incidence problems, they should be analyzed on oriented matroids. Using an encoding of ori- ented matroid axioms as a boolean satisfiability (SAT) problem, we also enumerate oriented matroids from the matroids of rank 3 on n ≤ 12 elements and rank 4 on n ≤ 9 elements. We further list several new minimal non-orientable matroids. Y. Matsumoto · H. Imai Graduate School of Information Science and Technology, University of Tokyo, Tokyo, Japan Y.
    [Show full text]