Python 3 (ipykernel)
def hide_code_in_slideshow():
from IPython import display
import binascii
import os
uid = binascii.hexlify(os.urandom(8)).decode()
html = """<div id="%s"></div>
<script type="text/javascript">
$(function(){
var p = $("#%s");
if (p.length==0) return;
while (!p.hasClass("cell")) {
p=p.parent();
if (p.prop("tagName") =="body") return;
}
var cell = p;
cell.find(".input").addClass("hide-in-slideshow")
});
</script>""" % (uid, uid)
display.display_html(html, raw=True)
import matplotlib.pyplot as plt
import numpy as np
import numpy.linalg as lin
from IPython.display import Image
def border(x,y):
return x*y
def dist_to_border(x,y):
return 1 - np.sqrt(x*x+y*y)
def random_on_circle(x,y,r):
th = np.random.random()*2*np.pi
return x + r*np.cos(th),y + r*np.sin(th)
def wos(x,y):
d = dist_to_border(x,y)
if d < 0:
return 0
while d > 1e-3:
x,y = random_on_circle(x,y,d)
d = dist_to_border(x,y)
return border(x,y)
def wos_solve(x,y):
E = 0
MC = 1000
for i in range(MC):
E += wos(x,y)
return E/N
def monte_carlo():
fig, (ax1, ax2) = plt.subplots(1, 2)
N = 1000
X = [i for i in range(N)]
Y = [0]
for i in range(N-1):
Y.append(Y[-1] + np.random.randn(1)[0])
ax1.plot(X,Y)
N = 20
X = np.linspace(-1.0,1.0,N)
Y = np.linspace(-1.0,1.0,N)
Z = np.zeros((N,N))
for j in range(N):
for i in range(N):
Z[i,j] = wos_solve(X[i],Y[j])
ax2.imshow(Z)
xxxxxxxxxx
# Calcul stochastique et Monte-Carlo Geometry Processing
monte_carlo()
xxxxxxxxxx
Pourquoi cette présentation?
Monte-Carlo geometry processing -> trop cool mais 2 manières de contribuer:
soit par "tricks" monte-carlo, proches des thématiques du rendu, sampling
soit par progrès maths -> processus stochastiques/EDP
Pourquoi le calcul stochastique?
L'intérêt du calcul stochastique pour la modélisation:
Ne serait que par humilité -> très peu probable qu'un modèle décrive exactement un phénomène physique, ajouter du bruit pour modélisation les forces inconnues
Par réalisme -> exemple: simulation de comportements d'animaux
Pourquoi cette présentation? Monte-Carlo geometry processing -> trop cool mais 2 manières de contribuer: soit par "tricks" monte-carlo, proches des thématiques du rendu, sampling soit par progrès maths -> processus stochastiques/EDP Pourquoi le calcul stochastique?
L'intérêt du calcul stochastique pour la modélisation: Ne serait que par humilité -> très peu probable qu'un modèle décrive exactement un phénomène physique, ajouter du bruit pour modélisation les forces inconnues Par réalisme -> exemple: simulation de comportements d'animaux
xxxxxxxxxx
## Pourquoi ce sujet ?
Je tombe sur un article de Keenan Crane qui parle de MCGP :
C'est génial!
Je tombe sur un article de Keenan Crane qui parle de MCGP : C'est génial!
xxxxxxxxxx
- Je me demande comment contribuer?
- Soit par l'amélioration de l'approche Monte-Carlo, proche de ce qui se fait en rendu (Control Variate, etc...)
- Soit par progrès en calcul stochastique/EDP
xxxxxxxxxx
- J'achète un bouquin : "Calcul stochastique et modèles de diffusions"
- Très vite par pur intérêt scientifique:
- Liens hautement non triviaux pour l'intuition entre Processus aléatoires et résolution d'EDP
xxxxxxxxxx
## Pourquoi le calcul stochastique ?
La modélisation par équation différentielle est vaste mais souhaiter introduire de l'aléatoire est une impulsion naturelle en modélisation:
Très peu de chance que le modèle soit exact, on peut introduire de l'aléa:
La modélisation par équation différentielle est vaste mais souhaiter introduire de l'aléatoire est une impulsion naturelle en modélisation:
Très peu de chance que le modèle soit exact, on peut introduire de l'aléa:
xxxxxxxxxx
- Par réalisme :
- Si on simule le comportement d'animaux, même si on peut décrire les influences sur les comportements par des EDO, il y a toujours des comportements erratiques.
- Par humilité :
- un peu perdu : on peut introduire du bruit pour prendre en compte les forces qu'on pourrait oublier/négliger.
- complètement perdu : l'évolution de la bourse est trop imprévisible pour des modèles différentiels.
xxxxxxxxxx
## Qu'est ce que le calcul stochastique ?
* L'étude des processus aléatoires et de leurs intéractions avec différentes questions d'analyse. Par exemple:
- Si j'ai une fonction $\varphi$ et un mouvement brownien $(X_t)_{t\in\mathbb{R}}$, qu'est ce que je peux dire sur $\varphi(X_t)$ ?
- Peut-on coupler la notion d'équation différentielle avec les phénomènes aléatoires ?
- Outils intéressants pour l'analyse en générale.
L'étude des processus aléatoires et de leurs intéractions avec différentes questions d'analyse. Par exemple:
xxxxxxxxxx
## Notion de processus stochastique:
Une application est un processus stochastique à valeur dans $E$ indexé par $\mathbb{T}$ si
$$
\forall t \in \mathbb{T},X(t) : \omega \rightarrow X(t,\omega) \text{ est une variable aléatoire dans } E
$$
Un processus aléatoire est caractérisée par la loi que ses valeurs peuvent prendre, souvent en fonction de $t$.
Une application est un processus stochastique à valeur dans
Un processus aléatoire est caractérisée par la loi que ses valeurs peuvent prendre, souvent en fonction de
xxxxxxxxxx
### Example fondamental : Le mouvement brownien
$$
\begin{cases}
B_0 = 0 \\
B_{t+h} - B_t \sim \mathcal{N}(0,h)
\end{cases}
$$
<img src="brownian_motion.gif" width="350"/>