I'm reading about an algorithm (it's a path-finding algorithm based on A*), and it contains a mathematical symbol I'm unfamiliar with: ?
Here is the context:
v(s) = g(s) = mins'?pred(s)(v(s') + c(s', s)) ?s ? sstart
Can someone explain the meaning of ??
That's the "forall" (for all) symbol, as seen in Wikipedia's table of mathematical symbols or the Unicode forall character (\u2200
, ?).
Can be read, "For all s such that s does not equal s[start]"
In math, ? means FOR ALL.
Unicode character (\u2200, ?).
yes, these are the well-known quantifiers used in math. Another example is ? which reads as "exists".
The upside-down A symbol is the universal quantifier from predicate logic. (Also see the more complete discussion of the first-order predicate calculus.) As others noted, it means that the stated assertions holds "for all instances" of the given variable (here, s). You'll soon run into its sibling, the backwards capital E, which is the existential quantifier, meaning "there exists at least one" of the given variable conforming to the related assertion.
If you're interested in logic, you might enjoy the book Logic and Databases: The Roots of Relational Theory by C.J. Date. There are several chapters covering these quantifiers and their logical implications. You don't have to be working with databases to benefit from this book's coverage of logic.
Source: Stackoverflow.com