Skip to content

Concepts and algorithms

Joxean edited this page Jan 3, 2018 · 9 revisions

In this wiki page I will try to explain with my own words (or shamelessly ripping out definitions from people that actually know how to explain) some concepts used in the wiki.

  • Control Flow Graph. From [wikipedia](Control Flow Graph): A control flow graph (CFG) in computer science is a representation, using graph notation, of all paths that might be traversed through a program during its execution. The control flow graph is due to Frances E. Allen, who notes that Reese T. Prosser used boolean connectivity matrices for flow analysis before.
  • Call Graph. From wikipedia: A call graph (also known as a call multigraph) is a control flow graph, which represents calling relationships between subroutines in a computer program. Each node represents a procedure and each edge (f, g) indicates that procedure f calls procedure g. Thus, a cycle in the graph indicates recursive procedure calls.
  • Fuzzy Hash. A hash that uses fuzzy logic to match groups of elements. In opposite to, for example, a cryptographic hash that tries to match unequivocally a single element.
  • Fuzzy Graph Hash. The output "hash" of a function using fuzzy logic that consumes graphs. See fuzzy hash.
  • Small Primes Product. TBC.
  • MD-Index. TBC.
  • Mnemonic. From wikipedia: A symbolic name for a single executable machine language instruction.
  • Topological Sort: From wikipedia: A topological sort or topological ordering of a directed graph is a linear ordering of its vertices such that for every directed edge uv from vertex u to vertex v, u comes before v in the ordering. For instance, the vertices of the graph may represent tasks to be performed, and the edges may represent constraints that one task must be performed before another; in this application, a topological ordering is just a valid sequence for the tasks.
  • Tarjan's strongly connected components algorithm: From wikipedia: Tarjan's algorithm is an algorithm in graph theory for finding the strongly connected components of a graph. It runs in linear time, matching the time bound for alternative methods including Kosaraju's algorithm and the path-based strong component algorithm. Tarjan's Algorithm is named for its inventor, Robert Tarjan.

Clone this wiki locally