Last update: Thu Apr 12 03:37:15 MDT 2012
Top |
Symbols |
Numbers |
Math |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
BibTeX entry
@Article{Pugh:1994:CSP,
author = "William Pugh",
title = "Counting Solutions to {Presburger} Formulas: How and
Why",
journal = j-SIGPLAN,
volume = "29",
number = "6",
pages = "121--134",
month = jun,
year = "1994",
CODEN = "SINODQ",
DOI = "http://doi.acm.org/10.1145/178243.178254",
ISBN = "0-89791-598-4",
ISBN-13 = "978-0-89791-598-4",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
bibdate = "Wed Jun 18 16:26:55 MDT 2008",
bibsource = "http://portal.acm.org/;
http://www.acm.org/pubs/contents/proceedings/pldi/178243/index.html",
URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/178243/p121-pugh/",
abstract = "We describe methods that are able to count the number
of integer solutions to selected free variables of a
Presburger formula, or sum a polynomial over all
integer solutions of selected free variables of a
Presburger formula. This answer is given symbolically,
in terms of symbolic constants (the remaining free
variables in the Presburger formula). For example, we
can create a Presburger formula who's solutions
correspond to the iterations of a loop. By counting
these, we obtain an estimate of the execution time of
the loop. In more complicated applications, we can
create Presburger formulas who's solutions correspond
to the distinct memory locations or cache lines touched
by a loop, the flops executed by a loop, or the array
elements that need to be communicated at a particular
point in a distributed computation. By counting the
number of solutions, we can evaluate the
computation/memory balance of a computation, determine
if a loop is load balanced and evaluate message traffic
and allocate message buffers.",
acknowledgement = ack-nhfb,
annote = "Published as part of the Proceedings of PLDI'94.",
classification = "C4240P (Parallel programming and algorithm theory);
C6120 (File organisation)",
conflocation = "Orlando, FL, USA; 20-24 June 1994",
conftitle = "ACM SIGPLAN '94 Conference on Programming Language
Design and Implementation (PLDI)",
corpsource = "Dept. of Comput. Sci., Maryland Univ., College Park,
MD, USA",
keywords = "algorithms; buffer storage; cache lines; computational
complexity; counting solutions; distinct memory
locations; distributed algorithms; distributed
computation; distributed distinct memory locations;
integer solutions; message buffers; message traffic;
Presburger formulas; storage allocation; theory;
verification",
sponsororg = "ACM",
subject = "{\bf F.4.1} Theory of Computation, MATHEMATICAL LOGIC
AND FORMAL LANGUAGES, Mathematical Logic. {\bf I.1.0}
Computing Methodologies, SYMBOLIC AND ALGEBRAIC
MANIPULATION, General. {\bf F.2.1} Theory of
Computation, ANALYSIS OF ALGORITHMS AND PROBLEM
COMPLEXITY, Numerical Algorithms and Problems,
Computations on polynomials. {\bf F.2.1} Theory of
Computation, ANALYSIS OF ALGORITHMS AND PROBLEM
COMPLEXITY, Numerical Algorithms and Problems,
Computations on matrices.",
treatment = "T Theoretical or Mathematical",
}
Related entries
- able,
25(6)189,
25(6)283,
27(7)1,
28(7)229,
29(6)49,
29(6)159,
29(6)257,
29(6)257-1,
29(11)297,
30(6)47,
30(8)58,
30(8)179,
30(11)146-1
- ALGEBRAIC,
28(3)209,
28(3)355,
30(11)7,
31(5)68,
31(5)108,
31(5)258,
31(9)60
- ALGORITHMS,
25(6)40,
25(6)66,
25(6)92,
25(6)102,
25(6)112,
25(6)137,
25(6)150,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(6)30,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)140,
27(9)98,
27(9)238,
28(3)363,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)61,
29(6)85,
29(6)97,
29(6)171,
29(6)218,
29(6)302,
30(6)32,
30(6)47,
30(6)56,
30(6)139,
30(6)186,
30(6)246,
30(6)279,
30(11)7,
30(11)60,
30(11)134,
31(5)108,
31(5)193,
31(9)60,
32(5)194,
32(5)334,
33(5)72,
33(5)85-1,
33(5)142,
33(11)24,
33(11)262,
33(11)272
- allocate,
27(7)116,
28(6)100,
28(6)126,
28(6)197,
29(6)266,
29(11)76-1
- answer,
27(7)140,
27(7)152,
27(7)212,
30(6)32
- balance,
27(7)188-1,
28(3)149,
29(6)107
- balanced,
28(6)278,
29(6)107,
30(6)151,
31(9)268
- buffer,
27(9)238,
29(6)206,
29(10)191,
29(11)158,
29(11)171,
29(11)183,
34(7)10
- C4240P,
28(6)112,
28(7)129,
28(7)159,
29(1)54,
29(2)19,
29(4)31,
29(6)36,
29(6)73,
29(6)135,
29(6)278,
29(10)31,
29(10)113,
30(8)102,
30(8)123,
30(8)199,
30(11)1
- COMPLEXITY,
25(6)40,
25(6)66,
25(6)92,
25(6)102,
25(6)112,
25(6)137,
25(6)150,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(6)30,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)140,
27(9)98,
27(9)238,
28(3)363,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)61,
29(6)85,
29(6)97,
29(6)171,
29(6)218,
29(6)302,
30(6)32,
30(6)47,
30(6)56,
30(6)139,
30(6)186,
30(6)246,
30(6)279,
30(11)7,
30(11)60,
30(11)134,
31(5)108,
31(5)193,
31(9)60,
32(5)194,
32(5)334,
33(5)72,
33(5)85-1,
33(5)142,
33(11)24,
33(11)262,
33(11)272
- complexity,
25(6)1,
25(6)127-1,
26(8)137,
27(7)82,
27(9)262,
27(12)20,
28(3)69,
28(6)1,
28(6)156,
28(6)290,
29(4)23,
29(6)73,
29(6)107,
29(6)135,
29(6)171,
29(6)349,
29(6)349-1,
29(7)42,
29(10)324,
29(11)158,
30(3)62,
30(6)186,
30(6)233,
30(6)246,
30(8)19,
30(8)102,
30(8)134,
30(8)156,
30(9)25,
30(11)1,
30(11)117,
31(2)35,
31(6)134,
32(8)150,
32(8)150,
32(10)106,
32(10)106-1,
34(1)1,
34(6)84
- complicated,
27(7)331,
27(9)248,
28(3)349,
29(6)135,
30(11)20-1,
30(11)134
- computational,
25(6)92,
25(6)112,
25(6)296,
27(7)12,
28(6)268,
28(7)179,
29(1)13,
29(4)23,
29(6)107,
29(6)135,
29(6)171,
29(6)218,
29(6)349-1,
29(7)42,
29(10)324,
29(10)388,
30(3)13,
30(3)62,
30(3)83,
30(3)94,
30(6)186,
30(6)233,
30(8)19,
30(8)134,
30(11)1,
30(11)79,
32(1)106,
32(6)40
- constant,
25(6)66,
26(7)51,
27(7)311,
28(6)78-1,
28(6)90,
28(7)208,
29(1)53,
29(3)28,
29(5)3,
29(6)24,
29(6)61,
29(10)244,
30(2)42,
30(4)13,
30(4)13-1,
30(6)23,
30(6)23-1,
30(6)67,
30(6)246,
30(8)92,
30(8)207
- correspond,
28(6)13,
28(6)56,
30(3)62,
30(8)102
- count,
25(6)78,
25(12)85,
26(4)290,
27(9)248,
28(6)300,
29(6)85,
29(9)38,
29(11)232,
33(7)75,
34(3)49
- counting,
26(9)178,
29(6)196,
29(9)149,
30(11)70,
34(3)57
- create,
27(7)331,
29(11)319,
33(7)19,
33(7)59
- determine,
25(6)92,
25(6)112,
25(6)223,
25(6)311,
27(7)116,
27(7)283,
28(6)26,
28(6)56,
28(6)126,
29(6)85,
29(6)278,
30(6)56,
30(6)93,
30(6)218,
30(11)20-1,
30(11)70,
30(11)79
- distinct,
28(6)100,
29(6)1,
30(11)125
- element,
25(6)53,
25(6)137,
25(6)189,
25(6)283,
28(6)126,
29(6)230,
29(8)59,
29(10)427,
30(8)102
- estimate,
25(6)174,
27(9)248,
28(6)278,
29(6)73,
29(6)85,
29(11)98,
30(6)151
- evaluate,
26(1)47,
27(7)106,
27(7)188-1,
27(7)322,
27(9)248,
28(3)299,
28(7)33,
28(7)64,
29(11)132-1,
29(11)274,
29(11)328,
30(5)3,
30(6)103,
30(6)301,
30(8)144,
30(8)156,
30(8)179,
30(11)1
- example,
25(4)20,
25(4)59,
25(4)73,
25(6)1,
25(6)9,
25(6)16,
25(6)78,
25(6)137,
25(6)197,
25(6)223,
25(6)311,
25(7)7,
25(7)59,
25(12)85,
27(7)1,
27(7)82,
27(7)188-1,
27(7)249,
27(8)87,
28(3)69,
28(6)78-1,
28(7)44,
28(7)129,
28(7)179,
28(8)90,
29(6)230,
29(8)59,
29(11)2,
29(11)25,
29(11)110,
29(11)208,
29(12)72,
30(11)31,
30(11)50,
30(11)79
- executed,
25(6)337,
26(6)145,
27(7)44,
27(7)128,
27(7)322,
28(6)300,
29(6)85,
29(6)266,
29(11)252,
30(6)56,
30(6)103,
30(6)246,
30(6)315,
30(8)179
- F.2.1,
25(6)92,
25(6)102,
25(6)112,
26(6)30,
27(7)140,
29(6)61,
29(6)218,
30(6)139,
30(6)279,
31(5)108,
31(9)60
- formula,
27(7)140,
28(3)355
- free,
25(6)102,
27(4)77,
28(3)177,
28(3)347,
28(6)177,
28(6)300,
28(7)208,
29(6)257,
29(6)257-1,
31(1)22,
31(5)108,
34(5)281
- given,
25(6)28,
25(6)246,
25(6)322,
27(7)55,
27(7)188-1,
27(7)249,
28(3)149,
28(3)345,
28(3)365,
28(6)26,
28(6)126,
28(7)54-1,
28(7)102,
28(7)119,
29(6)36,
29(11)308,
30(4)13,
30(6)79-1,
30(6)186,
30(11)20-1,
30(11)50,
30(11)88,
34(5)z,
34(5)z-1
- how,
25(4)51,
25(5)95,
25(6)1,
25(6)53,
25(6)92,
25(6)112,
25(6)223,
26(11)359,
27(1)95,
27(6)64,
27(7)82,
27(7)106,
27(7)140,
27(7)162,
27(7)212,
27(7)249,
27(7)311,
27(7)341,
27(9)248,
27(12)28,
27(12)47,
28(3)1,
28(3)353,
28(6)46,
28(6)78-1,
28(6)126,
28(6)177,
28(6)258,
28(7)64,
28(7)83,
28(7)149,
28(8)57,
28(10)429,
28(10)429-1,
28(11)9,
28(11)9-1,
29(6)171,
29(8)35,
29(8)74,
29(8)84,
29(10)468,
29(11)2,
29(11)145,
29(11)208,
30(3)23,
30(3)62,
30(3)71,
30(3)94,
30(4)13,
30(5)3,
30(6)103,
30(6)116,
30(6)139,
30(8)102,
30(10)251,
30(11)50,
30(11)70,
30(11)79,
32(6)75,
32(10)206,
33(10)134,
33(11)252,
34(3)10
- integer,
25(1)59,
25(4)73,
25(6)53,
25(6)92,
25(7)95,
26(4)290,
26(6)1,
27(5)z,
27(7)140,
27(7)162,
27(9)285,
28(3)363,
28(11)22,
29(6)36,
29(6)61,
30(2)42,
30(6)139,
30(8)92,
30(8)102,
33(5)118,
33(5)186,
33(11)252
- iteration,
17(9)18,
25(6)189,
25(6)311,
27(7)175,
27(7)188-1,
27(7)283,
28(3)355,
28(6)68,
28(6)300,
28(7)83,
29(6)36,
29(9)51,
30(1)20,
30(6)218,
30(8)1,
30(11)134,
34(9)102,
34(11)73
- line,
27(7)22,
28(3)69,
28(7)179,
29(6)73,
29(6)337,
29(6)337-1,
29(8)35,
29(9)38,
29(11)219,
29(11)252,
30(6)279,
30(11)99,
31(6)180,
32(5)171,
33(7)19
- load,
25(3)50,
27(7)188-1,
27(9)38,
28(6)100,
28(6)278,
28(7)54-1,
28(7)208,
28(7)249,
29(11)2,
29(11)183,
29(11)286,
30(6)151,
30(8)207,
30(11)70,
31(9)138,
33(5)26,
33(5)26-1
- location,
27(7)1,
27(7)235,
27(7)273,
28(6)13,
28(6)26,
28(6)56,
28(6)126,
28(6)197,
29(6)107,
29(6)218,
29(6)230,
29(6)242,
29(6)242-1,
29(6)278,
29(8)94,
29(11)208,
30(3)62,
30(6)1
- MANIPULATION,
28(3)209,
28(3)355,
30(11)7,
31(5)68,
31(5)108,
31(5)258,
31(9)60
- matrix,
25(6)311,
26(6)30,
27(7)249,
27(9)285,
28(6)112,
28(7)102,
29(6)218,
29(10)191,
30(6)279,
30(11)1,
30(11)146-1,
31(8)5,
31(8)5-1,
31(9)60,
31(11)33,
31(11)33-1,
34(9)28
- message,
25(6)150,
25(10)116,
26(11)129,
27(9)285,
28(1)85,
28(3)69,
28(3)367,
28(6)126,
28(7)23,
28(7)218,
28(12)118,
29(9)105,
29(10)1,
29(10)176,
29(11)2,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)297,
29(12)48,
30(6)93,
30(6)196,
30(7)41,
30(8)39,
30(8)189,
30(8)217,
30(11)79,
32(9)61,
32(9)61-1
- methodology,
25(3)197,
25(4)59,
25(6)311,
26(1)124,
26(6)306,
26(6)317,
27(6)54,
27(7)200,
28(1)36,
28(3)37,
28(3)133,
28(3)149,
28(3)209,
28(3)355,
28(3)357,
28(3)369,
28(6)100,
28(7)139,
28(12)169,
29(6)73,
29(6)349-1,
29(8)46,
29(10)223,
29(10)287,
29(12)87,
30(3)13,
30(10)316,
30(11)7,
30(11)60,
30(11)70,
30(11)146-1,
30(12)37,
31(5)68,
31(5)108,
31(5)237,
31(5)249,
31(5)258,
31(9)60,
31(9)234,
32(5)134,
32(5)159,
32(5)215,
32(5)226,
32(5)249,
32(5)346-1,
34(3)20
- need,
24(3)34,
25(6)78,
25(6)189,
27(7)22,
27(10)452,
28(3)69,
28(6)207-1,
28(6)237,
28(8)90,
29(6)278,
29(11)25,
29(11)308,
30(3)111,
30(6)130,
30(6)174,
30(8)1,
30(11)117,
31(2)27,
31(3)5,
31(3)5-1,
31(3)6,
31(3)6-1,
31(3)8,
31(3)8-1,
32(1)115,
32(2)54,
32(3)57
- numerical,
25(1)59,
25(3)109,
25(6)92,
25(6)102,
25(6)112,
26(6)30,
27(7)140,
28(3)355,
28(6)13,
29(6)61,
29(6)218,
29(6)349-1,
29(11)183,
30(6)139,
30(6)279,
30(8)48,
31(5)108,
31(9)60,
33(5)38
- obtain,
26(6)219,
28(7)64,
29(6)36,
29(6)337,
29(6)337-1,
29(11)286,
30(6)1,
30(6)270,
30(8)217,
30(11)31
- particular,
25(6)102,
25(6)246,
27(7)82,
27(7)116,
28(6)90,
28(7)23,
29(8)46,
30(3)71,
30(3)111,
30(6)67,
30(6)291,
30(6)301,
30(8)58,
30(11)20-1,
30(11)79,
30(11)134
- PLDI'94.,
29(6)1,
29(6)13,
29(6)24,
29(6)36,
29(6)49,
29(6)61,
29(6)73,
29(6)85,
29(6)97,
29(6)107,
29(6)135,
29(6)147,
29(6)159,
29(6)171,
29(6)186,
29(6)196,
29(6)206,
29(6)218,
29(6)230,
29(6)242,
29(6)257-1,
29(6)266,
29(6)278,
29(6)290,
29(6)302,
29(6)313,
29(6)326,
29(6)337-1,
29(6)349-1
- point,
25(1)59,
25(6)92,
25(6)112,
25(10)312,
25(12)85,
26(4)28,
26(4)290,
26(6)219,
27(7)32,
27(7)224,
27(7)235,
27(9)223,
28(3)69,
28(6)68,
28(6)197,
29(6)1,
29(6)61,
29(6)349,
29(6)349-1,
29(8)59,
29(10)85,
29(11)12,
29(11)98,
29(11)122,
29(11)208,
31(1)9,
31(1)9-1,
31(3)6,
31(3)6-1,
33(9)103
- polynomial,
26(12)97,
28(7)129,
29(4)23,
33(3)24
- Presburger,
27(7)140
- PROBLEM,
25(6)40,
25(6)66,
25(6)92,
25(6)102,
25(6)112,
25(6)137,
25(6)150,
25(6)234,
25(6)272,
25(6)322,
25(6)337,
26(6)30,
26(6)130,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)140,
27(9)98,
27(9)238,
28(3)363,
28(6)78-1,
28(6)268,
28(6)278,
28(6)290,
29(6)61,
29(6)85,
29(6)97,
29(6)171,
29(6)218,
29(6)302,
30(6)32,
30(6)47,
30(6)56,
30(6)139,
30(6)186,
30(6)246,
30(6)279,
30(11)7,
30(11)60,
30(11)134,
31(5)108,
31(5)193,
31(9)60,
32(5)194,
32(5)334,
33(5)72,
33(5)85-1,
33(5)142,
33(11)24,
33(11)262,
33(11)272
- Pugh, William,
25(6)85,
25(6)85-1,
27(7)140,
34(5)247
- remaining,
28(6)1,
29(6)147
- selected,
25(6)127-1,
25(10)237,
28(2)21,
30(8)80-1,
30(11)99,
33(4)30,
33(4)30,
33(4)31
- solution,
25(6)189,
25(6)197,
27(7)1,
27(7)273,
27(7)283,
27(7)311,
28(6)68,
28(6)78-1,
28(7)129,
28(7)149,
28(8)90,
29(1)37,
29(4)15,
29(6)186,
29(8)119,
29(9)56,
29(10)317,
29(11)38,
29(11)158,
30(3)1,
30(3)50,
30(6)139,
30(8)19,
30(8)48,
30(8)102,
30(8)134,
30(9)25,
30(11)60,
30(11)88,
33(7)11,
33(10)216
- sum,
26(6)145
- SYMBOLIC,
28(3)209,
28(3)355,
30(11)7,
31(5)68,
31(5)108,
31(5)258,
31(9)60
- symbolic,
25(6)283,
26(11)329,
27(7)55,
28(3)209,
28(3)355,
28(6)13,
28(6)100,
28(7)169,
28(7)179,
29(6)73,
29(6)230,
30(6)67,
30(8)144,
30(11)70,
30(11)79,
34(11)104
- symbolically,
29(6)73,
30(11)70
- term,
25(4)73,
27(7)55,
27(7)188-1,
28(6)237,
28(6)300,
29(6)1,
30(11)50,
34(1)347
- who,
28(3)177,
32(3)33
- why,
6(4)1,
26(3)88,
29(8)84,
30(10)251,
31(8)8,
33(8)23,
34(7)96