The document discusses AND/OR graphs and the AO* algorithm for searching AND/OR trees. Some problems can be represented as having subgoals that can be achieved simultaneously or independently (AND) or as OR options. The AO* algorithm extends A* search to AND/OR trees. It examines multiple nodes simultaneously, selecting the most promising path and expanding nodes to generate successors. It computes heuristic values (h) for nodes and propagates new information up the graph as the search progresses until a solution is found or all paths are determined to be unsolvable. An example demonstrates how AO* searches an AND/OR graph and labels nodes as it proceeds.
In general dimension, there is no known total polynomial algorithm for either convex hull or vertex enumeration, i.e. an algorithm whose complexity depends polynomially on the input and output sizes. It is thus important to identify problems (and polytope representations) for which total polynomial-time algorithms can be obtained. We offer the first total polynomial-time algorithm for computing the edge-skeleton (including vertex enumeration) of a polytope given by an optimization or separation oracle, where we are also given a superset of its edge directions. We also offer a space-efficient variant of our algorithm by employing reverse search. All complexity bounds refer to the (oracle) Turing machine model. There is a number of polytope classes naturally defined by oracles; for some of them neither vertex nor facet representation is obvious. We consider two main applications, where we obtain (weakly) total polynomial-time algorithms: Signed Minkowski sums of convex polytopes, where polytopes can be subtracted provided the signed sum is a convex polytope, and computation of secondary, resultant, and discriminant polytopes. Further applications include convex combinatorial optimization and convex integer programming, where we offer a new approach, thus removing the complexity's exponential dependence in the dimension.
We experimentally study the fundamental problem of computing the volume of a convex polytope given as an intersection of linear inequalities. We implement and evaluate practical randomized algorithms for accurately approximating the polytope’s volume in high dimensions (e.g. one hundred). To carry out this efficiently we experimentally correlate the effect of parameters, such as random walk length and number of sample points, on accuracy andruntime. Moreover, we exploit the problem’s geometry by implementing an iterative rounding procedure, computing partial generations of random points and designing fast polytope boundary oracles. Our publicly available code is significantly faster than exact computation and more accurate than existing approximation methods. We provide volume approximations for the Birkhoff polytopes B11,...,B15, whereas exact methods have only computed that ofB10.
Effects of the Discussion Groups Sizes on the Dynamics of Public Opinion KNOWeSCAPE2014
Oleg Yordanov – Effects of the Discussion Groups Sizes on the Dynamics of Public Opinion (Talk at 2nd Annual KNOWeSCAPE Scientific Meeting, http://knowescape.org/knowescape2014-2/)
In general dimension, there is no known total polynomial algorithm for either convex hull or vertex enumeration, i.e. an algorithm whose complexity depends polynomially on the input and output sizes. It is thus important to identify problems (and polytope representations) for which total polynomial-time algorithms can be obtained. We offer the first total polynomial-time algorithm for computing the edge-skeleton (including vertex enumeration) of a polytope given by an optimization or separation oracle, where we are also given a superset of its edge directions. We also offer a space-efficient variant of our algorithm by employing reverse search. All complexity bounds refer to the (oracle) Turing machine model. There is a number of polytope classes naturally defined by oracles; for some of them neither vertex nor facet representation is obvious. We consider two main applications, where we obtain (weakly) total polynomial-time algorithms: Signed Minkowski sums of convex polytopes, where polytopes can be subtracted provided the signed sum is a convex polytope, and computation of secondary, resultant, and discriminant polytopes. Further applications include convex combinatorial optimization and convex integer programming, where we offer a new approach, thus removing the complexity's exponential dependence in the dimension.
We experimentally study the fundamental problem of computing the volume of a convex polytope given as an intersection of linear inequalities. We implement and evaluate practical randomized algorithms for accurately approximating the polytope’s volume in high dimensions (e.g. one hundred). To carry out this efficiently we experimentally correlate the effect of parameters, such as random walk length and number of sample points, on accuracy andruntime. Moreover, we exploit the problem’s geometry by implementing an iterative rounding procedure, computing partial generations of random points and designing fast polytope boundary oracles. Our publicly available code is significantly faster than exact computation and more accurate than existing approximation methods. We provide volume approximations for the Birkhoff polytopes B11,...,B15, whereas exact methods have only computed that ofB10.
Effects of the Discussion Groups Sizes on the Dynamics of Public Opinion KNOWeSCAPE2014
Oleg Yordanov – Effects of the Discussion Groups Sizes on the Dynamics of Public Opinion (Talk at 2nd Annual KNOWeSCAPE Scientific Meeting, http://knowescape.org/knowescape2014-2/)
All I Needed for Functional Programming I Learned in High School AlgebraEric Normand
Are you tired of forgetting which keys go in which maps? Are your data transformation pipelines reaching trans-continental proportions? A smidgen of high school algebra may go a long way to eliminating your deeply nested headaches. In this talk, we will explore several functional programming concepts and techniques, lifted right out of high school algebra, that can deepen your functional programming skills and get you slicing your problems along new dimensions.
This paper presents a novel SAT-based approach for the computation of extensions in abstract argumentation, with focus on preferred semantics, and an empirical evaluation of its performances. The approach is based on the idea of reducing the problem of computing complete extensions to a SAT problem and then using a depth-first search method to derive preferred extensions. The proposed approach has been tested using two distinct SAT solvers and compared with three state-of-the-art systems for preferred extension computation. It turns out that the proposed approach delivers significantly better performances in the large majority of the considered cases.
Math 111 Final Exam Review1. Use the graph of y = f(x) in .docxandreecapon
Math 111 Final Exam Review
1. Use the graph of y = f(x) in Figure 1 to answer the following. Approximate where necessary.
(a) Evaluate f(−1).
(b) Evaluate f(0).
(c) Solve f(x) = 0.
(d) Solve f(x) = −7.
(e) Determine if f is even, odd, or neither from its
graph.
(f) State any local maximums or local minimums.
(g) State the domain and range of f.
(h) Over what interval(s) is the function increasing?
(i) Over what interval(s) is the function decreas-
ing?
(j) Over what interval(s) is the function concave
up?
(k) Over what interval(s) is the function concave
down?
(l) Find the zeros of f.
(m) Find a possible formula for this polynomial
function.
2
-2
-4
-6
2 4-2-4
x
y
Figure 1
2. Let f(x) =
2x − 1
x + 2
.
(a) Find f−1(x).
(b) Confirm the inverse by computing f−1 (f(x))
and f
(
f−1(x)
)
.
(c) State the domain and range of f and f−1.
(d) Evaluate f(0).
(e) Evaluate f−1(0).
(f) Solve f(x) = 3.
(g) Determine if f is even, odd, or neither from its
formula.
(h) State any horizontal and vertical asymptotes.
(i) State any horizontal and vertical intercepts.
(j) Sketch a graph of y = f(x) in Figure 2.
4
8
-4
-8
4 8-4-8
x
y
Figure 2
1
3. Let f(x) = |x|. For each of the following, sketch a graph of the tranformation in Figure 4 and
write the simplified formula for the function. Describe the order of transformations, being as specific
as possible and listing them in an appropriate order.
(a) −f(x)
(b) f(x + 1)
(c) 2f(x)
(d) f(x) + 3
(e) 2f(x + 1) + 3
(f) f(3x)
2
4
-2
-4
2 4-2-4
x
y
Figure 3. Graph of y = |x|
2
4
-2
-4
2 4-2-4
x
y
(a)
2
4
-2
-4
2 4-2-4
x
y
(b)
2
4
-2
-4
2 4-2-4
x
y
(c)
2
4
-2
-4
2 4-2-4
x
y
(d)
2
4
-2
-4
2 4-2-4
x
y
(e)
2
4
-2
-4
2 4-2-4
x
y
(f)
Figure 4
4. Complete Table 1 below using the given values in the table. If any value is undefined, write
“undefined.”
Table 1
x -2 -1 0 1 2
f(x) 2 1 0 1 2
g(x) 4 2 0 -2 -4
(g ◦ f)(x)
(g · f)(x)
f(x) + g(x)
f(x)
g(x)
g−1(x)
Page 2 of 5
5. Find a formula for the piecewise-defined func-
tion graphed in Figure 5 below.
f(x) =
1
2
3
-1
-2
-3
1 2 3-1-2-3
x
y
b
bc bc
b
Figure 5. Graph of y = f(x)
6. In Figure 6, graph the piecewise function de-
fined by
f(x) =
x2 − 4, −2 ≤ x < 0
2, 0 < x < 1
−1
2
x + 2, x ≥ 1
1
2
3
-1
-2
-3
1 2 3-1-2-3
x
y
Figure 6
7. The volume, V (in cubic centimeters) of a circular balloon of radius r (in centimeters) is given by
V = f(r) = 4
3
πr3. As someone blows air into the balloon, the radius of the balloon as a function of
time t (in seconds) is given by r = g(t) = 2t.
(a) Find and interpret f(3).
(b) Find and interpret g(3).
(c) Find and interpret f(g(3)).
(d) Find and interpret f(g(t)).
(e) Explain why g(f(r)) in nonsense.
(f) Find and interpret r = f−1(V ).
(g) Find and interpret f−1(20).
8. Write the following using exponents.
(a) log4 (64) = 3 (b) ln (
√
e) = 1
2
(c) log10
(
1
100
)
= −2
9. Solve the follow ...
Free Monads are a powerful technique that can separate the representation of programs from the messy details of how they get run.
I'll go into the details of how they work, how to use them for fun and profit in your own code, and demonstrate a live Free Monad-driven tank game.
Supporting code at https://github.com/kenbot/free
Mid-Term Exam
Name___________________________________
MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.
Fill in the blank with one of the words or phrases listed below.
distributive real reciprocals absolute value opposite associative
inequality commutative whole algebraic expression exponent variable
1) The of a number is the distance between the number and 0 on the number line.
A) opposite B) whole
C) absolute value D) exponent
1)
Find an equation of the line. Write the equation using function notation.
2) Through (1, -3); perpendicular to f(x) = -4x - 3
A) f(x) =
1
4
x -
13
4
B) f(x) = -
1
4
x -
13
4
C) f(x) = -4x -
13
4
D) f(x) = 4x -
13
4
2)
Multiply or divide as indicated.
3)
60
-5
A) -22 B) 12 C) - 1
12
D) -12
3)
Write the sentence using mathematical symbols.
4) Two subtracted from x is 55.
A) 2 + x = 55 B) 2 - x = 55 C) x - 2 = 55 D) 55 - 2 = x
4)
Name the property illustrated by the statement.
5) (-10) + 10 = 0
A) associative property of addition B) additive identity property
C) commutative property of addition D) additive inverse property
5)
Tell whether the statement is true or false.
6) Every rational number is an integer.
A) True B) False
6)
Add or subtract as indicated.
7) -5 - 12
A) 7 B) -17 C) 17 D) -7
7)
1
Name the property illustrated by the statement.
8) (1 + 8) + 6 = 1 + (8 + 6)
A) distributive property
B) associative property of addition
C) commutative property of multiplication
D) associative property of multiplication
8)
Simplify the expression.
9) -(10v - 6) + 10(2v + 10)
A) 30v + 16 B) -10v + 94 C) 10v + 106 D) 30v + 4
9)
Solve the equation.
10) 5(x + 3) = 3[14 - 2(3 - x) + 10]
A) -39 B) 3 C) -13 D) 39
10)
List the elements of the set.
11) If A = {x|x is an odd integer} and B = {35, 37, 38, 40}, list the elements of A ∩ B.
A) {35, 37}
B) {x|x is an odd integer}
C) {x|x is an odd integer or x = 38 or x = 40}
D) { }
11)
Solve the inequality. Graph the solution set.
12) |x| ≥ 4
A) (-∞, -4] ∪ [4, ∞)
-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
B) [-4, 4]
-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
C) [4, ∞)
-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
D) (-∞, -4) ∪ (4, ∞)
-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
12)
Solve.
13) The sum of three consecutive even integers is 336. Find the integers.
A) 108, 110, 112 B) 110, 112, 114 C) 112, 114, 116 D) 111, 112, 113
13)
2
Solve the inequality. Write your solution in interval notation.
14) x ≥ 4 or x ≥ -2
A) (-∞, ∞) B) [4, ∞)
C) [-2, ∞) D) (-∞, -2] ∪ [4, ∞)
14)
Use the formula A = P 1 + r
n
nt
to find the amount requested.
15) A principal of $12,000 is invested in an account paying an annual interest rate of 4%. Find the
amount in the account after 3 years if the account is compounded quarterly.
A) $1521.9 B) $13,388.02 C) $13,498.37 D) $13,521.90
15)
Graph the solution set ...
1. AND/OR graphs
Some problems are best represented asSome problems are best represented as
achieving subgoals, some of whichachieving subgoals, some of which
achieved simultaneously andachieved simultaneously and
independently (AND)independently (AND)
Up to now, only dealt with OR optionsUp to now, only dealt with OR options
Possess TV set
Steal TV Earn Money Buy TV
2. Searching AND/OR graphs
A solution in an AND-OR tree is aA solution in an AND-OR tree is a sub treesub tree
whosewhose leafsleafs are included in the goal setare included in the goal set
Cost function: sum of costs in AND nodeCost function: sum of costs in AND node
f(n) = f(nf(n) = f(n11) + f(n) + f(n22) + …. + f(n) + …. + f(nkk))
How can we extend A* to search AND/ORHow can we extend A* to search AND/OR
trees? The AO* algorithm.trees? The AO* algorithm.
3. AND/OR search
We must examine several nodesWe must examine several nodes
simultaneously when choosing the nextsimultaneously when choosing the next
movemove
A
B C D
38
E F G H I J
17 9 27
(5) (10) (3) (4) (15) (10)
A
B C
D(3)
(4)
(5)
(9)
4. AND/OR Best-First-Search
Traverse the graph (from the initial node)Traverse the graph (from the initial node)
following the best current path.following the best current path.
Pick one of the unexpanded nodes on thatPick one of the unexpanded nodes on that
path and expand it. Add its successors topath and expand it. Add its successors to
the graph and computethe graph and compute ff for each of themfor each of them
Change the expanded node’sChange the expanded node’s ff value tovalue to
reflect its successors. Propagate thereflect its successors. Propagate the
change up the graph.change up the graph.
Reconsider the current best solution andReconsider the current best solution and
repeat until a solution is foundrepeat until a solution is found
9. AO* algorithm
1.1. LetLet GG be a graph with only starting nodebe a graph with only starting node INIT.INIT.
2.2. Repeat the followings until INIT is labeledRepeat the followings until INIT is labeled
SOLVED or h(INIT) > FUTILITYSOLVED or h(INIT) > FUTILITY
a)a) Select an unexpanded node from the most promisingSelect an unexpanded node from the most promising
path from INIT (call it NODE)path from INIT (call it NODE)
b)b) Generate successors of NODE. If there are none, setGenerate successors of NODE. If there are none, set
h(NODE) = FUTILITY (i.e., NODE is unsolvable);h(NODE) = FUTILITY (i.e., NODE is unsolvable);
otherwise for each SUCCESSOR that is not an ancestorotherwise for each SUCCESSOR that is not an ancestor
of NODE do the following:of NODE do the following:
i.i. Add SUCCESSSOR to G.Add SUCCESSSOR to G.
ii.ii. If SUCCESSOR is a terminal node, label it SOLVED andIf SUCCESSOR is a terminal node, label it SOLVED and
set h(SUCCESSOR) = 0.set h(SUCCESSOR) = 0.
iii.iii. If SUCCESSPR is not a terminal node, compute its hIf SUCCESSPR is not a terminal node, compute its h
10. AO* algorithm (Cont.)
c)c) Propagate the newly discovered information up thePropagate the newly discovered information up the
graph by doing the following: let S be set of SOLVEDgraph by doing the following: let S be set of SOLVED
nodes or nodes whose h values have been changednodes or nodes whose h values have been changed
and need to have values propagated back to theirand need to have values propagated back to their
parents. Initialize S to Node. Until S is empty repeatparents. Initialize S to Node. Until S is empty repeat
the followings:the followings:
i.i. Remove a node from S and call it CURRENT.Remove a node from S and call it CURRENT.
ii.ii. Compute the cost of each of the arcs emerging fromCompute the cost of each of the arcs emerging from
CURRENT. Assign minimum cost of its successors as its h.CURRENT. Assign minimum cost of its successors as its h.
iii.iii. Mark the best path out of CURRENT by marking the arc thatMark the best path out of CURRENT by marking the arc that
had the minimum cost in step iihad the minimum cost in step ii
iv.iv. Mark CURRENT as SOLVED if all of the nodes connected toMark CURRENT as SOLVED if all of the nodes connected to
it through new labeled arc have been labeled SOLVEDit through new labeled arc have been labeled SOLVED
v.v. If CURRENT has been labeled SOLVED or its cost was justIf CURRENT has been labeled SOLVED or its cost was just
changed, propagate its new cost back up through the graph.changed, propagate its new cost back up through the graph.
So add all of the ancestors of CURRENT to S.So add all of the ancestors of CURRENT to S.