Vasilisa yaviks - Intelligens kereső

Ebben a kifejezést, vannak más célra, lásd. A invariáns.

Hurok invariáns - programozás - logikai kifejezés. Igaz minden ciklus után a test üreg (miután a rögzített operátor) és mielőtt a ciklus, attól függően változó, hogy a változás a ciklus törzse. Invariánsokat használják programot verifikációs elmélete bizonyítani a helyességét a kapott eredmény egy ciklikus algoritmust.

meghatározás

Hurok invariáns egy matematikai kifejezés (jellemzően - az egyenlőség), amelyben elkerülhetetlenül tartalmaz legalább néhány változót, amelynek értékei változnak egy járaton át egy másik ciklus. Az invariáns úgy van kialakítva, hogy igaz legyen közvetlenül megelőzően végrehajtási ciklus (mielőtt az első iteráció), és minden iteráció után. Továbbá, ha a változóval vannak meghatározva, egy cikluson belül (például ciklus számláló Ada vagy Pascal), hogy adja meg a ciklus ők tartják azokat az értékeket, amelyek megkapják az időben elindulni.

A bizonyíték a helyességét A ciklus invariáns

Az, hogy a bizonyítékok ciklus műveletet invariáns a következő:

  1. Bebizonyosodott, hogy az invariáns kifejezés igaz, mielőtt a hurok.
  2. Bebizonyosodott, hogy az invariáns kifejezést megtartja az igazság után a ciklus testet; így indukcióval, ha bebizonyosodik, hogy a végén az egész ciklust végeznek állandó.
  3. Bebizonyosodott, hogy az invariáns igazság túl ciklusváltozók lesz pontosan a kívánt értéket kap (ez határozza meg az elemi kifejezése állandó és ismert véges a változók értékeit, amikor a feltétel befejezése a ciklus).
  4. Ez azt bizonyítja, (lehetőség szerint - használata nélkül invariáns), hogy a ciklus befejeződött, azaz a befejezés feltétele előbb vagy utóbb lesz végrehajtva.
  5. Az igazság az állítások bizonyult a korábbi szakaszokban egyértelműen jelzi, hogy a ciklus végrehajtódik egy véges idő és így a kívánt eredményt.

invariáns is használják a tervezés és optimalizálás a ciklikus algoritmusok. Például, hogy győződjön meg arról, hogy az optimalizált ciklus helyes volt, elegendő annak bizonyítására, hogy a hurok invariáns nem törött, és a feltétel teljesíthető ciklus befejeződött.

jegyzetek

Kapcsolódó cikkek