Unit propagation

Unit propagation

Unit propagation (UP) or the one-literal rule (OLR) is a procedure of automated theorem proving that can simplify a set of (usually propositional) clauses.

Definition

The procedure is based on unit clauses, i.e. clauses that are composed of a single literal. If a set of clauses contains the unit clause l, the other clauses are simplified by the application of the two following rules:

# every clause containing l is removed;
# in every clause that contains eg l this literal is deleted.

The application of these two rules lead to a new set of clauses that is equivalent to the old one. For example, the following set of clauses can be simplified by unit propagation because it contains the unit clause a.

{a vee b, eg a vee c, eg c vee d, a}

Since a vee b contains the literal a, this clause can be removed altogether. Since eg a vee c contains the negation of the literal in the unit clause, this literal can be removed from the clause. The unit clause a is not removed; this would make the resulting set not equivalent to the original one; this clause can be removed if already stored in some other form (see section "Using a partial model"). The effect of unit propagation can be summarized as follows.

The resulting set of clauses {c, eg c vee d, a} is equivalent to the above one. The new unit clause c that results from unit propagation can be used for a further application of unit propagation, which would transform eg c vee d into d.

Unit propagation and resolution

The second rule of unit propagation can be seen as a restricted form of resolution, in which one of the two resolvents must always be a unit clause. As for resolution, unit propagation is a correct inference rule, in that it never produces a new clause that was not entailed by the old ones. The difference between unit propagation and resolution are:

# resolution is a complete refutation procedure while unit propagation is not; in other words, even if a set of clause is contradictory, unit propagation may not generate an inconsistency;
# the two clauses that are resolved cannot in general be removed after the generated clause is added to the set; on the contrary, the non-unit clause involved in a unit propagation can be removed when its simplification is added to the set;
# resolution does not in general include the first rule used in unit propagation.

Resolution calculi that include subsumption can model rule one by subsumption and rule two by a unit resolution step, followed by subsumption.

Unit propagation, applied repeatedly as new unit clauses are generated, is a complete satisfiability algorithm for sets of propositional Horn clauses; it also generates a minimal model for the set if satisfiable: see Horn-satisfiability.

Using a partial model

The unit clauses that are present in a set of clauses or can be derived from it can be stored in form of a partial model (this partial model may also contain other literals, depending on the application). In this case, unit propagation is performed based on the literals of the partial model, and unit clauses are removed if their literal is in the model. In the example above, the unit clause a would be added to the partial model; the simplification of the set of clause would then proceed as above with the difference that the unit clause a is now removed from the set. The resulting set of clause is equivalent to the original one under the assumption of validity of the literals in the partial model.

Complexity

The direct implementation of unit propagation takes time quadratic in the total size of the set to check , which is defined to be the sum of the size of all clauses, where the size of each clause is the number of literals it contains.

Unit propagation can however be done in linear time by storing, for each variable, the list of clauses in which each literal is contained. For example, the set above can be represented by numbering each clause as follows: {1: a vee b, 2: eg a vee c, 3: eg c vee d, 4: a} and then storing, for each variable, the list of clauses containing the variable or its negation:

This simple data structure can be built in time linear in the size of the set, and allows finding all clauses containing a variable very easily. Unit propagation of a literal can be performed efficiently by scanning only the list of clauses containing the variable of the literal. More precisely, the total running time for doing unit propagation for all unit clauses is linear in the size of the set of clauses.

ee also

* Horn satisfiability
* Horn clause
* Automated theorem proving
* DPLL algorithm

References

* W. Dowling and J. Gallier (1984). Linear-time algorithms for testing the satisfiability of propositional Horn formulae. Journal of Logic Programming, 1(3):267-284.

* H. Zhang and M. Stickel (1996). An efficient algorithm for unit-propagation. In Proceedings of the Fourth International Symposium on Artificial Intelligence and Mathematics.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Propagation constant — The propagation constant of an electromagnetic wave is a measure of the change undergone by the amplitude of the wave as it propagates in a given direction. The quantity being measured can be the voltage or current in a circuit or a field vector… …   Wikipedia

  • List of radio propagation topics — This is a list of radio propagation terms. NOTOC A a index A index aa index active prominence active prominence region (APR) active region active surge region (ASR) active dark filament (ADF) AE index Air Force Geophysics Laboratory (AFGL) arch… …   Wikipedia

  • Radio propagation — is a term used to explain how radio waves behave when they are transmitted, or are propagated from one point on the Earth to another. [ H. P. Westman et al, (ed), Reference Data for Radio Engineers, Fifth Edition , 1968, Howard W. Sams and Co.,… …   Wikipedia

  • Multipath propagation — This article is about the electromagnetic propagation phenomenon. For the computing storage term, see Multipath I/O. For the routing term, see Multipath Routing. In wireless telecommunications, multipath is the propagation phenomenon that results …   Wikipedia

  • Committee for the Propagation of Virtue and the Prevention of Vice (Gaza Strip) — The Committee for the Propagation of Virtue and the Prevention of Vice is a group in the Gaza Strip responsible for enforcing Muslim codes of behavior.[1][2][3] According to journalist Khaled Abu Toameh and Middle East researcher Dr. Jonathan… …   Wikipedia

  • Central processing unit — CPU redirects here. For other uses, see CPU (disambiguation). An Intel 80486DX2 CPU from above An Intel 80486DX2 from below …   Wikipedia

  • Climatic Research Unit email controversy — Date 17 November 2009 Location Climatic Research Unit, University of East Anglia Also known as Climategate Inquiries House of Commons Science and Technology Committee (UK)[1] Independent Climate Change Review (UK) International Science Assessment …   Wikipedia

  • Chain propagation — is a process in which a reactive intermediate is continuously regenerated during the course of a chemical reaction. In polymerization reaction, the reactive end groups of a polymer chain react in each propagation step with a new monomer molecule… …   Wikipedia

  • Central Processing Unit — Processeur « CPU » redirige ici. Pour les autres significations, voir CPU (homonymie) …   Wikipédia en Français

  • Central processing unit — Processeur « CPU » redirige ici. Pour les autres significations, voir CPU (homonymie) …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”