SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
*   reverseはmonotonicな関数
*   reverseの実行には|r|ステップかかる
*   |r|ステップ = 借金
*   最も外側にあるreverse suspは|f|回のtailの後にforce
*   |r| =~ |f| の時reverseして、
*   オペレーション毎に借金を1つ返済するなら、
*   reverseをforceするまでにその借金を返済すれば良い
let q0 = (m, f, m, r)
let q1 = tail q0 # <= f ++ reverse r -- |r|借金
let q2 = tail q1
let q3 = tail q2
...
let qm = tail qm-1 # <= force (reverse r) -- 返済期限

ここの時任意のkで分岐が発生したとするとqkからqmまで
分岐先でも二重に実行されることになる。
let q0 = (m, f, m, r)
let q0' = q0
let q1 = tail q0 # <= f ++ reverse r -- |r|借金
...
let qm = tail qm-1 # <= force (reverse r) -- 返済期限

let q1' = tail q0' # <= f ++ reverse r -- |r|借金
...
let qm' = tail qm-1' # <= force (reverse r) -- 返済期限
d(i) = fのi番目の要素における借金
D(i) = 0からiまでのd(j)を足しこんだもの

さらに↓を不変条件とする

D(i) <= min(2i, |f| - |r|)
readpfds_6.3.2
readpfds_6.3.2
readpfds_6.3.2

Contenu connexe

En vedette

Presentation Olozim Association
Presentation Olozim AssociationPresentation Olozim Association
Presentation Olozim AssociationFranck JULIEN
 
Nouveauté matériel: Les tablettes, l'iPad, les OS crières de choix
Nouveauté matériel: Les tablettes, l'iPad, les OS crières de choixNouveauté matériel: Les tablettes, l'iPad, les OS crières de choix
Nouveauté matériel: Les tablettes, l'iPad, les OS crières de choixReseau Informed
 
L'application iphone du mois de janvier 2010: iSort
L'application iphone du mois de janvier 2010: iSortL'application iphone du mois de janvier 2010: iSort
L'application iphone du mois de janvier 2010: iSortReseau Informed
 
Mes services d'accompagnement pour les dirigeants
Mes services d'accompagnement pour les dirigeantsMes services d'accompagnement pour les dirigeants
Mes services d'accompagnement pour les dirigeantsKael KOLODZIEJ
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 

En vedette (6)

Presentation Olozim Association
Presentation Olozim AssociationPresentation Olozim Association
Presentation Olozim Association
 
Nouveauté matériel: Les tablettes, l'iPad, les OS crières de choix
Nouveauté matériel: Les tablettes, l'iPad, les OS crières de choixNouveauté matériel: Les tablettes, l'iPad, les OS crières de choix
Nouveauté matériel: Les tablettes, l'iPad, les OS crières de choix
 
L'application iphone du mois de janvier 2010: iSort
L'application iphone du mois de janvier 2010: iSortL'application iphone du mois de janvier 2010: iSort
L'application iphone du mois de janvier 2010: iSort
 
Mes services d'accompagnement pour les dirigeants
Mes services d'accompagnement pour les dirigeantsMes services d'accompagnement pour les dirigeants
Mes services d'accompagnement pour les dirigeants
 
Contrat Type Web
Contrat Type WebContrat Type Web
Contrat Type Web
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 

readpfds_6.3.2

  • 1.
  • 2.
  • 3.
  • 4. * reverseはmonotonicな関数 * reverseの実行には|r|ステップかかる * |r|ステップ = 借金 * 最も外側にあるreverse suspは|f|回のtailの後にforce * |r| =~ |f| の時reverseして、 * オペレーション毎に借金を1つ返済するなら、 * reverseをforceするまでにその借金を返済すれば良い
  • 5. let q0 = (m, f, m, r) let q1 = tail q0 # <= f ++ reverse r -- |r|借金 let q2 = tail q1 let q3 = tail q2 ... let qm = tail qm-1 # <= force (reverse r) -- 返済期限 ここの時任意のkで分岐が発生したとするとqkからqmまで 分岐先でも二重に実行されることになる。
  • 6.
  • 7. let q0 = (m, f, m, r) let q0' = q0 let q1 = tail q0 # <= f ++ reverse r -- |r|借金 ... let qm = tail qm-1 # <= force (reverse r) -- 返済期限 let q1' = tail q0' # <= f ++ reverse r -- |r|借金 ... let qm' = tail qm-1' # <= force (reverse r) -- 返済期限
  • 8.
  • 9. d(i) = fのi番目の要素における借金 D(i) = 0からiまでのd(j)を足しこんだもの さらに↓を不変条件とする D(i) <= min(2i, |f| - |r|)