Metric Sometimes we can just get a specification easily from just a metric, like (“the aircraft can’t be more than 50 meters apart”) value at risk see value at risk composite metrics weighted sum method depends on how you care about each value, perform weighted sum and optimizes over a single metric \sum_{i=1}^{n} w_{i}f_{i}\left(\tau\right) = w^{T}f\left(\tau\right) But, coming up with the weights is a bit hard! So we get them by asking pairwise questions with Preference Elicitation goal distance metric pick a Utopia Point, and find distances from that point \norm\mid f\left(\tau\right) - f_{\text{goal}} \norm_{p} logical specification propositional logic a proposition is a statement that evaluates to either true or false; an atomic proposition is a proposition that can’t be broken down further. For instance, consider “not”: example “If the agent is in S, then agent is not in C”
first-order logic First order logic adds variables, predicates, and quantifiers to propositional logic. predicate: a function that evaluates propositions over variables variables: objects in a domain quantifiers: evaluate propositions over a collection of variables universal quantifier: allows us to evaluates propositions over a collection of variables \forall existential quantifier: allows us to evaluate positions over any one of the variables \exists example variables: state x predicates
“an agent must reach a goal state and avoid the obstacle state
temporal logic temporal logic specifies logic in time linear temporal logic always:
this means “P is true at all time stamps in the future (including the current timestamp)” eventually:
this means “P is true at some timestamps in the future (including the current timestamp)” until
“Q is true at some timestamp in the future and P is true at least until Q becomes true” this lasts the lifetime until Q becomes no longer true. example “eventually reaches the goal after passing through the checkpoint and always avoids the obstacle” Three predicates: F the obstacle, G the goal, C the checkpoint
signal temporal logic signal temporal logic extends linear temporal logic to real-valued signals allows us to specify properties over a time interval \left[a, b\right], so we have \lozenge_{[a,b]} P (the “eventually” need to hold starting at a and until b) allows us to to map real-valued signals to truth values \mu_{c}\left(s_{t}\right) is true if \mu\left(s_{t}\right) > c robustness (logic) “robustness” is the amount by which achieve/miss a particular value; the bigger the magnitude, the “more” we did something; that is, very negative means super The above predicate could be computed for the formulae above using \rho \left(s_{t}, P\right) = \mu_{t} \left(s_{t}\right) - c To calculate robustness to various predicates… \rho\left(s_{t}, \neg P\right) = - \rho \left(s_{t}, P\right) \rho\left(s_{t}, P \wedge Q\right) = \min \left(\rho \left(s_{t}, P\right), \rho \left(s_{t}, Q\right)\right) \rho\left(s_{t}, P \vee Q\right) = \max \left(\rho \left(s_{t}, P\right), \rho \left(s_{t}, Q\right)\right) \rho\left(s_{t}, P \to Q\right) = \max \left(-\rho \left(s_{t}, P\right), \rho \left(s_{t}, Q\right)\right) gradient of robustness Binary values can’t be taken derivatives of. But, to take temporal derivatives, we instead take the softmin/softmax.