can be done in linear time
play

can be done in linear time? Yuri Gurevich Tallinn, April 29, 2014 - PowerPoint PPT Presentation

What, if anything, can be done in linear time? Yuri Gurevich Tallinn, April 29, 2014 Agenda 1. What linear time? Why linear time? 2. Propositional primal infon logic 3. A linear time decision algorithm 4. Extensions with 1. Disjunction 2.


  1. What, if anything, can be done in linear time? Yuri Gurevich Tallinn, April 29, 2014

  2. Agenda 1. What linear time? Why linear time? 2. Propositional primal infon logic 3. A linear time decision algorithm 4. Extensions with 1. Disjunction 2. Conjunctions as sets 3. Transitivity

  3. WHAT LINEAR TIME? WHY LINEAR TIME?

  4. Why • Big data. • Remark. In many cases, big-data algorithms are approximate and randomized, necessarily so.

  5. What linear time? • A short answer: We use the standard computation model of the analysis of algorithms. • A longer answer, with examples and all, follows.

  6. Example 1: Sorting. • A well-known lower bond is this: Sorting 𝑜 items requires Ω(𝑜 ⋅ log 𝑜 ) comparisons and thus Ω(𝑜 ⋅ log 𝑜 ) time. • There is no way around the lower bound. Or maybe there is?

  7. An array A if length n • Indices: 0, 1, …, n -1 • Values A[0], A[1], …, A[n -1]

  8. Distinct natural numbers < 𝑜 can be sorted in time 𝑃(𝑜) . We illustrate this with 𝑜 = 7 and 𝐵 = 𝐵 0 , 𝐵 1 , 𝐵 2 = 3,6,0 . 1. Create and auxiliary array 𝐶 and zero it: 𝐶 = 〈0,0,0,0,0,0,0〉 . 2. Traverse 𝐵; for each value 𝑙 , set 𝐶[𝑙] = 1 . 𝐶 becomes 1,0,0,1,0,0,1 . 3. T raverse 𝐶 outputing indices with positive values: 〈0,3,6〉 . We forgo interesting generalizations.

  9. The computation model • Random Access Machine with registers of length 𝑃(log 𝑜) . – Only the initial polynomial many registers are used, with address of length 𝑃(log 𝑜) . – Relations =, ≥, ≤ , and operations +, − are constant time. • The model reflects the standard computer architecture and the regular intuition of programmers.

  10. Example 2: Tries One application: lexical analyzers to, tea, ted, ten, A, inn

  11. Example 3: Suffix arrays. • Let 𝑡 = 𝑑 0 … 𝑑 𝑜−1 . Each 𝑗 < 𝑜 is the 𝑙𝑓𝑧 for the suffix 𝑑 𝑗 … 𝑑 𝑜−1 . • The suffix array for 𝑡 is an array 𝐵 of length 𝑜 of 𝑡 where each 𝐵[𝑘] is (the key of) the 𝑘 -th suffix in the lexicographical order. • An amazing algorithm constructs the suffix array in linear time.

  12. Parsing logic formulas • Using the tools above + a deterministic pushdown automaton, produce – in linear time – the parse tree of a given logic formula. • The nodes and edges are decorated with useful labels and pointers. • Two nodes may represent different occurrences of the same subformula; call them homonyms . All pointers 𝐼 𝑣 from any node 𝑣 to its homonymy original can be constructed in 𝑃(𝑜) .

  13. PROPOSITIONAL PRIMAL INFON LOGIC

  14. Motivation for primal logic • Access control. DKAL

  15. Why propositional? • DKAL rules have the form 𝑤 1 : 𝑈 1 , 𝑤 2 : 𝑈 2 , … upon 𝜌(𝑥 1 , … ) if 𝛽(… ) actions Meaning: If an arriving message fits the pattern 𝜌 and if the condition 𝛽 follows from your knowledge assertions, perform the actions. • Often, by the time you arrive to check 𝛽 , it is ground. The assertion are typically not ground but only few particular ground instances are relevant.

  16. Expository simplifications • For expository reasons, we restrict attention to the “topless” (without ⊤ ) fragment that is quote-free.

  17. The derivation rules 𝑦 ∧ 𝑧 𝑦 ∧ 𝑧 𝑦, 𝑧 𝑦 𝑧 𝑦 ∧ 𝑧 𝑦, 𝑦 → 𝑧 𝑧 𝑧 𝑦 → 𝑧

  18. The subformula property • Theorem. If 𝛽 1 , … , 𝛽 ℓ is a shortest derivation of 𝜒 from 𝐼 then every 𝛽 𝑗 is a subformula of 𝐼, 𝜒 . • In the “ quoteful ” case, instead of subformulas of a formula 𝛽 , we have formulas local to 𝛽 . There are < |𝛽| such local formulas.

  19. An interpolation lemma of sorts • Lemma. If 𝐼 ⊢ 𝜒 then there is a set 𝐽 of subformulas of 𝐼 that are also subformulas of 𝜒 , such that 1. Formulas 𝐽 are derivable from H, and 2. 𝜒 is derivable from 𝐽 using only introduction rules. • We will not use the interpolation lemma but it gives a useful optimization in the case where the hypotheses change rarely.

  20. The multi-derivation problem • Definition. Given sets 𝐼 (hypotheses) and 𝑅 (queries) of formulas, decide which queries follow from the hypotheses. • Theorem. The multi-derivation problem for propositional infon logic is solvable in linear time. • We explain the main ideas. • 𝑜 is always the input size, essentially 𝐼 + |𝑅| .

  21. A LINEAR TIME DECISION ALGORITHM FOR THE MULTI-DERIVATION PROBLEM

  22. Approach: derive them all Compute all subformulas of 𝐼, 𝑅 derivable from the hypotheses 𝐼 .

  23. High-level algorithm • Initially all subformulas of 𝐼, 𝑅 are raw, only hypotheses are pending and there are no processed formulas. • Pick the first pending formula 𝛽 , apply all possible inference rules to 𝛽 , then mark 𝛽 processed. – In the process some raw formulas may become pending. • Repeat until no formula is pending.

  24. One easy case • Apply the ∧ -elimination rule 𝑦∧𝑧 𝑦 . • In this case, 𝛽 is a conjunction. If the first conjunct of 𝛽 is raw, mark it pending.

  25. One harder case 𝑦,𝑧 • Apply the ∧ -introduction rule 𝑦∧𝑧 with 𝛽 playing the role of 𝑦 . • All raw formulas of the form 𝛽 ∧ 𝑧 where y is pending or processed, should be marked pending. • How do we find them ? We don’t have the time to walk through the raw formulas.

  26. Local search • Every homonymy original node 𝑣 is endowed with four so-called use sets denoted ∧, 𝑚 , ∧, 𝑠 , →, 𝑚 , →, 𝑠 computed as follows. • Traverse the parse tree, in the depth-first way. • If a homonymy original 𝑣 is the left child of a conjunction node 𝑥 , put 𝐼(𝑥) into the use set (∧, 𝑚) of 𝑣 . If u is the right child of 𝑥 , put 𝐼(𝑥) use ∧, 𝑠 instead. • Similarly for → .

  27. 𝑦∧𝑧 Back to applying 𝑦 • Recall: we are looking for raw formulas of the form 𝛽 ∧ 𝑧 where 𝛽 is the first pending formula. • Just walk through the use set (∧, 𝑚) of 𝛽 .

  28. EXTENTION 1: DISJUNCTIONS

  29. Motivations Recall the DKAL rule 𝑤 1 : 𝑈 1 , … , 𝑤 𝑘 : 𝑈 𝑘 upon 𝜌 𝑥 1 , … if 𝛽 … actions and suppose that 𝛽 = 𝛾 ∨ 𝛿 , e.g. passport(traveller,UK) ∨ passport(traveller,EU). There may be many such disjunctions. They may be eliminated but they make rule much more succinct.

  30. Add only introduction rules 𝑦 𝑧 𝑦 ∨ 𝑧 𝑦 ∨ 𝑧 The linear decision algorithm generalizes in a rather obvious way.

  31. EXTENSION 2: CONJUNCTIONS (AND DISJUNCTIONS) AS SETS

  32. Motivation While 𝑦 ∧ 𝑧 entails 𝑧 ∧ 𝑦, • 𝑦 ∧ 𝑧 → 𝑨 doesn’t entail 𝑧 ∧ 𝑦 → 𝑨 , • 𝑨 → (𝑦 ∧ 𝑧) doesn’t entail 𝑨 → 𝑧 ∧ 𝑦 , • 𝑦 ∧ 𝑧 ∧ 𝑨 → 𝑥 doesn’t entail 𝑦 ∧ 𝑧 ∧ 𝑨 → 𝑥 , etc.

  33. The idea, a problem, and a solution • View conjunctions as sets of conjuncts. This repairs the missing entailments. • But sets are not constructive objects. • Represent sets as sequences by ordering the conjuncts lexicographically.

  34. The decision algorithm • The resulting multi-derivability problem is solvable in expected linear time. • It is the algorithm that introduces randomization. No probability distribution on inputs is assumed.

  35. EXTENSION 3: TRANSITIVE PRIMAL INFON LOGIC

  36. Motivation • In primal infon logic, 𝑦 → 𝑧 , (𝑧 → 𝑨) don’t entail (𝑦 → 𝑨) .

  37. New axiom and rule • In the quoteless case, transitive primal infon logic is the extension of primal infon logic with an axiom 𝑦 → 𝑦 and the rule 𝑦 → 𝑧, 𝑧 → 𝑨 𝑦 → 𝑨

  38. An alternative presentation of transitivity 𝑦 1 → 𝑦 2 , 𝑦 2 → 𝑦 3 , … , 𝑦 𝑙−1 → 𝑦 𝑙 𝑦 1 → 𝑦 𝑙 Logically the alternative presentation is equivalent to the original one but algorithmically it makes a lot of difference.

  39. Multi-derivability • Multi-derivability problem for the transitive primal infon logic is solvable in quadratic time.

  40. THANK YOU

  41. VAULT

  42. High-level algorithm Initially all local formulas are raw , except that hypotheses are pending . No formulas are processed . Pick the first pending formula 𝛽 , 1. 2. apply all (applicable) inference rules 𝑆 to 𝛽; if any of the conclusions are raw, make them pending. mark 𝛽 processed. 3. 4. Repeat until no formula is pending. • Pending and processed formulas have been derived. • Formulas move only from raw to pending to processed.

  43. One easy case • 𝛽 = 𝛾 ∧ 𝛿 , 𝑆 is 𝑦 ∧ 𝑧 ⋅ 𝑦 • If 𝛾 is raw, mark it pending.

  44. One harder case 𝑦, 𝑧 • Apply 𝑆 = 𝑦 ∧ 𝑧 to 𝛽 , with 𝛽 being the left premise. – It will be convenient to abbreviate this sentence thus: apply 𝑆 𝑚 to 𝛽 . • All raw formulas 𝛽 ∧ 𝑧 , with 𝑧 pending or processed, should be marked pending. But how do we find them?

Recommend


More recommend