Surprise (networks): Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Rjwilmsi
m →‎A new paradigm in community detection: Journal cites, added 1 PMC, using AWB (8064)
 
No edit summary
Line 1: Line 1:
In [[proof theory]], an area of [[mathematical logic]], '''resolution proof reduction via local context rewriting''' is a technique for resolution [[proof compression|proof reduction]] via local context rewriting was proposed by Simone Rollini, Roberto Bruttomesso and Natasha Sharygina in their paper "An Efficient and Flexible Approach to Resolution Proof Reduction".<ref name=Simone>Simone, S.F. ; Brutomesso, R. ; Sharygina, N. "An Efficient and Flexible Approach to Resolution Proof Reduction". 6th Haifa Verification Conference, 2010.</ref> This [[proof compression]] method was presented as an algorithm named ReduceAndReconstruct, that operates as a post-process on [[resolution (logic)|resolution]] proofs.


ReduceAndReconstruct is based on a set of local proof rewriting rules that transform a subproof into an equivalent or stronger one.<ref name=Simone /> Each rule is defined to match a specific context.


After the policy period coverage at the previous rate of premiums is no longer guaranteed. Other factors that may impact the cost of your homeowners policy:  Type of Construction: Frame houses usually cost more to insure than brick. But life insurance has come a long way since the early days and these days there you can cover yourself with cheap term life insurance. Contrary to popular belief or ignorance of the law, certain debts do not follow you to your grave. How To Find A Cheap Life Insurance Quote To Fit Your Needs. As stated before a good agent can help navigate the complexities and explain in much greater detail specific needs for the individual. An important part of any purchase, be it life insurance or toe nail clippers, is cost.  <br><br>It offers an ideal way for employees, including many on modest earnings, to make regular tax-efficient savings for retirement, with the major added benefit of an employer contribution. So, how much insurance is right for you and your family. Convertible policies are another option that can eventually function as whole life policies, resulting in one of the best term life insurance options for younger individuals. Life insurance companies may be hesitant to classify e-cigarettes as anything other than nicotine use, but that doesn't mean e-cigarette users don't have options when applying for life insurance. s important to keep updating your [http://www.Dict.cc/?s=beneficiaries beneficiaries] on your life insurance policies. KPMG and the Financial Services Council report that approximately 77% of Australians between 45-64 years are under-insured. They should rethink their insurance needs every year but at the outset they choose the 30 year term anyway.  <br><br>There are two types of life insurance policies that people can choose from. It costs more per year to buy coverage for 20 years than it would cost for a 15 year policy. For instance, there is no point comparing a life insurance company policy that gives you a 3 month quote compared to one that gives you a price for 6 months. His little wispy growth of hair was beyond gray, more a fading white, like old man snow. [http://Www.squidoo.com/search/results?q=Auto+Insurance Auto Insurance] Online Cheap Home Owners Insurance Company Online Affordable Health Insurance Online. This allows you to buy higher levels of coverage at your prime age. The premiums for term policy are much, much lower than most permanent policies even though they do not have a cash value amount.  <br><br>Because the hundreds of years get passed, the insurance coverage sector has included various kinds of insurance coverage and characteristics. Glucose or sugar in the blood refers to an important energy source the tissues and cells of human body need. Life insurance can be defined as: The purchase of a large sum of money with discounted dollars, that becomes immediately available at the exact moment it's needed. We guarantee to provide helpful information that you need on this matter. For example we know that it is primarily used to cover financial responsibilities. Yet, we derive greater pleasure when our clients leave our offices, satisfied. Its very easy to get a term life insurance quote online and compare term life insurance company prices at your convenience and comparing between different companies will make you able to choose the term insurance rate that suits your budget in the best manner.  <br><br>You can compare online auto insurance quotes for Arizona and all other states, plus find more tips on saving on car, home, life, health and long-term care insurance at Lower - Your - Insurance. The plan guarantees that by a specific period of time, your plan develops and you get a group sum. There is no doubt that planning for your own death is not exactly the most pleasant of tasks. Term and Whole are the two basic options in choosing life insurance. Preventative care and wellness care are usually not covered by short term health insurance. When you think about life insurance, two kinds probably come to mind: term  life insurance and whole life insurance. You never pay the salesman anything, and in fact, working with the salesman may lower the price of your purchase. <br><br>There's doesn't seem to be an easier way around it. You can use a ‘quote and compare’ service to find the best rate for your [http://www.termlifepolicy.com/insurance-agents/vermont/south-burlington.html term life policy]. Most people know by now that term life insurance rates have been declining for about ten years. First of all, when you die (it is when, not if, after all), the insurance benefit goes to the exact people you want to have it, and income tax-free. The client only keeps the policy for a period of time and then it expires. If the person who has obtained the policy may be expired regrettably, the amount of the insurance claim may be received by the one who has already been authorized to get it. Our reputation in the market makes us proud of our achievements. <br><br>The better the tier, the cheaper the rates, and the non-smoker rates will always be lower. Most divorce agreements require that one divorced spouse, usually the one paying child support or alimony, maintain a certain amount of life insurance on themselves to protect the financial future of their ex should they die before their financial obligations terminate. If you plan to file for divorce, provide for your solicitor either the original marriage certificate or a certified copy obtainable from your local Registry Office. I have to pay the monthly installments on the housing loan which I had taken for the house. Those who choose to really live life on the edge need to make sure they have adequate life insurance coverage as the risk for losing their lives goes up dramatically. It can be quite devastating if an insured should die after the term policy has expired. An alternative strategy is to review your life insurance coverage on an annual basis, rather than when you receive your yearly salary increase.
A context (as defined by Simone ''et al.'' <ref name=Simone />) involves two pivots (<math>p</math> and <math>q</math>) and five clauses (<math>\alpha</math>, <math>\beta</math>, <math>\gamma</math>, <math>\delta</math> and <math>\eta</math>). The structure of a context is shown in ({{EquationNote|1}}). Note that this imply that <math>p</math> is contained in <math>\beta</math> and <math>\gamma</math> (with opposite polarity) and <math>q</math> is contained in <math>\delta</math> and <math>\alpha</math> (also with opposite polarity).
 
{{NumBlk|:|<math>\cfrac{\cfrac{\beta \qquad \gamma}{\delta} \, p \qquad \alpha}{\eta} \, q</math>|{{EquationRef|1}}}}
 
The table below shows the rewriting rules proposed by Simone ''et al.''.<ref name=Simone /> The idea of the algorithm is to reduce proof size by opportunistically applying these rules.
 
{| class="wikitable"
|-
! Context !! Rule
|-
| Case A1: <math>s \notin \alpha, t \in \gamma</math> ||
<math>\cfrac{\cfrac{stC \qquad \overline{s} tD}{tCD} \, \operatorname{var}(s) \qquad \overline{t} E}{CDE} \, \operatorname{var}(t) \Rightarrow
\cfrac{\cfrac{stC \qquad \overline{t} E}{sCE}\, \operatorname{var}(t) \qquad \cfrac{\overline{t} E \qquad \overline{s} tD}{\overline{s}DE}\, \operatorname{var}(t)}{CDE} \, \operatorname{var}(s)</math>
|-
| Case A2: <math>s \notin \alpha, t \notin \gamma</math> ||
<math>\cfrac{\cfrac{stC \qquad \overline{s} D}{tCD} \, \operatorname{var}(s) \qquad \overline{t} E}{CDE} \, \operatorname{var}(t) \Rightarrow
\cfrac{\cfrac{stC \qquad \overline{t} E}{sCE} \, \operatorname{var}(t) \qquad \overline{s} D}{CDE} \, \operatorname{var}(s)</math>
|-
| Case B1: <math>s \in \alpha, t \in \gamma</math> ||
<math>\cfrac{\cfrac{stC \qquad \overline{s}tD}{tCD} \, \operatorname{var}(s) \qquad s \overline{t} E}{sCDE} \, \operatorname{var}(t) \Rightarrow
\cfrac{stC \qquad s \overline{t} E}{sCE}\, \operatorname{var}(t)</math>
|-
| Case B2: <math>s \in \alpha, t \notin \gamma</math> ||
<math>\cfrac{\cfrac{stC \qquad \overline{s}D}{tDC} \, \operatorname{var}(s) \qquad s \overline{t} E}{sCDE} \, \operatorname{var}(t) \Rightarrow
\cfrac{\cfrac{stC \qquad s \overline{t} E}{sCE} \, \operatorname{var}(t) \qquad \overline{s} D}{CDE} \, \operatorname{var}(s)</math>
|-
| Case B3: <math>\overline{s} \in \alpha, t \notin \gamma</math> ||
<math>\cfrac{\cfrac{stC \qquad \overline{s}D}{tDC} \, \operatorname{var}(s) \qquad \overline{s} \overline{t} E}{\overline{s} CDE} \, \operatorname{var}(t) \Rightarrow
\overline{s} D</math>
|-
| Case A1' ||
<math>\cfrac{\cfrac{stC \qquad \overline{s} tD}{tCD} \, \operatorname{var}(s) \qquad \overline{t} E}{CDE} \, \operatorname{var}(t) \Leftarrow
\cfrac{\cfrac{stC \qquad \overline{t} E}{sCE}\, \operatorname{var}(t) \qquad \cfrac{\overline{t} E \qquad \overline{s} tD}{\overline{s}DE}\, \operatorname{var}(t)}{CDE} \, \operatorname{var}(s)</math>
|-
| Case B2': <math>t \notin \gamma </math> ||
<math>\cfrac{\cfrac{stC \qquad \overline{s} D}{tCD} \, \operatorname{var}(s) \qquad s \overline{t} E}{sCDE} \, \operatorname{var}(t) \Rightarrow
\cfrac{stC \qquad s \overline{t} E}{sCE}\, \operatorname{var}(t)</math>
|}
 
Note that the first five rules were introduced in an earlier paper.<ref name=Bruttomesso>Bruttomesso, R. ; Rollini, S. ; Sharygina, N.; Tsitovich, A. "Flexible Interpolation with Local Proof Transformations". The International Conference on Computer-Aided Design, 2010.</ref> In addition, the following is worth mentioning:
 
* Rule A2 does not perform any reduction on its own. However, it is still useful, because of its "shuffling" effect that can create new opportunities for applying the other rules;
* Rule A1 is not used in practice, because it may increase proof size;
* Rules B1, B2, B2' and B3 are directly responsible for the reduction, as they produce a transformed root clause stronger than the original one;
* The application of a B rule may lead to an illegal proof (see the example below), as some literals missing in the transformed root clause may be involved in another resolution step along the path to the proof root. Therefore, the algorithm also has to "reconstruct" a legal proof when this happen.
 
The following example (extracted from <ref name=Simone />) shows a situation where the proof becomes illegal after the application of B2' rule:
 
{{NumBlk|:|
<math>
\cfrac{\cfrac{\cfrac{\cfrac{\mathbf{pq} \qquad \mathbf{\overline{p} o}}{\mathbf{qo}}\, p \qquad \mathbf{p \overline{q}}}{\mathbf{po}}\, q \qquad \cfrac{qr \qquad \overline{p} \overline{q}}{\overline{p} r}\, q}{or}\, p \qquad \overline{o} s}{rs}\, o
</math>|{{EquationRef|2}}}}
 
Applying rule B2' to the highlighted context:
 
{{NumBlk|:|
<math>
\cfrac{\cfrac{\cfrac{\mathbf{pq} \qquad \mathbf{p \overline{q}}}{\mathbf{p}}\, q \qquad \cfrac{qr \qquad \overline{p} \overline{q}}{\overline{p} r}\, q}{or}\, p \qquad \overline{o} s}{rs}\, o
</math>|{{EquationRef|3}}}}
 
Note that the proof is now illegal because the literal <math>o</math> is missing from the transformed root clause. To reconstruct the proof, one can remove <math>o</math> together with the last resolution step (that is now redudant). The final result is the following legal (and stronger) proof:
 
{{NumBlk|:|
<math>
\cfrac{\cfrac{pq \qquad p \overline{q}}{p}\, q \qquad \cfrac{qr \qquad \overline{p} \overline{q}}{\overline{p} r}\, q}{r}\, p
</math>|{{EquationRef|4}}}}
 
Simone ''et al.'' <ref name=Simone /> shows a further reduction of this proof by applying rule A2 to create a new opportunity to apply rule B2'.
 
Note that there is usually huge number of contexts where rule A2 may be applied, so an exhaustive approach is not feasible in general. Therefore, Simone ''et al.'' <ref name=Simone /> propose to execute ReduceAndReconstruct  as a loop with two termination criteria: number of iterations and a timeout (what is reached first). The pseudocode (adapted from <ref name=Simone />) below shows this.
 
  1 '''function''' ReduceAndReconstruct(''<math>\pi</math>'' ''/* a proof */'', ''timelimit'', ''maxIterations''):
  2      '''for''' i = 1 to ''maxIterations'' '''do'''
  3          ReduceAndReconstructLoop();
  4          '''if''' ''time'' > ''timelimit'' '''then'''        ''// timeout''
  5              '''break''';
  6      '''end for'''
  7 '''end function'''
 
ReduceAndReconstruct uses the function ReduceAndReconstructLoop, which is specified below. Note that the first part of the algorithm does a topological ordering of the resolution graph (considering that edges goes from antecedentes to resolvents). This is done to ensure that each node is visited after its antecedents (this way, broken resolution steps are always found and fixed).<ref name=Simone />
 
  1  '''function''' ReduceAndReconstructLoop(''<math>\pi</math>'' ''/* a proof */''):
  2      ''TS'' = TopologicalSorting(<math>\pi</math>);
  3      '''for each''' node <math>n</math> '''in''' ''TS''
  4          '''if''' <math>n</math> is not a leaf
  5              '''if''' ''<math>n_\text{piv} \in n_\text{clause}^\text{left}</math> and <math>\overline{n_\text{piv}} \in n_\text{clause}^\text{right}</math>'' '''then'''
  6                  <math>n_\text{clause}</math> = Resolution(<math>n_\text{clause}^\text{left}</math>, <math>n_\text{clause}^\text{right}</math>);
  7                  Determine left context of <math>n</math>, if any;
  8                  Determine right context of <math>n</math>, if any;
  9                  Heuristically choose one context (if any) and apply the corresponding rule;
10              '''else if''' ''<math>n_\text{piv} \notin n_\text{clause}^\text{left}</math> and <math>\overline{n_\text{piv}} \in n_\text{clause}^\text{right}</math>'' '''then'''
11                  Substitute <math>n</math> with <math>n^\text{left}</math>;
12              '''else if''' ''<math>n_\text{piv} \in n_\text{clause}^\text{left}</math> and <math>\overline{n_\text{piv}} \notin n_\text{clause}^\text{right}</math>'' '''then'''
13                  Substitute <math>n</math> with <math>n^\text{right}</math>;
  14              '''else if''' ''<math>n_\text{piv} \notin n_\text{clause}^\text{left}</math> and <math>\overline{n_\text{piv}} \notin n_\text{clause}^\text{right}</math>'' '''then'''
15                  Heuristically choose an antecedent <math>n^\text{left}</math> or <math>n^\text{right}</math>;
16                  Substitute <math>n</math> with <math>n^\text{left}</math> or <math>n^\text{right}</math>;
17      '''end for'''
18  '''end function'''
 
Another point that worth mentioning is that if the input proof is not a tree (in general, resolution graphs are [[directed acyclic graph]]s), then the clause <math>\delta</math> of a context may be involved in more than one resolution step. In this case, to ensure that an application of a rewriting rule is not going to interfere with other resolution steps, a safe solution is to create a copy of the node represented by clause <math>\delta</math>.<ref name=Simone /> Note that this solution increases proof size and some caution is needed when doing this.
 
Moreover, the heuristic for rule selection is important to achieve a good compression performance. Simone ''et al.'' <ref name=Simone /> use the following order of preference for the rules (if applicable to the given context): B2 > B3 > { B2', B1 } > A1' > A2 (X > Y means that X is preferred over Y).
 
Experiments have shown that ReduceAndReconstruct alone has a worse compression/time ratio than the algorithm [[RecyclePivots]].<ref name=Bar-Ilan>Bar-Ilan, O. ; Fuhrmann, O. ; Hoory, S. ; Shacham, O. ; Strichman, O. "Linear-Time Reductions of Resolution Proofs". HVC, 2008.</ref> However, while RecyclePivots can be applied only once to a proof, ReduceAndReconstruct may be applied multiple times to produce a better compression. An attempt to combine ReduceAndReconstruct and RecyclePivots algorithms has led to good results.<ref name=Simone />
 
==Notes==
{{reflist}}
 
[[Category:Proof theory]]

Revision as of 00:06, 19 December 2013

In proof theory, an area of mathematical logic, resolution proof reduction via local context rewriting is a technique for resolution proof reduction via local context rewriting was proposed by Simone Rollini, Roberto Bruttomesso and Natasha Sharygina in their paper "An Efficient and Flexible Approach to Resolution Proof Reduction".[1] This proof compression method was presented as an algorithm named ReduceAndReconstruct, that operates as a post-process on resolution proofs.

ReduceAndReconstruct is based on a set of local proof rewriting rules that transform a subproof into an equivalent or stronger one.[1] Each rule is defined to match a specific context.

A context (as defined by Simone et al. [1]) involves two pivots ( and ) and five clauses (, , , and ). The structure of a context is shown in (Template:EquationNote). Note that this imply that is contained in and (with opposite polarity) and is contained in and (also with opposite polarity).

Template:NumBlk

The table below shows the rewriting rules proposed by Simone et al..[1] The idea of the algorithm is to reduce proof size by opportunistically applying these rules.

Context Rule
Case A1:

Case A2:

Case B1:

Case B2:

Case B3:

Case A1'

Case B2':

Note that the first five rules were introduced in an earlier paper.[2] In addition, the following is worth mentioning:

  • Rule A2 does not perform any reduction on its own. However, it is still useful, because of its "shuffling" effect that can create new opportunities for applying the other rules;
  • Rule A1 is not used in practice, because it may increase proof size;
  • Rules B1, B2, B2' and B3 are directly responsible for the reduction, as they produce a transformed root clause stronger than the original one;
  • The application of a B rule may lead to an illegal proof (see the example below), as some literals missing in the transformed root clause may be involved in another resolution step along the path to the proof root. Therefore, the algorithm also has to "reconstruct" a legal proof when this happen.

The following example (extracted from [1]) shows a situation where the proof becomes illegal after the application of B2' rule:

Template:NumBlk

Applying rule B2' to the highlighted context:

Template:NumBlk

Note that the proof is now illegal because the literal is missing from the transformed root clause. To reconstruct the proof, one can remove together with the last resolution step (that is now redudant). The final result is the following legal (and stronger) proof:

Template:NumBlk

Simone et al. [1] shows a further reduction of this proof by applying rule A2 to create a new opportunity to apply rule B2'.

Note that there is usually huge number of contexts where rule A2 may be applied, so an exhaustive approach is not feasible in general. Therefore, Simone et al. [1] propose to execute ReduceAndReconstruct as a loop with two termination criteria: number of iterations and a timeout (what is reached first). The pseudocode (adapted from [1]) below shows this.

 1  function ReduceAndReconstruct( /* a proof */, timelimit, maxIterations):
 2      for i = 1 to maxIterations do
 3          ReduceAndReconstructLoop();
 4          if time > timelimit then        // timeout
 5              break;
 6      end for
 7  end function

ReduceAndReconstruct uses the function ReduceAndReconstructLoop, which is specified below. Note that the first part of the algorithm does a topological ordering of the resolution graph (considering that edges goes from antecedentes to resolvents). This is done to ensure that each node is visited after its antecedents (this way, broken resolution steps are always found and fixed).[1]

 1  function ReduceAndReconstructLoop( /* a proof */):
 2      TS = TopologicalSorting();
 3      for each node  in TS
 4          if  is not a leaf
 5              if  and  then
 6                   = Resolution(, );
 7                  Determine left context of , if any;
 8                  Determine right context of , if any;
 9                  Heuristically choose one context (if any) and apply the corresponding rule;
10              else if  and  then
11                  Substitute  with ;
12              else if  and  then
13                  Substitute  with ;
14              else if  and  then
15                  Heuristically choose an antecedent  or ;
16                  Substitute  with  or ;
17      end for
18  end function

Another point that worth mentioning is that if the input proof is not a tree (in general, resolution graphs are directed acyclic graphs), then the clause of a context may be involved in more than one resolution step. In this case, to ensure that an application of a rewriting rule is not going to interfere with other resolution steps, a safe solution is to create a copy of the node represented by clause .[1] Note that this solution increases proof size and some caution is needed when doing this.

Moreover, the heuristic for rule selection is important to achieve a good compression performance. Simone et al. [1] use the following order of preference for the rules (if applicable to the given context): B2 > B3 > { B2', B1 } > A1' > A2 (X > Y means that X is preferred over Y).

Experiments have shown that ReduceAndReconstruct alone has a worse compression/time ratio than the algorithm RecyclePivots.[3] However, while RecyclePivots can be applied only once to a proof, ReduceAndReconstruct may be applied multiple times to produce a better compression. An attempt to combine ReduceAndReconstruct and RecyclePivots algorithms has led to good results.[1]

Notes

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 Simone, S.F. ; Brutomesso, R. ; Sharygina, N. "An Efficient and Flexible Approach to Resolution Proof Reduction". 6th Haifa Verification Conference, 2010.
  2. Bruttomesso, R. ; Rollini, S. ; Sharygina, N.; Tsitovich, A. "Flexible Interpolation with Local Proof Transformations". The International Conference on Computer-Aided Design, 2010.
  3. Bar-Ilan, O. ; Fuhrmann, O. ; Hoory, S. ; Shacham, O. ; Strichman, O. "Linear-Time Reductions of Resolution Proofs". HVC, 2008.