Tre coppie, 4371 anni fa
Il problema è stato postato qui.
http://it.answers.yahoo.com/question/in ... 500AAWISHM
Qualcuno è in grado di risolverlo?
Grazie
http://it.answers.yahoo.com/question/in ... 500AAWISHM
Qualcuno è in grado di risolverlo?
Grazie
Risposte
Non qui. Leggi il regolamento.
"non qui" perchè spam da yahoo?
Comunque, se posso scriverne,e semmai i moderatori moderino,
avevo pensato che, siccome possono presentarsi vari casi di accoppiamenti tra persone di età diversa,
si può approcciare considerando i 'bounds' di accoppiamento di minima proliferazione (massime differenze di età) e quello di massima.
Comunque, se posso scriverne,e semmai i moderatori moderino,
avevo pensato che, siccome possono presentarsi vari casi di accoppiamenti tra persone di età diversa,
si può approcciare considerando i 'bounds' di accoppiamento di minima proliferazione (massime differenze di età) e quello di massima.
@orazioster: ho risposto a questa discussione quando essa era ancora in "Il nostro Forum". Solo in seguito è stata spostata qui.
Fiducioso, resto in attesa
Attraverso una simulazione al computer ho ottenuto questo risultato approssimativo:
che sarebbe il numero attuale di umani sulla Terra se la distribuzione di maschi e femmine restasse sempre omogenea di anno in anno.
che sarebbe il numero attuale di umani sulla Terra se la distribuzione di maschi e femmine restasse sempre omogenea di anno in anno.
Grazie Milizia96, sei da lodare perché ci hai provato.
Non ti sembra, comunque, un numero un po' grandino? E' superiore a tutti gli atomi presumibilmente esistenti nell'universo...
Non ti sembra, comunque, un numero un po' grandino? E' superiore a tutti gli atomi presumibilmente esistenti nell'universo...
"Archimedryx":
Non ti sembra, comunque, un numero un po' grandino? E' superiore a tutti gli atomi presumibilmente esistenti nell'universo...
In effetti...
Curiosità: tu hai già risolto il problema e trovato la soluzione oppure non l'ha ancora risolto nessuno?
"milizia96":
Curiosità: tu hai già risolto il problema e trovato la soluzione oppure non l'ha ancora risolto nessuno?
Sarei interessato a saperlo anch'io
E poi, Archymedrix, vorrei un paio di chiarimenti:
1) Se ogni coppia fa un figlio all'anno dai 20 fino ai 70, sono 51 anni e quindi 51 figli. Bisogna forse escludere uno dei due estremi? Oppure il "50% maschi e 50% femmine" è un'approssimazione e bisogna contare 26 di un sesso e 25 dell'altro? In quest'ultimo caso: c'è un sesso dominante oppure è random?
2) La distribuzione dei sessi dei figli è casuale (nel senso che una coppia può generare prima 25 maschi e poi 25 femmine) oppure rispetta un'alternanza definita (per esempio un maschio, una femmina, un maschio, una femmina, ecc.)?
Ah, una terza domanda:
3) Le coppie sono strettamente "monogame"? Mi spiego: come hai fatto notare tu stesso le coppie iniziali sono 3, quindi uno dei primi 3 figli (che chiamo A), quando compie 20 anni rimane scoppiato e deve accoppiarsi con un ventenne dell'anno successivo (che chiamo B). Questo vuol dire che quando B compie 70 anni A ne compie 71 e quindi non possono più avere figli insieme. Ma la mia domanda è: B può accoppiarsi con un altro partner per quest'unico anno che gli rimane o rimarrà fedele ad A?
3) Le coppie sono strettamente "monogame"? Mi spiego: come hai fatto notare tu stesso le coppie iniziali sono 3, quindi uno dei primi 3 figli (che chiamo A), quando compie 20 anni rimane scoppiato e deve accoppiarsi con un ventenne dell'anno successivo (che chiamo B). Questo vuol dire che quando B compie 70 anni A ne compie 71 e quindi non possono più avere figli insieme. Ma la mia domanda è: B può accoppiarsi con un altro partner per quest'unico anno che gli rimane o rimarrà fedele ad A?
Grazie per le domande.
Il problema non è ancora stato risolto in maniera soddisfacente (ci si è sicuramente avvicinati) e di conseguenza lo sto postando nella speranza d'avere un numero certo e non approssimativo.
Sarebbe bello che qualcuno creasse un software per simulazioni di questo genere con valori interpolabili da 1 a "X" sia per il numero di coppie che per il numero di figli e per la "data" di inizio di procreazione.
Rispondendo alle altre domande:
Esatto, i figli sono 51 e NON 50.
Essendo 51 è chiaro che un sesso avrà un elemento in più e proprio per questo motivo bisognerà "compensare" con la prima coppia disponibile.
Per intenderci: se la prima coppia, nell'arco della sua vita procreativa, avrà 26 maschi e 25 femmine, la seconda coppia avrà 25 maschi e 26 femmine.
Essendo, le coppie, tre, si tornerà nuovamente con un sesso predominante e quindi la compensazione dovrà avvenire con la prima coppia disponibile (i primi figli della prima coppia "A") e così via di modo da rispettare sempre la proporzione 50/50 (anche se "spalmate" in due o più generazioni).
Le coppie sono sempre "monogame" e questo anche nel caso in cui un ventenne debba accoppiarsi, per forza di cose, con un ventunenne. Appena l'ex 21enne compirà il 71° anno di età, smetterà d'avere figli e questo significa che anche l'altra metà, il/la 70enne, non potrà averne alcuno.
In quest'ultimo caso, quindi, i figli saranno 50 e non più 51.
Il problema è senz'altro più complesso di quanto, ad una lettura superficiale, poteva sembrare.
Se avete altre domande... sono qui
Il problema non è ancora stato risolto in maniera soddisfacente (ci si è sicuramente avvicinati) e di conseguenza lo sto postando nella speranza d'avere un numero certo e non approssimativo.
Sarebbe bello che qualcuno creasse un software per simulazioni di questo genere con valori interpolabili da 1 a "X" sia per il numero di coppie che per il numero di figli e per la "data" di inizio di procreazione.
Rispondendo alle altre domande:
Esatto, i figli sono 51 e NON 50.
Essendo 51 è chiaro che un sesso avrà un elemento in più e proprio per questo motivo bisognerà "compensare" con la prima coppia disponibile.
Per intenderci: se la prima coppia, nell'arco della sua vita procreativa, avrà 26 maschi e 25 femmine, la seconda coppia avrà 25 maschi e 26 femmine.
Essendo, le coppie, tre, si tornerà nuovamente con un sesso predominante e quindi la compensazione dovrà avvenire con la prima coppia disponibile (i primi figli della prima coppia "A") e così via di modo da rispettare sempre la proporzione 50/50 (anche se "spalmate" in due o più generazioni).
Le coppie sono sempre "monogame" e questo anche nel caso in cui un ventenne debba accoppiarsi, per forza di cose, con un ventunenne. Appena l'ex 21enne compirà il 71° anno di età, smetterà d'avere figli e questo significa che anche l'altra metà, il/la 70enne, non potrà averne alcuno.
In quest'ultimo caso, quindi, i figli saranno 50 e non più 51.
Il problema è senz'altro più complesso di quanto, ad una lettura superficiale, poteva sembrare.
Se avete altre domande... sono qui

Il problema è mal posto, e non credo valga la pena perderci tempo: non è chiaro cosa si debba calcolare. E tuttavia nel post originale su YA c'è scritto
Chiosa: "bah".
[ Se l'autore del quesito riformulerà la questione in maniera precisa - e magari già che c'è, anche più garbata - per quel che mi riguarda ne possiamo anche riparlare. ]
ovvero nella stesura originale si pretende anche precisione (e una formuletta...?)
Chiosa: "bah".
[ Se l'autore del quesito riformulerà la questione in maniera precisa - e magari già che c'è, anche più garbata - per quel che mi riguarda ne possiamo anche riparlare. ]
Sinceramente non capisco dove, la domanda, sarebbe stata posta in maniera "sgarbata".
Ho posto un quesito e ho chiesto se qualcuno era in grado di risolverlo, punto.
Se è stata posta "male", cioé in maniera non precisa e mancante di informazioni, mi scuso, ma "garbatezza" o "sgarbatezza" non c'entra nulla.
Ho scritto di volere "la formuletta precisa" non certo perché pretenda qualcosa da qualcuno (se volete risolverlo, bene, se non volete risolverlo, pace) ma perché fa parte delle prerogative del quesito.
In fondo si sta parlando di matematica ed è solo ovvio, per chi volesse cimentarsi nell'impresa, chiedere "la formula" e cioé il metodo con il quale si è arrivati ad un determinato risultato e non direttamente il risultato.
Questo problema non è stato "posto a caso" e contatterò personalmente chi dovesse risolverlo in maniera convincente ma, ovviamente, sentitevi liberi di risolverlo o meno.
Ho posto il quesito su un sito chiamato "matematicamente" e quindi, si presume, che si parli di matematica e non di altri argomenti (per i problemi personali esistono altri siti e altri blog). Se qualcuno, erroneamente, prende "sul personale" un semplice quesito di matematica perché c'è scritto "voglio la formuletta" o per altri motivi... semplicemente... ignori il quesito.
Grazie
Ho posto un quesito e ho chiesto se qualcuno era in grado di risolverlo, punto.
Se è stata posta "male", cioé in maniera non precisa e mancante di informazioni, mi scuso, ma "garbatezza" o "sgarbatezza" non c'entra nulla.
Ho scritto di volere "la formuletta precisa" non certo perché pretenda qualcosa da qualcuno (se volete risolverlo, bene, se non volete risolverlo, pace) ma perché fa parte delle prerogative del quesito.
In fondo si sta parlando di matematica ed è solo ovvio, per chi volesse cimentarsi nell'impresa, chiedere "la formula" e cioé il metodo con il quale si è arrivati ad un determinato risultato e non direttamente il risultato.
Questo problema non è stato "posto a caso" e contatterò personalmente chi dovesse risolverlo in maniera convincente ma, ovviamente, sentitevi liberi di risolverlo o meno.
Ho posto il quesito su un sito chiamato "matematicamente" e quindi, si presume, che si parli di matematica e non di altri argomenti (per i problemi personali esistono altri siti e altri blog). Se qualcuno, erroneamente, prende "sul personale" un semplice quesito di matematica perché c'è scritto "voglio la formuletta" o per altri motivi... semplicemente... ignori il quesito.
Grazie
"Archimedryx":
Essendo 51 è chiaro che un sesso avrà un elemento in più e proprio per questo motivo bisognerà "compensare" con la prima coppia disponibile.
Per intenderci: se la prima coppia, nell'arco della sua vita procreativa, avrà 26 maschi e 25 femmine, la seconda coppia avrà 25 maschi e 26 femmine.
Essendo, le coppie, tre, si tornerà nuovamente con un sesso predominante e quindi la compensazione dovrà avvenire con la prima coppia disponibile (i primi figli della prima coppia "A") e così via di modo da rispettare sempre la proporzione 50/50 (anche se "spalmate" in due o più generazioni).
Ok, ti chiedo un'ultima precisazione perché prima di avventurarmi in un problema che mi sembra non semplice vorrei avere tutto chiaro.
Ogni coppia deve avere "quasi metà" di figli femmine e "quasi metà" di figli maschi. Ma esistono regole sulla distribuzione nel tempo dei sessi? Mi spiego meglio. Se non dettiamo nessuna regola, potrebbe accadere che le prime 3 coppie facciano figli in quest'ordine:
A: MMMMMMMMMMMMMMMMMMMMMMMMMMFFFFFFFFFFFFFFFFFFFFFFFFF
B: MMMMMMMMMMMMMMMMMMMMMMMMMFFFFFFFFFFFFFFFFFFFFFFFFFF
C: MMMMMMMMMMMMMMMMMMMMMMMMMMFFFFFFFFFFFFFFFFFFFFFFFFF
E quindi i primi figli della coppia potranno accoppiarsi per la prima volta alla veneranda età di 45 anni.
E' facile intuire che una distribuzione dei figli in questo modo:
A: MFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFM
A: MFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFF
A: MFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFM
genererà una prole molto più numerosa, perché ogni figlio comincerà ad accoppiarsi già dall'età di 21 anni.
E una distribuzione di quest'altro tipo:
A: MFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFM
A: FMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMF
A: MFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFM
ne genererà ancora di più, perché 5/6 dei figli comincerà ad accoppiarsi a soli 20 anni.
Io credo che, se sono consentite distribuzioni di ogni tipo, il problema sia indeterminato.
Deduco che, evidentemente, ogni coppia è obbligata a fare figli alternando i due sessi. E' così?
Esattamente caro Sergiomrrm.
Come hai ben scritto...
"E una distribuzione di quest'altro tipo:
A: MFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFM
A: FMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMF
A: MFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFM
ne genererà ancora di più, perché 5/6 dei figli comincerà ad accoppiarsi a soli 20 anni"
Mi rendo conto di aver preso per "scontate" troppe cose nel quesito iniziale e mi scuso (anche se, la domanda se i figli fossero 50 o 51 me l'aspettavo)
Ovviamente la distribuzione 50/50 deve avvenire il prima possibile e le coppie devono formarsi il prima possibile quindi è corretto "MF MF..." e così via.
Sei un programmatore informatico per caso?
Come hai ben scritto...
"E una distribuzione di quest'altro tipo:
A: MFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFM
A: FMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMF
A: MFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFMFM
ne genererà ancora di più, perché 5/6 dei figli comincerà ad accoppiarsi a soli 20 anni"
Mi rendo conto di aver preso per "scontate" troppe cose nel quesito iniziale e mi scuso (anche se, la domanda se i figli fossero 50 o 51 me l'aspettavo)
Ovviamente la distribuzione 50/50 deve avvenire il prima possibile e le coppie devono formarsi il prima possibile quindi è corretto "MF MF..." e così via.
Sei un programmatore informatico per caso?

"Archimedryx":
Sei un programmatore informatico per caso?
No, studente di matematica.
Però ho dato un paio di esami di programmazione fortran, e uno c++

Mi metto al lavoro e vediamo se riesco a ricavare qualcosa

Ora il problema è già più chiaro, e per risolverlo basta un semplice algoritmo, mentre non mi viene in mente una serie convincente.
PS.
Dunque il quesito su YA è stato posto da te - dato, questo, che era affatto scontato. Bene, questa è la mia opinione: già incominciare scrivendo "Allora teste di math ..." non mi sembra il massimo del garbo; forse sono un po' fissato, ma tantè...
Questa però ti chiedo di spiegarla meglio, per favore: "contatterò personalmente" a che pro?
PS.
"Archimedryx":
Sinceramente non capisco dove, la domanda, sarebbe stata posta in maniera "sgarbata".
Ho posto un quesito e ho chiesto se qualcuno era in grado di risolverlo, punto.
Se è stata posta "male", cioé in maniera non precisa e mancante di informazioni, mi scuso, ma "garbatezza" o "sgarbatezza" non c'entra nulla.
Dunque il quesito su YA è stato posto da te - dato, questo, che era affatto scontato. Bene, questa è la mia opinione: già incominciare scrivendo "Allora teste di math ..." non mi sembra il massimo del garbo; forse sono un po' fissato, ma tantè...
"Archimedryx":
Questo problema non è stato "posto a caso" e contatterò personalmente chi dovesse risolverlo in maniera convincente ma, ovviamente, sentitevi liberi di risolverlo o meno.
Questa però ti chiedo di spiegarla meglio, per favore: "contatterò personalmente" a che pro?
Arrivarci per via "matematica", al momento, mi sembra proibitivo.
Ho compilato quindi un programma in VBA (in realtà è una macro di excel, perché il computer su cui lavoro al momento è sprovvisto di qualunque strumento di programmazione), ma il problema è che va in overflow già dal 117° anno. (Ho considerato come anno 0 quello in cui le 3 coppie iniziali hanno 20 anni).
La situazione al 116° anno dovrebbe essere questa: popolazione è di 380619 persone, di cui 32162 neonati (cioè persone di età 0) e 13 moribondi (cioè 90enni).
Vedrò se riesco a ovviare in qualche modo al problema dell'overflow
Ho compilato quindi un programma in VBA (in realtà è una macro di excel, perché il computer su cui lavoro al momento è sprovvisto di qualunque strumento di programmazione), ma il problema è che va in overflow già dal 117° anno. (Ho considerato come anno 0 quello in cui le 3 coppie iniziali hanno 20 anni).
La situazione al 116° anno dovrebbe essere questa: popolazione è di 380619 persone, di cui 32162 neonati (cioè persone di età 0) e 13 moribondi (cioè 90enni).
Vedrò se riesco a ovviare in qualche modo al problema dell'overflow
Per ovviare all'overflow, o vedi se riesci ad usare le variabili BigInteger (se ci sono), oppure usi una variabile che fa da esponente che inizialmente è settata su 0, in modo che, quando la variabile col conteggio della popolazione sta andando in overflow, dividi il valore per 10, e incrementi di 1 la variabile esponente. Poi quando stampi il risultato fai conteggio_popolazione*10^esponente. Ovviamente senza eseguire l'operazione sennò andrebbe in overflow, ma magari stampando a video la scrittura in quel modo.
Se poi questo è scomodo per i passaggi successivi puoi fare una variabile che anzichè rappresentare l'esponente, rappresenti quante volte è stato raggiunto l'overflow. Quindi quando raggiungi l'overflow incrementi di uno la variabile e azzeri quella del conteggio della popolazione. In questo modo alla fine fai: numero_di_overflow*valore_overflow + resto. Senza fare i calcoli.
Se poi questo è scomodo per i passaggi successivi puoi fare una variabile che anzichè rappresentare l'esponente, rappresenti quante volte è stato raggiunto l'overflow. Quindi quando raggiungi l'overflow incrementi di uno la variabile e azzeri quella del conteggio della popolazione. In questo modo alla fine fai: numero_di_overflow*valore_overflow + resto. Senza fare i calcoli.
Io per la mia simulazione ho usato i double.
SI ci avevo già pensato, e usando il tipo di dati Long Integer riesco a calcolare la popolazione fino all'anno 240, ed è 21706318172 (2.17 E10), cioè una popolazione che è il triplo di quella reale sulla Terra
Non oso immaginare la popolazione all'anno 4371, ma a questo punto credo che avere un risultato esatto fino alla cifra delle unità sia piuttosto inutile, visto l'ordine di grandezza del numero

Non oso immaginare la popolazione all'anno 4371, ma a questo punto credo che avere un risultato esatto fino alla cifra delle unità sia piuttosto inutile, visto l'ordine di grandezza del numero