NP-Completeness Explained

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

We ______ see each other now. (slowly)

slowly

She grabbed the bag ______ than her friend. (tightly)

more tightly

Of the two girls, Rani is ______. (upset)

more upset

Madan sang ______ than Rajan did. (fast)

<p>faster</p> Signup and view all the answers

Sarah behaved ______ at the party. (nicely)

<p>nicely</p> Signup and view all the answers

Mona sang ______ of everyone in the choir. (loudly)

<p>most loudly</p> Signup and view all the answers

My dog barked ______ than his dog. (fiercely)

<p>more fiercely</p> Signup and view all the answers

They are the ______ married couple of anyone I know. (happily)

<p>most happily</p> Signup and view all the answers

The students arrived for class ______ than ever before. (carefully)

<p>more carefully</p> Signup and view all the answers

Radha Sat ______ on the chair in the den. (quietly)

<p>quietly</p> Signup and view all the answers

Flashcards

What is an adverb?

A word that modifies or describes a verb, adjective, or another adverb.

What does 'nicely' mean?

Describes an action done in a pleasant manner.

What does 'finally' mean?

After a period of time; eventually

What does 'now' mean?

At this time; right now

Signup and view all the flashcards

What does 'quickly' mean?

With speed; rapidly.

Signup and view all the flashcards

What does 'often' mean?

Happening or done frequently or at short intervals.

Signup and view all the flashcards

What does 'Always' mean?

Always happening; without exception.

Signup and view all the flashcards

What does 'sweetly' mean?

Describes an action done in a gentle manner.

Signup and view all the flashcards

What does 'carefully' mean?

Describes an action done cautiously.

Signup and view all the flashcards

What does 'patiently' mean?

Describes enduring delay with composure.

Signup and view all the flashcards

Study Notes

NP-Completeness

  • A language $B$ is NP-complete if $B$ is in NP and every $A$ in NP is polynomial time reducible to $B$ ($A \le_p B$).
  • If an NP-complete language $B$ is in P, then P = NP.
  • If B is NP-complete, C is in NP, and $B \le_p C$, then C is NP-complete.
  • To prove a language is NP-complete, show it is in NP, and demonstrate that a known NP-complete language reduces to it.
  • SAT language consists of satisfiable boolean formulas and was the first language to be proved NP-complete.
  • 3SAT consists of satisfiable boolean formulas in CNF with 3 literals per clause and is NP-complete.
  • Literals are variables or their negations.

Showing a Language B is NP-Complete

  • Show that language $B$ belongs to NP.
  • Show that some NP-complete language $A$ is polynomial-time reducible to $B$.
  • A mapping reduction involves a function $f: \Sigma^* \to \Sigma^*$.
    • $w \in A \iff f(w) \in B$: the function maps strings in A to strings in B.
    • Compute $f$ in polynomial time.

CLIQUE

  • A clique in an undirected graph is a subgraph where every two nodes are connected.
  • Clique Size is determined by the number of nodes it contains.
  • $CLIQUE = { | G$ is an undirected graph with a $k$-clique$}$.
  • CLIQUE is in NP because a certificate of $k$ nodes can be checked in polynomial time to determine if they form a $k$-clique.

Proof That CLIQUE is NP-Complete

  • 3SAT $\le_p$ CLIQUE: Maps a 3SAT formula to a graph and a number such that the formula is satisfiable if and only if the graph has a clique of the given size.
  • Given a 3SAT formula $\phi$ with $k$ clauses ($\phi = C_1 \land C_2 \land... \land C_k$), a graph $G$ constructed with $3k$ nodes is created, where each literal in each clause becomes a node.
  • Add an edge between each pair of literals if they are in different clauses and are not negations of each other
  • The graph $G$ has a $k$-clique if and only if $\phi$ is satisfiable.
  • If $\phi$ is satisfiable, one true literal is picked from each clause ($k$ literals total), come from different clauses, literals cannot be negations of each other, $k$ literals are connected and for a $k$-clique.
  • If $G$ has a $k$-clique, assigning each literal to true satisfies $\phi$, $k$ nodes in $k$-clique must all come from different clauses (because there are no edges between literals in the same clause.), the $k$ nodes in the $k$-clique are not negations of each other.
  • Constructing the graph takes polynomial time, with $3k$ nodes and $O(k^2)$ edges.

VERTEX-COVER

  • A vertex cover of a graph $G = (V, E)$ is a subset of nodes $V' \subseteq V$ such that for every edge $(u, v) \in E$, either $u \in V'$, $v \in V'$, or both.
  • $VERTEX-COVER = { | G$ is an undirected graph that has a vertex cover of size $k}$.
  • VERTEX-COVER is NP-Complete.
  • VERTEX-COVER is in NP because a set of $k$ nodes can be verified in polynomial time to check if it's a vertex cover.
  • Reduction: CLIQUE $\le_p$ VERTEX-COVER.

Proof That VERTEX-COVER is NP-Complete

  • Demonstrates that any graph with a k-clique can be transformed into another graph that has a vertex cover of size $|V| - k$.
  • Given a graph $G$ and number $k$, a graph $G'$ (complement of $G$) and a number $k' = |V| - k$ is constructed.
  • Therefore, $G$ has a $k$-clique if and only if $\overline{G}$ has a vertex cover of size $|V| - k$.
  • If G has a k-clique, then $\overline{G}$ has a vertex cover of size $|V| - k$, set $S = V - C$ covers all edges in $\overline{G}$, where $C \subseteq V$ be a $k$-clique in $G$.
  • If $\overline{G}$ has a vertex cover $S$ of size $|V| - k$, then $G$ has a $k$-clique, every edge in $\overline{G}$ must be covered by $S$. So $|C|=k$, which is not in $\overline{G}$.
  • The reduction takes polynomial time (complementing a graph takes polynomial time).

SUBSET-SUM

  • $SUBSET-SUM = {(S, t) | S = {x_1,..., x_k}$ which is a set of integers, $\Sigma_{x_i \in S'} x_i = t}$, which means there must be $S' \subseteq S$.
  • SUBSET-SUM is NP-complete.
  • To check in polynomial time whether $S'$ equals $t$, it becomes SUBSET-SUM $\in$ NP.
  • Reduction VERTEX-COVER $\le_p$ SUBSET-SUM where a set $S$ and target $t$ are constructed such that $G$ has a vertex cover of size $k$ if and only if $S$ has a subset summing to $t$.

Algorithmic Trading and Order Execution

  • Course run by Tucker Balch
  • Recommended texts are Derman's "Algorithmic Trading", Chan's "Quantitative Trading", and McKinney's "Python for Data Analysis."
  • Course objectives include understanding mechanics of trading, trading tactics, strategy simulation, order execution, market microstructure, and portfolio management.

Topics Covered

  • Market Mechanics
  • Trading Tactics and Strategies
  • Simulation and Evaluation
  • Order Execution
  • Market Microstructure
  • Portfolio Management

Course Project Details

  • involves groups of 3-4
  • Trading strategy is to be designed, implemented and evaluated
  • Project requires a presentation and a final report.

Grading Breakdown

  • Homework: 20%
  • Quizzes: 20%
  • Project: 40%
  • Final Exam: 20%

Academic Honesty

  • All work must be original; academic dishonesty will be reported.

Accommodations

  • Available for students with documented disabilities (contact Disability Services Program).

Partial Differential Equations (PDEs)

  • Problems in physics and engineering lead to PDEs, involving functions of multiple variables and their partial derivatives.

Examples of PDEs

  • Heat equation: $\frac{{\partial u}}{{\partial t}} = k\frac{{\partial^2 u}}{{\partial x^2}}$.
  • Wave equation: $\frac{{\partial^2 u}}{{\partial t^2}} = c^2\frac{{\partial^2 u}}{{\partial x^2}}$.
  • Laplace equation: $\frac{{\partial^2 u}}{{\partial x^2}} + \frac{{\partial^2 u}}{{\partial y^2}} = 0$.
  • A partial differential equation involves partial derivatives of an unknown function with two or more variables.
  • Order is determined by the order of the highest derivative in the equation.
  • Linearity means the function and derivatives appear linearly.
  • Homogeneity is when a linear PDE is satisfied when terms with the unknown function are set to zero

Types of PDEs

Equation Type
Heat Equation Linear
Wave Equation Linear
Laplace Equation Linear

Solving PDEs Involves

  • General solutions: use arbitrary functions.
  • Boundary and initial conditions determine a unique solution.
  • Methods include separation of variables, transform methods, and numerical methods.

Common Solution Methods

  • General solutions for PDEs include arbitrary functions. For $\frac{{\partial^2 u}}{{\partial x \partial y}} = 0$, $u(x, y) = F(x) + G(y)$ is the general solution.
  • Define Conditions to determine a particular solution, boundary conditions specify values on the domain's boundary, and initial conditions specify the function's value at an initial time.

Methods to Solving PDEs

  • Separation of Variables: assumes solutions in the form of $u(x, t) = X(x)T(t)$
  • Transform Methods: Uses Fourier or Laplace transforms to simplify PDEs.
  • Numerical Methods: Approximates solutions using finite difference, finite element, or finite volume methods.

Examples and Applications of PDEs

  • Heat Equation describes heat distribution over time, with $u(x, t)$ as temperature and $k$ as thermal diffusivity.
  • Wave equation describes wave propagation, with $u(x, t)$ as the wave's displacement and $c$ as wave speed.
  • Laplace Equation describes steady-state phenomena such as electrostatics, fluid dynamics, and heat conduction.

Advanced Topics of PDEs

  • Nonlinear PDEs: lacks general solutions and requires special techniques.
  • Systems of PDEs: multiple coupled PDEs used in fluid dynamics and electromagnetism.
  • Numerical Solutions: includes the finite difference, finite element, and finite volume method.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

NP-Hard and NP-Complete Problems Quiz
10 questions
NP 2
40 questions

NP 2

BrightestHawkSEye avatar
BrightestHawkSEye
P and NP Problems: Reductions and Completeness
37 questions
Use Quizgecko on...
Browser
Browser