2
$\begingroup$

Good day to everybody,

I would like to use a nice mathematical notation to represent the following statement:

The number of triangles $t$ in graph $G = (V,E)$ dominates its number of edges and vertices.

I have thought of the following notations:

  1. |V| + |E| $\leq$ t
  2. $max\{|V|,|E|\}$ $\leq$ t
  3. t = $\Omega(|V|+|E|)$
  4. t = $\Omega(max\{|V|,|E|\})$
  5. $|V|+|E|$ = $O(t)$
  6. $max\{|V|,|E|\}$ = $O(t)$

I like options 1 and 4 best, but I am puzzled among all of the options.

To give you a small context, we have an algorithm that accepts a graph along with its triangles, and just goes through all the vertices, all the edges, and all the triangles. As we are interested in triangles, we want to have the assumption that "it is the triangles that matter to us most here and hence we assume that their number dominates everything else, other cases are not important to us".

Which notation do you think (or, even better, know for sure) fits the statement better?

Thank you.

1 Answers 1

2

It depends on how do you analyze the algorithm - do you want to express your bounds in terms of $t$ or perhaps $|V|$ and $|E|$? Thus, if you care only about the triangles, then to me it seems that 5 is the best option: when you later analyze your algorithm you can immediately conclude things like $|V| + |E| + t = O(t)$.

Some additional comments:

  • 1, 2 are probably too restrictive - if there are more edges than triangles then perhaps that's still fine as long as it's within some constant.
  • 2, 4 and 6 have lots of parentheses and braces and look too much complicated for what they express.
  • 3, 4 invert the relationship, if you want to express some bounds in terms of $t$, then these will look a bit less natural.

I hope this helps $\ddot\smile$

  • 0
    Interesting, thank you. Yes, in fact the (rather naive) algorithm that I have sketched in my original post has a time complexity of O(|V|+|E|+t). I would like to say "ok, assume t dominates everything" and obtain a more simple (and reasonable in our case) complexity of O(t). So, you suggest option 5: |V| + |E| = O(t) It is definitely elegant. This is also equivalent $\Omega(|V|+|E|)$ = t , right? Or is there some strange caveat?2017-02-11
  • 0
    @hamster Please be careful with that notation, because that is not a normal equality. This is one of the reasons why I prefer to write $t \in \Omega(|V| + |E|)$ or $|V| + |E| \in O(t)$, but $\in$ has its own flaws too. Also, I prefer to avoid $\Omega$ because there is some historical inconsistency associated with it (see [Wikipedia](https://en.wikipedia.org/wiki/Big_O_notation#Big_Omega_notation)), but in computer science yes, options 3-6 are equivalent (observe that $\max(x,y) \leq x + y \leq 2 \max(x,y)$ for any $x,y \geq 0$).2017-02-11
  • 0
    I guess one can never be too formal or exact. For instance, I mentioned the statement to a friend, and he assumed that $t$ grows exponentially on $|V|+|E|$. While this is certainly not the case, I came to find out that the verb "dominates" is usually associated with the small o notation, which is a little stronger than the big O notation (the bound holds for every fixed constant c and not just some c).2017-02-11