Contenu connexe Similaire à 不動点×不動点×不動点コンビネータ (20) Plus de Kazuhiro Hishinuma (16) 不動点×不動点×不動点コンビネータ14. 不動点コンビネータ
Y が不動点コンビネータである
⇐⇒
def
for all g : 関数, Y (g) = g(Y (g))
e.g. (Y コンビネータ; see, [2, 3])
for all g : 関数, Y := λf.((λx.f(x(x)))(λx.f(x(x)))),
Y (g) = (λx.g(x(x)))(λx.g(x(x)))
= g((λx.g(x(x)))(λx.g(x(x))))
= g(Y (g))
Kazuhiro Hishinuma 不動点 × 不動点 × 不動点コンビネータ
20. 不動点コンビネータによる再帰計算
(otherwise の成立を仮定して考察する)
α ∈ (0, 1), M := λfx.f(αx + (1 − α)T(x)),
Y (M)(x0) = M(Y (M))(x0)
= Y (M)(αx0 + (1 − α)T(x0))
x1 := αx0 + (1 − α)T(x0)
Y (M)(x0) = Y (M)(x1)
Kazuhiro Hishinuma 不動点 × 不動点 × 不動点コンビネータ
21. 不動点コンビネータによる再帰計算
(otherwise の成立を仮定して考察する)
α ∈ (0, 1), M := λfx.f(αx + (1 − α)T(x)),
Y (M)(x0) = M(Y (M))(x0)
= Y (M)(αx0 + (1 − α)T(x0))
x1 := αx0 + (1 − α)T(x0)
Y (M)(x0) = Y (M)(x1)
= M(Y (M))(x1)
Kazuhiro Hishinuma 不動点 × 不動点 × 不動点コンビネータ
22. 不動点コンビネータによる再帰計算
(otherwise の成立を仮定して考察する)
α ∈ (0, 1), M := λfx.f(αx + (1 − α)T(x)),
Y (M)(x0) = M(Y (M))(x0)
= Y (M)(αx0 + (1 − α)T(x0))
x1 := αx0 + (1 − α)T(x0)
Y (M)(x0) = Y (M)(x1)
= M(Y (M))(x1)
= Y (M)(αx1 + (1 − α)T(x1))
Kazuhiro Hishinuma 不動点 × 不動点 × 不動点コンビネータ
23. 不動点コンビネータによる再帰計算
(otherwise の成立を仮定して考察する)
α ∈ (0, 1), M := λfx.f(αx + (1 − α)T(x)),
Y (M)(x0) = M(Y (M))(x0)
= Y (M)(αx0 + (1 − α)T(x0))
x1 := αx0 + (1 − α)T(x0)
Y (M)(x0) = Y (M)(x1)
= M(Y (M))(x1)
= Y (M)(αx1 + (1 − α)T(x1))
x2 := αx1 + (1 − α)T(x1)
Kazuhiro Hishinuma 不動点 × 不動点 × 不動点コンビネータ
24. 不動点コンビネータによる再帰計算
(otherwise の成立を仮定して考察する)
α ∈ (0, 1), M := λfx.f(αx + (1 − α)T(x)),
Y (M)(x0) = M(Y (M))(x0)
= Y (M)(αx0 + (1 − α)T(x0))
x1 := αx0 + (1 − α)T(x0)
Y (M)(x0) = Y (M)(x1)
= M(Y (M))(x1)
= Y (M)(αx1 + (1 − α)T(x1))
x2 := αx1 + (1 − α)T(x1)
Y (M)(x0) = Y (M)(x2)
= · · ·
Kazuhiro Hishinuma 不動点 × 不動点 × 不動点コンビネータ
25. 結論
Krasnosel’skii-Mann iterations の不動点は,
(function(f){return((function(x){return(f(x(x)));})(function(x){return
(f((function(t){return((x(x))(t));})));}));})(function(f){return(funct
ion(p){return((function(n){return((function(a,b){return(Math.pow((func
tion(p){return(p(function(a,b){return(a);}));})(a)-(function(p){return
(p(function(a,b){return(a);}));})(b),2)+Math.pow((function(p){return(p
(function(a,b){return(b);}));})(a)-(function(p){return(p(function(a,b)
{return(b);}));})(b),2));})(p,n)<1e-8?n:f(n));})((function(p){return((
function(a,b){return((function(a,b){return(function(s){return(s(a,b));
});})((function(p){return(p(function(a,b){return(a);}));})(a)+(functio
n(p){return(p(function(a,b){return(a);}));})(b),(function(p){return(p(
function(a,b){return(b);}));})(a)+(function(p){return(p(function(a,b){
return(b);}));})(b)));})((function(a,b){return((function(a,b){return(f
unction(s){return(s(a,b));});})((function(p){return(p(function(a,b){re
turn(a);}));})(a)*b,(function(p){return(p(function(a,b){return(b);}));
})(a)*b));})(p,0.5),(function(a,b){return((function(a,b){return(functi
on(s){return(s(a,b));});})((function(p){return(p(function(a,b){return(
a);}));})(a)*b,(function(p){return(p(function(a,b){return(b);}));})(a)
*b));})((function(p){return((function(a,b){return(function(s){return(s
(a,b));});})(-(function(p){return(p(function(a,b){return(b);}));})(p),
(function(p){return(p(function(a,b){return(a);}));})(p)));})(p),0.5)))
;})(p)));});}) /* JavaScript */
Kazuhiro Hishinuma 不動点 × 不動点 × 不動点コンビネータ
26. Thanks1 for
Your Listening!
1
Special Thanks for Hideaki Iiduka2
and @koropicot3
.
2
Hideaki Iiduka: http://www.ndrc.kyutech.ac.jp/∼iiduka/
3
@koropicot: http://twitter.com/koropicot
Kazuhiro Hishinuma 不動点 × 不動点 × 不動点コンビネータ
27. 参考文献
[1] 山田功『工学のための関数解析』数理工学社, pp.212-213.
[2] 吉田武『素数夜曲: 女王陛下の LISP』東海大学出版会, pp.572-580.
[3] D.P.Friedman and M.Felleisen『Scheme 手習い』オーム社,
pp.162-175.
[4] Bauschke, H.H., Combettes, P.L.: Convex Analysis and Monotone
Operator Theory in Hilbert Spaces. Springer (2011), pp.78-82
Kazuhiro Hishinuma 不動点 × 不動点 × 不動点コンビネータ