Newsgroup: it.hobby.enigmi
Titolo: Cellule immortali [era: Un SOGNO non considerato...]

Da it.discussioni.misteri.
Postincrocio con it.hobby.enigmi
Seguesu' it.hobby.enigmi
Guardando il dito o seguendo la luna, JWorld ha scritto:
| una cellula, in ogni istante, ha quattro possibilità ugualmente 
| probabili:
| 
| 1) morire
| 2) non fare nulla
| 3) dividersi in due cellule
| 4) dividersi in tre cellule.
| 
| Qual'e la probabilità totale che la sua stirpe si estingua?
Nota mia: io ho trovato due soluzioni che non sono riuscito a ridurre...
confido negli amici di IHE...
Un saluto a tutti.
Ciao ciao
Claudio

 ha scritto nel messaggio
news:pan.2005.09.08....@gmail.com...

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Io ho ragionato così, ma magari sono caduto in qualche trappoletta...
Se consideriamo la capostipite, la probabilità della sua stirpe di estinguersi è
x = 1/4 + 1/4 * probabilità che si estinguano entrambe le stirpi generate dalle
2 cellule ottenute per "duplicazione" + 1/4 * probabilità che si estinguano
entrambe le stirpi generate dalle 3 cellule per "triplicazione"
Per ciascuna cellula figlia la probabilità che la sua stirpe si estingua è la
stessa della capostipite ed è esattamente il valore che stiamo cercando (x).
Quindi si avrà:
x = 1/4 + 1/4 * x^2 + 1/4 * x^3
x^3 + x^2 - 4 * x + 1 = 0
Risolvendo questa equazione, l'unica delle 3 radici accettabile (tra 0 e 1) è
circa 0.2739.
Quindi la probabilità di estinzione totale è un po' più del 27%
Bye
Raf

 x^3 + x^2 - 4 * x + 1 = 0
E conseguentemente:
x^3 + x^2 - 3*x + 1 = 0
che ha due soluzioni tra 0 e 1...
Ciao ciao
Claudio

 Claudio
Ciao
Raf

 distinte probabilità di verificarsi...
Infatti la probabilita' dev'essere unica... ma in qualche modo l'equazione
risolutiva non e' detto che contenga tutti i dati del problema... Il
casino e' che non so trovare una ragione buona per eliminare una delle due
soluzioni restanti... Mi viene quasi il dubbio che non ci sia soluzione
[non saprei perche', ma in fondo implicitamente ci si riferisce ad un
insieme infinito...]. Boh! :-)
Ciao ciao
Claudio

 Guardando il dito o seguendo la luna, JWorld ha scritto:
etc.
Un saluto ai frequentatori di questo illustre NG,
sono JWorld, quello che ha tirato fuori l'enigma di cui a questro 
thread.
Senza lambiccarmi il cervello più di tanto, per risolvere il problema 
ho semplicemente scritto un programmino in VB.Net che esegue la 
semplice simulazione.
Nel modello ho assunto che se la stirpe raggiungeva la popolazione di 
1000 unità non si sarebbe più estinta. Tale assunzione è valida in 
quanto da un'analisi preliminare del problema emerge chiaramente che 
la probabilità di estinzione deve essere superiore  a 0,25 ma non 
troppo superiore.
su  123704 cicli, si sono verificate 44888 estinzioni, il che da una 
probabilità di 0,362866
lascio la soluzione analitica alle brillanti menti di questo NG. Però 
mi sorprenderebbe molto se la soluzione differisse di molto da quella 
trovata empiricamente.
Saluti,
JWorld
segue codice sorgente  dalla form 
vb.net
:
Imports System.Text
Public Class Form1
Inherits System.Windows.Forms.Form
Public Running As Boolean
Public Cicli As Integer
Public Estinzioni As Integer
Public Soglia As Integer = 1000
Public Popolazione As Integer
Dim report As New StringBuilder(100)
#Region " Codice generato da Progettazione Windows Form "
Public Sub New()
MyBase.New()
'Chiamata richiesta da Progettazione Windows Form.
InitializeComponent()
'Aggiungere le eventuali istruzioni di inizializzazione dopo la 
chiamata a InitializeComponent()
End Sub
'Form esegue l'override del metodo Dispose per pulire l'elenco dei 
componenti.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Richiesto da Progettazione Windows Form
Private components As System.ComponentModel.IContainer
'NOTA: la procedura che segue è richiesta da Progettazione Windows 
Form.
'Può essere modificata in Progettazione Windows Form.
'Non modificarla nell'editor del codice.
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
<System.Diagnostics.DebuggerStepThrough()> Private Sub 
InitializeComponent()
Me.Button1 = New System.Windows.Forms.Button
Me.Button2 = New System.Windows.Forms.Button
Me.Label1 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.SuspendLayout()
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(32, 200)
Me.Button1.Name
 = "Button1"
Me.Button1.Size = New System.Drawing.Size(80, 48)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Start"
'
'Button2
'
Me.Button2.Location = New System.Drawing.Point(152, 200)
Me.Button2.Name
 = "Button2"
Me.Button2.Size = New System.Drawing.Size(80, 48)
Me.Button2.TabIndex = 0
Me.Button2.Text = "Stop"
'
'Label1
'
Me.Label1.Location = New System.Drawing.Point(24, 56)
Me.Label1.Name
 = "Label1"
Me.Label1.Size = New System.Drawing.Size(264, 128)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Label1"
'
'Label2
'
Me.Label2.Location = New System.Drawing.Point(24, 8)
Me.Label2.Name
 = "Label2"
Me.Label2.Size = New System.Drawing.Size(232, 23)
Me.Label2.TabIndex = 2
Me.Label2.Text = "Label2"
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.Add(Me.Label2)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Button2)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button1.Click
Running = True
Cicli = 0
Estinzioni = 0
Ciclo()
End Sub
Public Sub Ciclo()
Dim i As Integer
Dim NuovaPopolazione As Integer = 0
Dim r As Single
Randomize()
Do While Running
NuovaPopolazione = 1
Cicli = Cicli + 1
Do While True
Label2.Text = "popolazione: " & NuovaPopolazione.ToString
Label2.Update()
Popolazione = NuovaPopolazione
NuovaPopolazione = 0
For i = 1 To Popolazione
Application.DoEvents()
r = Rnd()
' la cellula in questione muore
If r >= 0 And r < 0.25 Then
' non aggiungiamola alla nuova popolazione
End If
' la cellula rimane com'è
If r >= 0.25 And r < 0.5 Then
' aggiungiamola alla nuova popolazione
NuovaPopolazione = NuovaPopolazione + 1
End If
' la cellula si divide in due
If r >= 0.5 And r < 0.75 Then
' aggiungiamo due cellule alla nuova popolazione
NuovaPopolazione = NuovaPopolazione + 3
End If
' la cellula si divide in tre
If r >= 0.75 And r <= 1 Then
' aggiungiamo tre cellule alla nuova popolazione
NuovaPopolazione = NuovaPopolazione + 3
End If
Next
If NuovaPopolazione = 0 Then
' ciclo finito con un'estinzione
Estinzioni = Estinzioni + 1
Exit Do
End If
If NuovaPopolazione > Soglia Then
' ciclo finito senza estinzioni
Exit Do
End If
Loop
With report
.Length = 0
.AppendFormat("CICLI: {0}{1}", Cicli, vbCrLf)
.AppendFormat("Estinzioni: {0}{1}", Estinzioni, vbCrLf)
.AppendFormat("Prob. Estinzione: {0}{1}", Estinzioni / Cicli, vbCrLf)
Label1.Text = .ToString
Label1.Update()
Me.Update()
End With
Loop
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button2.Click
Running = False
End Sub
End Class

 distinte probabilità di verificarsi...
Pero' le due soluzioni in questione sono 0.4142 e 1.
La soluzione 1 chiaramente non va bene.
Empiricamente viene un numero circa 0.41 quindi direi che la radice 
0.4142 e' quella giusta.
ciao,
v.

 superiore.
Simulazione? E come fai?
Vedo che anche vanvera fà un'affermazione analoga, ma non è mica facile fare 
una simulazione di questa situazione.
Che la probabilità di estinzione sia superiore a 0,25 è inopinabile, ma non 
vedo perchè debba essere "non troppo superiore".
Affermi che avendo 1000 cellule la probabilità di estinzione sia circa 
nulla, sebbene tale affermazione sia abbastanza condivisibile non ne vedo 
l'evidenza matematica.
Sinceramente non saprei come risolvere il problema delle due soluzioni 
trovate da Coso (di cui condivido in pieno il ragionamento): 1 e sqrt(2)-1
Certo, ipotizzando che raggiunte le 1000 cellule (o comunque le N cellule) 
queste si estingano con probabilità nulla comporta l'eliminazione della 
soluzione 1 e avremo la risposta al quesito. Però mi piacerebbe vedere 
qualche prova convincente di questo fatto, l'intuito non ne dubita ma, si 
sa, con le probabilità l'intutito fa spesso cilecca.
Vediamo se la notte porta consiglio.....
Ciao,
GaS 

 che ha due soluzioni tra 0 e 1...
Il tuo procedimento è corretto. Intanto ti faccio notare che le
soluzioni si possono trovare esplicitamente, proprio perché 1 è una
soluzione:
x^3 + x^2 - 3*x + 1 = (x - 1)(x^2 + 2x - 1)
da cui le tre soluzioni:
x = 1;   x = sqrt(2) - 1;   x = -sqrt(2) - 1.
La terza soluzione ovviamente va scartata perché negativa; vediamo di
capire perché anche la soluzione x = 1 va scartata.
Generalizziamo leggermente il problema, supponendo che la probabilità di
morire della cellula sia t (nel problema originale t = 1/4) e che le
altre tre probabilità siano uguali e quindi valgano tutte (1 - t)/3.
L'equazione diventa in questo caso:
x = t + [(1 - t)/3] x + [(1 - t)/3] x^2 + [(1 - t)/3] x^3,
cioè:
(1 - t) x^3 + (1 - t) x^2 - (2 + t) x + 3t =0.
Anche questa si fattorizza:
(1 - t) x^3 + (1 - t) x^2 - (2 + t) x + 3t =
= (x - 1) [(1 - t) x^2 + 2(1 - t) x - 3t]
sicché possiamo trovare esplicitamente le soluzioni:
x = 1;    
x = -1/2 + (1/2)sqrt[(1 + 2t)/(1-t)];
x = -1/2 - (1/2)sqrt[(1 + 2t)/(1-t)].
Come prima, la terza soluzione è negativa e va scartata a priori. Nel
caso particolare t = 0, la seconda soluzione diventa x = 0 ed è quella
corretta (se t = 0 nessuna cellula muore mai). Per valori piccoli di t,
la soluzione corretta deve rimanere vicino a zero, quindi è fornita
sempre dalla seconda soluzione.
In altre parole: dalla dipendenza continua della soluzione dal valore di
t, mi aspetto che la seconda soluzione dia il risultato corretto per
valori "non troppo grandi" di t. Per capire quanto può essere grande al
massimo t, osserviamo che il valore dato dalla seconda soluzione
raggiunge 1 per t = 2/5; quindi mi aspetto che la seconda soluzione sia
quella corretta per t < 2/5, mentre per valori superiori avremo x = 1.
Non so se sono stato convincente; un altro metodo più diretto
consisterebbe nel calcolare la probabilità x(n) che la popolazione
cellulare sia estinta dopo n generazioni, ma questo è un po' più
complicato.
Maurizio

 raggiunge 1 per t = 2/5
mi correggo: raggiunge 1 per t = 8/11, scusate la svista.
Maurizio

 mi correggo...
Ecco cosa succede a fare calcoli di sera tardi...
Mi è scappato un fattore 2, quindi le soluzioni giuste sono:
x = 1;    
x = -1 + sqrt[(1 + 2t)/(1-t)];
x = -1 - sqrt[(1 + 2t)/(1-t)].
e il valore limite non è 2/5 né 8/11, bensì t = 1/2.
Spero comunque che il ragionamento sia chiaro...
Maurizio

 ha scritto nel messaggio
news:pan.2005.09.08....@gmail.com...

In effetti rileggendo il quesito
| una cellula, in ogni istante, ha quattro possibilità ugualmente
| probabili:
non ho interpretato al meglio "in ogni istante", il che implica che in tutti gli
istanti successivi al primo la cellula originale, se "sopravvissuta", ha ancora
le 4 possibilità.
Quindi è giusto il tuo ragionamento e il tuo calcolo, anche se lascia perplessi
appunto il fatto che non sia univoca.
Ciao
Raf

 facile fare una simulazione di questa situazione.
forse non hai notato il codice in calce il mio post ...
Saluti,
JWorld

 una simulazione di questa situazione.
Veramente non e' molto difficile. In media una cellula da origine,
nella
generazione successiva, in media a (0+1+2+3)/2 = 1.5 cellule.
Quindi  la probabilita' che una popolazione di 1000 cellule si estingua
e' molto remota, perche' in media alla generazione successiva dovremmo
avere
circa 1500 cellule, mentre la probabilita' di averne meno di 1000 e'
praticamente irrisoria.
Facendo girare il semplice programmino in C che segue per una ora circa
ho analizzato l'esito di 18,700,000 esperimenti e in 7,745,987 casi
pari a circa 0.4142 c'e' stata estinzione.
Questo supporta il risultato teorico di Sqrt(2)-1 = 0.4142...
Il programma in pratica parte con una cellula e fa evolvere il sistema
fino a che non c'e' estinzione o il numero totale raggiunge o eccede
1000.
Per ogni cellula corrente un numero estratto a sorte tra 0 e 3 mi
fornisce
in numero corrispondente di cellule nella generazione successiva.
ciao,
g.
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
int main()
{
  int e=0,t=0,m,i,n;
  srand48(time(0));
  while (1)
    {
      for (n=1; n && n<1000; n=m)
        for (m=i=0; i<n; i++) m+=(lrand48()>>10)&3;
      e+=(n==0?1:0);
      if ((++t)%5000==0)
         printf("Est/Tot=  %d / %d = %.6f\n",e,t,(double)e/t);
    }
  return 0;
}

 End If
Con queste 2 correzioni si vede che il risultato sperimentale tende al valore
ottenuto teoricamente.
Bye
Raf

praticamente irrisoria.
Secondo me è qui il punto, come facciamo a sapere che, una volta raggiunte 
le 1000 cellule, la probabilita' che si estinguano è insignificante? Fare 
questa assunzione significa cancellare *a priori* la possibilità che la 
probabilità di estinzione sia 1.
Forse non mi sono spiegato: non contesto che sia così, solo che non lo vedo 
*matematicamente ovvio*, tutto qui. Una volta fatta questa assunzione la 
simulazione è semplicissima ma, senza questa assunzione, converrai che non 
si può simulare un bel nulla.
Certo, visto che la simulzione ti è venuta proprio pari alla soluzione 
sqrt(2)-1 i miei dubbi si stanno ancora più dissipando........  :-)
Ciao,
GaS 

 complicato.
Ohi, ci ho provato... ma ho dovuto rinunciare subito. :-(
Ciao ciao
Claudio

 probabilità di estinzione sia 1.
Be', avevo fatto un po' di stime empiriche.
Non avendo usato tecniche probabilistiche da un po' preferisco
non avventurarmi in formule teoriche, ma con qualche piccola simulazione
ho visto che se ad un dato momento hai 10 cellule la probabilita'
di averne meno di 10 al passo successiovo e' circa 0.06
Se sono 50 la prob. di calare e' circa 0.00056
per 100 e' 0.0000025 e quindi per 1000 sara' veramente piccola.
E queste sono le stime delle prob. di calare di numero in un passo
evolutivo. Quindi quelle di arrivare a 0 saranno ancora (e di molto)
inferiore.
Quindi l'assunzione di porre un limite a 1000 cellule e' giustificato
da un punto di vista sperimentale.
ciao,
g.

 tuo codice ha un paio di inesattezza:
Grazie per la segnalazione, una volta corretto il codice tende verso 
il valore teorico di
 0.4142  (sqr(2)-1) dopo poco più di 500000 iterazioni.
Saluti,
JWorld

 forse capire un po' la questione... ripeto, se e' fattibile e ti va...
Una dimostrazione formale del fatto che la dipendenza debba essere
continua non ce l'ho, ma "fisicamente" la cosa mi sembra ovvia. 
Volendo una prova matematica, l'unica strada che vedo sarebbe quella di
considerare la successione x(n) delle probabilità che la popolazione sia
estinta dopo n generazioni e dimostrare che tale successione converge
uniformemente rispetto al parametro t. Però non so se sia un'idea
percorribile, perché le x(n) sono polinomi in t che si possono trovare
per ricorrenza in modo molto complicato ma di cui non credo si possa
dare un'espressione trattabile.
Giusto per dare un'idea, oggi ho aggeggiato un po' con Mathematica e ho
trovato (sperando che siano giusti):
x(1) = t
x(2) = 4t/3 - t^4/3
x(3) = (13t)/9 + (4t^2)/27 + (16t^3)/81 - (73t^4)/81 - (5t^5)/27 - 
(8t^6)/27 + (16t^7)/27 + t^8/27 + t^9/9 - (4t^10)/27 - t^12/81 + t^13/81
e andando avanti le espressioni si complicano in modo orribile...
Maurizio

 Claudio
Secondo me la soluzione x=1
va scartata perchè rientrando
nell'equazione:
x = 1/4 +1/4 x+ 1/4 x^2 + 1/4 x^3
significa dire
che la certezza dell'estinzione
della stirpe di una cellula
dipende dalla certezza dell'estinzione
delle stirpi della sua prole.
E questo è un risultato banale.
.............
Una richiesta a JWorld:
come si fa girare il tuo
codice sorgente dalla form 
vb.net
?
Saluti a tutti

 E questo è un risultato banale.
Quello che in realtà si ottiene, se fosse x=1, è che
avremmo la certezza di estinguerle tutte anche a partire da
un milione di cellule.
Questo sembra improbabile, ma in generale problemi simili
possono avere soluzioni imprevedibili (vedi random walk, mono
e bidimensionali)
La soluzione corretta è quella che ha mostrato Maurizio Frigeni.
Niente vieta che per altri valori delle probabilità di morte
o riproduzione delle cellule, diversi da quelli del problema
originale, si ottenga necessariamente la soluzione x=1.
Ad esempio:
prob. di morire: 90%
prob. di triplicarsi: 10%
==> x=0.9*1+0.1*x^3
Si trovano le soluzioni: x=1, x=2.54, x=-3.54
E in questo caso non c'è dubbio che l'unica soluzione sia
x=1, visto anche come la prob. di morire sia prevalente.
Ciao
Andrea

> Gabriele "GaS" Carelli wrote:


Invece di fissare un valore nmax=1000
nella simulazione di Giovanni
si può fissare un errore molto piccolo,
che ne so e=1/10000,
e memorizzare la differenza tra due cicli successivi.
Quando questa differenza è inferiore a e
si arresta la simulazione e si fornisce
il risultato.
Così si supera il problema di fissare
un limite in generazioni più o meno opinabile
assegnando una soglia che dipende
solo dalla precisione che si vuole raggiungere.
Ciao a tutti

 dare un'espressione trattabile.
Credo di aver trovato una strada breve...
Prima di tutto chiamo p(n,k) la probabilita' di estinzione di n cellule
entro k momenti...
Per quanto gia' visto...
ovviamente, per n>0, abbiamo:
p(n,k) = [p(1,k)]^n
e
p(n,0) = 0
e
p(n,1) = (1/4)^n
mentre per n=0 abbiamo:
p(0,k)= 1
Ora, seguendo il solito discorso gia' visto:
p(1,k) = (1/4) * [p(0,k-1) + p(1,k-1) + p(2,k-1) + p(3,k-1)]
e, per praticita', indicando con x(k) la p(1,k):
x(k) = p(1,k)
Sostituendo nella precedente ottengo la successione definita da
x(k) = (1/4) * [1 + x(k-1) + (x(k-1))^2 + (x(k-1))^3]
x(0) = 0
x(1) = 1/4
...
Questa successione e' strettamente crescente per valori di x(k-1) compresi
tra 0 e sqrt(2)-1, mentre e' strettamente decrescente per valori tra
sqrt(2)-1 e 1 [che ad occhio non dovrebbe mai raggiungere]... Quindi credo
di poter dire che il suo limite per k che tende ad infinito puo' essere 1
solo se da un certo k in poi e' definitivamente uguale a 1. Ma per ogni k
finito la probabilita' di estinzione non puo' essere uguale a 1. E' solo
una traccia, perche' non mi ricordo molto di queste cose... ma credo possa
andare.
Ciao ciao
Claudio

 codice sorgente dalla form 
vb.net
?
Ohi, l'ottimo JWorld l'ho trascinato qua quando ho letto il suo gioco in
un altro gruppo... e' possibile che sia altrove e non abbia letto,
quindi... Io non ti saprei dire, che' conosco molto poco il VB in generale
e il net in particolare... :-(
Ciao ciao
Claudio

 ha scritto nel messaggio
news:pan.2005.09.12....@gmail.com...

Non ho mica capito sai?
Il valore limite di una successione (ricorsiva) come questa è determinato solo
dal valore iniziale x(0).
Essa converge ed il limite (lo si può provare) è proprio sqrt(2)-1.
Però mi sa che sei sulla buona strada...
Bye
Raf

 Essa converge ed il limite (lo si può provare) è proprio sqrt(2)-1.
Ottimo. Io non avrei potuto dirlo, visto che non ricordo bene queste
cose... ma se e' cosi' si puo' evitare il mio discorso azzardato sul fatto
che il limite non possa essere 1.
Ora riscrivo il mio ragionamento, sfruttando la tua conclusione.
Chiamo p(n,k) la probabilita' di estinzione di n cellule entro k momenti.
Separando le n cellule, possiamo dire che
a) p(n,k) = [p(1,k)]^n
Ossia che la probabilita' di estinzione di n cellule entro k momenti e'
uguale al prodotto della probabilita' di estinzione di ogni singola
cellula entro gli stessi k momenti.
Per gli estremi del problema, abbiamo:
b) p(1,k) = (1/4) * [p(0,k-1) + p(1,k-1) + p(2,k-1) + p(3,k-1)]
Sfruttando la a) posso riscrivere la b) come:
c) p(1,k) = (1/4) * [1 + p(1,k-1) + (p(1,k-1))^2 + (p(1,k-1))^3]
Considero quindi la successione di p(1,k) in k, e per comodita' la
riscrivo indicando x(k) = p(1,k) per ogni k...
d) x(k) = (1/4) * [1 + x(k-1) + (x(k-1))^2 + (x(k-1))^3]
Di questa successione conosco i primi valori perche' sono facilmente
calcolabili... in particolare:
x(0) = 1
La successione mi da' la probabilita' di estinzione della nostra cellula
iniziale entro i k generici momenti... quindi il suo limite per k che va a
infinito e' la risposta al quesito...
Con le tue considerazioni possiamo dire, senza fare i salti mortali, che
il suo limite e' proprio sqrt(2)-1, il che esclude pure il dubbio che
avevo riguardo a 1.
Ciao ciao
Claudio

 x(0) = 1
Ecco, naturalmente e' 0, non 1.

 Andrea
E' vero,non  posso escluderla a priori.
Ma se adotti l'approccio di Maurizio Frigeni
avrai x=t+(1-t)*x^3
che a partire da t=0
e fino a t=2/3
ti fa scegliere l'altra radice,
per t > 2/3 e fino a t=1
devi saltare discontinuamente
sull'unica radice x=1
ammissibile.
Insomma la continuità va a farsi benedire.

 e il net in particolare... :-(
Visto che mi hai qualificato *ottimo* non posso non replicare. :)
Ho già inviato l'intero progetto 
VB.NET
 a anbra1, che però non è stato 
in grado di farlo funzionare (non ha .NET Studio e la versione 
compilata, per ragioni sconosciute non gli va).
Mi sa che la prossima volta scrivo le simulazioni in C++ e le compilo 
in codice nativo windows.
Saluti, e grazie per avermi fatto conoscere questo ottimo NG.
JWorld

 Claudio
Ciao
Raf

 p(1,k) = (1/4) * [p(0,k-1) + p(1,k-1) + p(2,k-1) + p(3,k-1)]
Bravissimo, a questa non ci avevo pensato!
Maurizio

 > Essa converge ed il limite (lo si può provare) è proprio sqrt(2)-1.
Il punto è proprio provarlo! Nel senso che se arriviamo a
scrivere:
x(k)=(1/4)*[1 + x(k-1) + (x(k-1))^2 + (x(k-1))^3]
di solito per determinare il limite L a cui xk converge
(sempre che converga!) si sostituisce L a ogni occorrenza
di xk, x(k-1), ecc. ottenendo:
L=1/4*(1+L+L^2+L^3)
che ha la stessa forma dell'equazione in x,
che sfornava i due valori di probabilità: 1 e sqrt(2)-1.
Per determinare quello dei due che effettivamente va bene
serve ancora un passaggio:
Si dimostra per induzione che tutti gli xk sono minori di 0.5
infatti x0=0 e
xk=0.25*(1 + xk-1 + xk-1 ^2 + xk-1 ^3)<0.25*(1+0.5+0.25+0.125)
=0.46875.
Di conseguenza il limite non può essere 1, e resta quindi
valido l'altro valore: sqrt(2)-1=0.4142
[non c'è bisogno di dimostrare che la succ. effettivamente
converge, o perlomeno basta notare che è monotona crescente
e limitata superiormente, per cui non può divergere né oscillare]
Ciao
Andrea

 Insomma la continuità va a farsi benedire.
No, perché?
Per t che va da 0 a 2/3 il valore di x corrispondente sale
da 0 a 1, poi ci si sposta sull'altro ramo, quello a x=1 costante.
In altri termini la funzione che ne risulta:
x=(sqrt(1-t)*sqrt(3t+1)-(1-t))/(2*(1-t))  per 0<=t<=2/3
x=1   per t>2/3
è continua.
Ciao
Andrea

 ha scritto nel messaggio
news:pan.2005.09.12....@gmail.com...

Già che ci siamo generalizziamo! :-)
Supponiamo che le cellule possano anche quadruplicarsi, quintuplicarsi, ecc.
in modo che al posto dell'equazione:
x=1/4*(1+x+x^2+x^3)
a secondo membro si abbia un generico polinomio di grado n:
x=ao+a1*x+a2*x^2+...+an*x^n
ove gli a_i hanno ovviamente somma unitaria, dovendo coprire il 100% delle
probabilità.
Possiamo inoltre supporre ao>0, visto che tale coeff. esprime
la prob. di morte delle cellule, se fosse ao=0 le cellule
potrebbero solo aumentare, dando come prob. di estinzione
banalmente il valore 0.
Cerchiamo allora le soluzioni in [0,1], determinando poi
quella giusta, nel caso ce ne siano più d'una.
Sicuramente x=1 c'è sempre poi, portando tutto a secondo
membro:
0=ao+(a1-1)*x+a2*x^2+...+an*x^n
Per il teorema di Cartesio, visto che il coeff. di x è l'unico
negativo, mentre gli altri sono positivi (eventuali coeff.
nulli non hanno rilevanza in questo momento)
abbiamo due variazioni di segno, e quindi due soluzioni
positive. Una è x=1, come già visto, l'altra bisogna vedere
se sta in (0,1) od oltre.
Si può calcolare numericamente, o considerare che:
Se esiste un'altra soluzione in (0,1), per il teorema di Rolle
dovrebbe ivi anche esserci uno zero di f'(x), per cui, posto:
f(x)=ao+(a1-1)*x+a2*x^2+...+an*x^n
f'(x)=(a1-1)+2*a2*x+...+n*an*x^(n-1)
Sempre per Cartesio, f'(x) ha una sola radice positiva,
e considerando che:
f'(0)=(a1-1)<0
f'(1)=(a1-1)+2*a2+...+n*an  ha segno variabile
si conclude che se f'(1)>0 l'unico zero di f' sta in (0,1)
pertanto la seconda radice di f(x) sta anch'essa in (0,1)
mentre se f'(1)<0 non esiste alcuno zero di f' in (0,1)
(per la bisezione potrebbero essercene un numero pari, ma abbiamo visto che
f' ha un solo zero in tutto)
per cui vale la cond. nec. e suff.
f'(1)<0 <==> x=1 è l'unica sol.
A questo punto recuperiamo la successione definita per ricorrenza, proposta
da Claudio (Coso, ex Superpollo).
Come ha già mostrato, la succ. ha la stessa forma del polinomio in x che
restituisce direttamente la probabilità
di estinzione, per cui si avrà:
x(k+1)= ao+a1*xk+a2*xk^2+...+an*xk^n
Ora vogliamo trovare un limite superiore "M" alla successione,
cioè xk<M per ogni k.
Vista la natura ricorsiva della successione, ipotizzando che
sia xk<M ne consegue:
xk<M ==> x(k+1)<=ao+a1*M+a2*M^2+...+an*M^n <=M
ove l'ultima disuguaglianza è ancora da provare, per concludere che
x(k+1)<=M.
Osservando però il secondo e terzo membro della catena di disequazioni
vediamo subito che se M è una delle radici del
polinomio iniziale [x=ao+a1*x+a2*x^2+...]
segue subito:
x(k+1)<=ao+a1*M+a2*M^2+...+an*M^n = M
che è suff. a concludere che x(k+1)<=M.
Essendo ovvio che x(0)=0<=M la dimostrazione per induzione
è completa.
Ne risulta che la succ. xk è limitata superiormente da
*qualunque* radice del polinomio, cioè da tutti i "candidati"
a essere soluzione del problema.
Di conseguenza la xk dovrà essere minore del più piccolo
di tali valori, e pertanto, fra tutti i candidati, la
soluzione valida è la più piccola delle due esistenti in (0,1].
Cioè, se esiste una sol. in (0,1) è quella, se no è x=1.
Ciao
Andrea

(circa la precedente diatriba sulla validità della soluzione x=1)
Scusate se provo a buttarla lì (potrei anche sparare una enorme 
stupidaggine, e in questo caso chiederei umilmente venia).
Non si potrebbe applicare qualche proprietà delle catene di markov 
omogenne che assicuri l'unicità del limite della distribuzione di 
probabilità sugli stati?

Guardando il dito o seguendo la luna, Bruco ha scritto:

Ecco, non so... il problema e' che le catene di Markov so a malapena cosa
siano. :-(
Ma in questo caso non si avrebbe una catena a infiniti stati, complicando
di molto le cose?
La dimostrazione di Andrea per induzione mi pare che tagli qualsiasi
dubbio possibile [forse si potrebbe usare sqrt(2)-1 come limite superiore
al posto di 1/2, giusto per non avere dubbi sulla monotonia della
successione]... non avevo ancora detto niente perche' sono ancora fermo a
pensare alla generalizzazione che ha proposto... :-)
Ciao ciao
Claudio

 0=ao+(a1-1)*x+a2*x^2+...+an*x^n
x=1 c'e' sempre solo se ao =1

  poi ci si sposta sull'altro ramo, quello a x=1 costante.
ciao

 infatti
Ma quella non è garantita affatto, in generale.
La probabilità varia in modo continuo, delle sue derivate
non si può dire nulla, salvo in casi speciali.
Ciao
Andrea

 ha scritto nel messaggio
news:432d3250$0$8483$5fc...@news.tiscali.it...

No, c'è sempre indipendentemente dagli a_i.
A parte che nel problema originale:
x=0.25*(1+x+xx+xxx)
abbiamo ao=1/4 eppure x=1 è valida, considera che,
a partire da x= sum ai*x^i
se poni x=1 ottieni: 1=sum ai
che è vera per ipotesi, visto che, come già detto, gli ai
devono coprire il 100% delle probabilità fra le possibili
sorti di una cellula. (Nel caso originale: ao=a1=a2=a3=1/4)
Ciao
Andrea