Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Non sto scherzando, questa stessa domanda mi fu' posta all'Esame di Informatica Teorica al secondo anno di Ingegneria (nel lontano 1997) :sisi:
E non sto' chiamando in causa la religione e la filosofia ma la pura e semplice Teoria_della_calcolabilita', ovvero quella branca dell'informatica che si occupa di determinare se una determinata funzione e' calcolabile tramite un procedimento automatico:
Formalizziamo la richiesta, la funzione:
Codice:
| 1: se Dio esiste,
f(x) = |
| 0: se Dio non Esiste
e' una funzione calcolabile ?
Vediamo chi ha studiato e chi no :asd:
IMPORTANTE: Se vi hanno gia' fatto la stessa domanda a scuola (e quindi sapete la risposta) NON RISPONDETE. Lasciamo riflettere gli altri :asd:
13-12-11, 17:01:51
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Uppo, cosi' lo vedete
14-12-11, 12:05:05
Edward Gein
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Se prendi per buoni gli assiomi, Gödel ha una formuletta in logica modale.
Spoiler:
La dimostrazione dovrebbe essere calcolabile, se ce ne sbattiamo del tempo pratico.
E no, nessuno m'ha mai fatto una domanda così stupida, né a scuola né in università.
14-12-11, 12:14:19
Lux !
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
È una questione di tipo il professore di logica che risponde "si" alla domanda "sale o scende?" mentre è in ascensore? :pippotto:
14-12-11, 12:52:57
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da Edward Gein
Se prendi per buoni gli assiomi, Gödel ha una formuletta in logica modale.
Spoiler:
La dimostrazione dovrebbe essere calcolabile, se ce ne sbattiamo del tempo pratico.
E no, nessuno m'ha mai fatto una domanda così stupida, né a scuola né in università.
Male! Evidentemente i tuoi insegnanti erano interessati a vedere se avevi studiato ma non se avevi capito quello che studiavi :sisi:
Citazione:
Originariamente Scritto da Lux !
È una questione di tipo il professore di logica che risponde "si" alla domanda "sale o scende?" mentre è in ascensore? [IMG]http://www.***************.it/forum/images/smilies/pippotto.gif[/IMG]
No, si tratta di applicare un semplice teorema. Basta ragionarci 5 minuti
14-12-11, 12:55:32
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Ho editato la formulazione della funzione in oggetto, ora il problema e' messo esattamente come fu' posto a me...
14-12-11, 14:05:51
blue_tech
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Bah ipotizzando l'esistenza di un dio come assunzione, con un pò di programmazione logica si può cercare di arrivare, a seguito di osservazioni del mondo reale, alla conclusione che: l'unica spiegazione che rende accettabile un determinato evento, sia l'esistenza di un dio...
14-12-11, 14:09:34
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da blue_tech
Bah ipotizzando l'esistenza di un dio come assunzione, con un pò di programmazione logica si può cercare di arrivare, a seguito di osservazioni del mondo reale, alla conclusione che: l'unica spiegazione che rende accettabile un determinato evento, sia l'esistenza di un dio...
No, mi spiace.
E' molto piu' semplice di cosi'.
15-12-11, 11:01:28
wedra
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Io non ho fatto l' università, quindi non ho la forma mentis adatta a questa domanda :asd:
Però ci provo: una funzione del genere determinerà un output che sarà purtroppo soggetta agli input ed alle variabili prese in considerazione.. quindi secondo me si, si può scrivere, ma porterà ad un risultato non universale e soggetto agli input ed alle costrizioni imposte all' interno della funzione. Ma un software così scritto non risponde alla domanda in oggetto, quindi tanto vale non scriverla nemmeno :asd:
Ho vinto qualche cosa?
15-12-11, 11:06:41
blue_tech
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
temo di no :asd:
sicuramente sarà un qualche teorema semiscrauso ma al momento sono curioso di scoprire la risposta :asd:
15-12-11, 11:08:30
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da wedra
Io non ho fatto l' università, quindi non ho la forma mentis adatta a questa domanda :asd:
Però ci provo: una funzione del genere determinerà un output che sarà purtroppo soggetta agli input ed alle variabili prese in considerazione.. quindi secondo me si, si può scrivere, ma porterà ad un risultato non universale e soggetto agli input ed alle costrizioni imposte all' interno della funzione. Ma un software così scritto non risponde alla domanda in oggetto, quindi tanto vale non scriverla nemmeno :asd:
Ho vinto qualche cosa?
Aime' no.
In B4: La funzione in oggetto non ha parametri di input: L'esistenza di Dio infatti non dipende da alcun presupposto: O esiste o non esiste.
Citazione:
Originariamente Scritto da blue_tech
temo di no [IMG]http://www.***************.it/forum/images/smilies/asd.gif[/IMG]
sicuramente sarà un qualche teorema semiscrauso ma al momento sono curioso di scoprire la risposta [IMG]http://www.***************.it/forum/images/smilies/asd.gif[/IMG]
Non cosi' scrauso come credi :asd:
15-12-11, 11:11:20
wedra
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Ok, attendo impaziente la risposta allora :asd: maledetto il C/AL che mi ha cementificato le sinapsi :asd:
Anzi, edit: se non ha input, la funzione comunque sarà scritta con dei vincoli personali, che porteranno ad un risultato falsato. Anche perchè l' esistenza di Dio non è un evento calcolabile o verificabile, quindi di per se un algoritmo del genere sarà
- o finito, ma con un risultato ambiguo (dato dalla struttura dell' algoritmo stesso)
- o virtualmente infinito
- 42
Che trip :asd:
15-12-11, 11:14:59
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Vi do un aiuto: quanti sono i possibili output ?
15-12-11, 12:05:34
blue_tech
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
output 1: SI
output 2: NO
output 3: NON SO
come wedra, anche io penso che essendo questo un quesito a cui non c'è risposta, un qualsiasi algoritmo che risponda a questa domanda sia del tutto inutile :asd:
a meno che al primo passo non dica "ma che cazz mi hai chiesto? risposta -> non so" :asd:
ma se risponde SI o NO è evidentemente ridicolo :bua:
15-12-11, 12:54:03
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da blue_tech
output 1: SI
output 2: NO
output 3: NON SO
:uhm:
15-12-11, 13:56:26
blue_tech
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
cosa non ti piace? un software che risponde in termini di si o no quegli output può dare :boh2:
avrei detto solo "si" o "no" ma ci sono anche condizioni dove "non so" è una risposta possibile :sisi:
15-12-11, 14:04:45
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da blue_tech
cosa non ti piace? un software che risponde in termini di si o no quegli output può dare :boh2:
avrei detto solo "si" o "no" ma ci sono anche condizioni dove "non so" è una risposta possibile :sisi:
Non mi piace la tua analisi dei possibili otput che e' cannata: ne hai messa una di troppo.
Sei completamente fuori strada: Prova a ragionare senza considerare al provocatorieta' della domanda e arriverai alla soluzione.
15-12-11, 14:46:14
Edward Gein
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Male! Evidentemente i tuoi insegnanti erano interessati a vedere se avevi studiato ma non se avevi capito quello che studiavi :sisi:
Io che "ho studiato senza capire", da un ingegnere non me lo faccio dire. :|
Anche se lo ammetto, una funzione "senza input" è un concetto troppo astruso per me, sarà perché ho imparato la definizione di funzione a memoria. :sisi:
15-12-11, 14:55:30
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da Edward Gein
Io che "ho studiato senza capire", da un ingegnere non me lo faccio dire. :|
Io invece non mi faccio dare dell'Ingegnere :mad: ;)
A ingegneria informatica ho fatto solo 2 anni, poi sono andato ad Informatica visto che e' quello che volevo fare, non Elettronica travestita da Informatica (:asd:)
Citazione:
Originariamente Scritto da Edward Gein
Anche se lo ammetto, una funzione "senza input" è un concetto troppo astruso per me, sarà perché ho imparato la definizione di funzione a memoria. :sisi:
Vero :snob:
Questo uso improprio del termine funzione e' parassi comune nella programmazione :sisi:
15-12-11, 15:21:33
Diabolik999
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Su forza, quanto la fai lunga... spara la soluzione :tsk:
15-12-11, 15:27:44
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da Diabolik999
Su forza, quanto la fai lunga... spara la soluzione :tsk:
Vi arrendete gia ?
Guardate che se ci ragionate un attimo e' facile :sisi:
15-12-11, 17:52:56
blue_tech
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
io mi arrendo :asd:
poi oltre alla soluzione dicci anche in che corso ti è stato fatta questa domanda che sono anche io a informatica e una domanda del genere non l'ho mai sentita... le uniche cose che ho visto che potrebbero assomigliare a quello che chiedi sono le nozioni di programmazione logica in intelligenza artificiale che sto facendo ora... ma mi hai detto che è più semplice quindi boh :fag:
15-12-11, 18:18:02
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Ecco la soluzione
Spoilerata per dare la possibilita' a chi vuole risolvere il quesito con le sue forze di non leggere inavvertitamente la risposta
Spoiler:
Prima di tutto ribadisco il quesito: La funzione sopra e' calcolabile? Ovvero, se si puo' scrivere un algoritmo che la calcola o meno (non determinare se Dio esiste o meno, occhio che non e' la solta cosa).
Quella della calcolabilita' della nostra funzione e' un esempio classico che si fa' quando si spiega il teorema di calcoalbilita' delle funzioni a dominio finito:
"Se f(x) ha dominio finito allora e' sempre calcolabile"
Tradotto in italiano, se la nostra funzione puo' accettare in input solo un numero finito di valori allora e' sempre calcolabile. Per dimostrarlo pensiamo ad una funzione foo( x ) il cui calcolo e' complicatissimo ma il cui dominio e' finito (ad es, i valori tra [0, 1000]). Possiamo scrivere un algoritmo che "calcola" foo(x) usando il trucco di scrivere un enorme switch che per ogni possibile input restituisce l'output corretto:
Codice:
//
// foo() calcola una funzione complicatissima ( :trollface: ).
// x puo' assumere valori tra [0 e 1000]
//
int foo ( int x )
{
if ( ( x < 0 ) || ( x > 1000 ) )
throw "foo(): Valore fuori scala";
int risultato;
switch ( x )
{
case 0:
risultato = 5; // I valori sono ovviamente a caso :asd:
break;
case 1:
risultato = 2;
break;
// ...
case 1000:
risultato = -1;
break;
}
return risultato;
} // foo()
Grazie al pazzo dira' qualcuno mica hai davvero calcolato foo() ? No, (e tra l'altro questa e' una delle critiche mosse al teoriema). Pero' ricordo che il bello dell'informatica e' il poter trattare le funzioni come scatole nere dal comportamento noto ma i cui dettagli interni sono nascosti e neppure ci interessano. A nessuno interessa veramente come (ad es) e' implementata la funzione sin(x): Serie di taylor, tabelle di look-up etc... L'importante e' che questa si comporti esattamente come come il seno che conosciamo dalla trigonometria. Di conseguenza l'implementazione di foo() che ho dato sopra e' perfettamente lecita e funzionante.
Ora, torniamo alla nostra "f(x) = 1 se Dio esiste, 0 altrimenti": Essa ha ovviamente dominio finito anzi, finitissimo in quanto non prende argomenti (e quindi, come ci ha fatto notare Edward Gein e' chiamata "funzione" con un enorme abiuso di termine) ed e' quindi e' calcolabile per il teorema sopra.
Dunque la teoria dice che possiamo scrivere un algoritmo che la calcola... Come?
La nostra funzione e' particolare: non solo ha dominio finito, ma puo' ritornare sempre e solo lo stesso valore (ed e' per questo detta funzione costante). Infatti, indipendentemente da che uno sia credente o meno i casi possibili sono solo 2: O Dio esiste oppure non esiste. la terza possibilita' citata da blue_tech non e' ammissibile. Di conseguenza possiamo usare il trucco usato per foo() ma stavolta non abbiamo un solo algortmo, ma be due! Uno per ogni possibile caso:
Una delle due versioni e' sicuramente quella buona (quale ? Beh... ).
In conclusione, la nostra funzione "f(x) = 1 se Dio esiste, 0 altrimenti" E' una funzione Calcolabile in quanto esiste un l'algoritmo che la calcola e tale algoritmo e' necessariamente uno dei due che ho scritto sopra.
Niente teologia, filosofia, IA, reti neurali, matematica spaziale ecc... Solo un po' di ragionamento attorno ad un semplice teorema.
15-12-11, 18:31:19
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da blue_tech
io mi arrendo :asd:
poi oltre alla soluzione dicci anche in che corso ti è stato fatta questa domanda che sono anche io a informatica e una domanda del genere non l'ho mai sentita... le uniche cose che ho visto che potrebbero assomigliare a quello che chiedi sono le nozioni di programmazione logica in intelligenza artificiale che sto facendo ora... ma mi hai detto che è più semplice quindi boh :fag:
Questa domanda e' stata fatta all'esame di informatica teorica del corso di laurea in Ingengneria informatica dell'universita' di Pisa nell'anno accademico 1997/1998 e all'epoca era abbastanza famosa perche' in appello ha fatto una strage di studenti (il primo che ha risposto bene sono stato io, poi per fortuna la docente ha smesso di chiederlo :asd:). Certo, e' passato un bel po' di tempo da allora...
15-12-11, 19:21:14
blue_tech
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Ho letto la soluzione, continua a non piacermi... :asd:
Tecnicamente, non hai risposto alla tua domanda... Esiste una funzione che calcola l'esistenza di dio? E hai anche scritto come premessa la specifica della funzione, ovvero:
f(x)=1 se dio esiste oppure f(x)=0 se dio non esiste
Tu hai risposto scrivendo:
f(x)=0 sempre.
g(x)=1 sempre.
Grazie al mazzo... Hai scritto una funzione che ritorna sempre true e una che ritorna sempre false... sorvolando sulla parte della calcolabilità del problema :asd:
Infatti lasci ad altri la problematica (che poi è il fulcro del problema) di scoprire come scegliere se richiamare una o l'altra funzione... :boh2:
Perdonami ma la risposta non regge :fag:
Nel caso di foo invece si perchè ho un input e lo switch è a tutti gli effetti come una serie molto lunga di if che si comportano in determinati modi in base al dato in input... lì si che calcoli qualcosa (in realtà non calcoli niente però rispondi sulla base di un ragionamento seppur minimo). Ho una sola f(x) e in base al valore di x restituisce un risultato piuttosto che un altro.
per di più ti faccio osservare che le due funzioni ricordano il problema solo perchè le hai chiamate DioEsiste_vX ma le due funzioni hanno lo stesso valore di due return prese separatamente e basta o di altre due funzioni chiamate pippo e paperino... In sostanza non c'è nessun legame fra il problema esposto e la soluzione fornita :fag:
15-12-11, 20:12:57
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da blue_tech
Ho letto la soluzione, continua a non piacermi... :asd:
Tecnicamente, non hai risposto alla tua domanda... Esiste una funzione che calcola l'esistenza di dio? E hai anche scritto come premessa la specifica della funzione, ovvero:
f(x)=1 se dio esiste oppure f(x)=0 se dio non esiste
Tu hai risposto scrivendo:
f(x)=0 sempre.
g(x)=1 sempre.
Grazie al mazzo... Hai scritto una funzione che ritorna sempre true e una che ritorna sempre false...
Dunque vediamo: cosa ti aspetti dalla nostra funzione f() che se Dio esiste ritorni SEMPRE 1 e che se Dio non esiste ritorni SEMPRE 0.
Supponiamo che Dio esista, allora DioEsiste_v1() e' corretta perche' ritorna SEMPRE 1.
Supponiamo invece che Dio NON esista, allora DioEsiste_v2() e' corretta perche' ritorna SEMPRE 0.
Io direi che dal punto di vista di quello che ti aspetti ci siamo no ? Il modo in cui sono arrivato al risultato per te che la usi non ha importanza, cio' che e' realmente importante e' che l'output sia corretto.
Citazione:
Originariamente Scritto da blue_tech
... sorvolando sulla parte della calcolabilità del problema :asd:
Infatti lasci ad altri la problematica (che poi è il fulcro del problema) di scoprire come scegliere se richiamare una o l'altra funzione... :boh2:
Perdonami ma la risposta non regge :fag:
Regge invece: Io ho chiesto se la funzione e' calcolabile secondo al definizione di calcolabilita', non come calcolare se Dio esiste o meno. Quello mi sembra piu' un argomento di filosofia/teologia che non di informatica.
Citazione:
Originariamente Scritto da blue_tech
per di più ti faccio osservare che le due funzioni ricordano il problema solo perchè le hai chiamate DioEsiste_vX ma le due funzioni hanno lo stesso valore di due return prese separatamente e basta o di altre due funzioni chiamate pippo e paperino... In sostanza non c'è nessun legame fra il problema esposto e la soluzione fornita :fag:
Salvo il fatto che una delle due si comporta esattamente come la funzione in esame. Indipercui sono equivalenti pur avendo un algoritmo diverso.
Considera ad esempio:
f1(x) = sin(x)
e
f2(x) = Sommatoria(n=0, infinito) ( (-1^n) * x^(2n+1) ) / (2n + 1)!
Sono due cose completamente diverse all'aspetto ma se fai de conti scoprirai che f1(x) = f2(x).
Indipercui le due funzioni sono del tutto equivalenti e il procedimento con il quale sono calcolate e' un dettaglio implementativo del tutto trascurabile :sisi:
15-12-11, 22:20:23
blue_tech
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Ma scusa come fai a non vedere il problema?
Ci sono DUE funzioni DIVERSE che restituiscono risultati DIVERSI e dove non specifichi il criterio con sui chiamare una piuttosto che l'altra... di fatto sono due funzioni completamente slegate una dall'altra... :boh2:
Se proprio proprio a questo punto dovevi scrivere:
Così per lo meno segue un pò di più la tua logica... ma le due funzioni separate non hanno senso :sisi:
Andrebbe definito il parametro DioEsiste ma vabbè...
16-12-11, 00:17:19
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da blue_tech
Ma scusa come fai a non vedere il problema?
Ci sono DUE funzioni DIVERSE che restituiscono risultati DIVERSI e dove non specifichi il criterio con sui chiamare una piuttosto che l'altra... di fatto sono due funzioni completamente slegate una dall'altra... :boh2:
Se proprio proprio a questo punto dovevi scrivere:
Così per lo meno segue un pò di più la tua logica... ma le due funzioni separate non hanno senso :sisi:
Andrebbe definito il parametro DioEsiste ma vabbè...
No tech: Sei fuori strada ;)
Il punto qui non e' scrivere un programma che calcola se Dio esiste, ma dimostrare che e' la funzione in esame e' calcolabile ovvero: se esiste un algorimo che la calcola o per meglio dire: se esiste un procedimento che porti a tale risultato.
Determinare quale delle due ho scritto sia quella corretta e' completamente fuori dallo scopo del quesito.
Ora, e' verissimo che ho scritto 2 funzioni diverse che danno due risultati diversi e che non ho specificato quel dei due sia quello corretto (ovvio che non posso saperlo) ma una delle due si comporta esattamente nel modo in cui si dovrebbe comportare un ipotetico algoritmo che tramite un complessissimo calcolo logico/filosofoco/teologico determini l'esistenza di Dio in quanto prduce lo stesso identico risultato (o esiste o non esiste e questo indipendentemente da fattori esterni) .
Indipercui una delle mie due funzioni scrause e' del tutto equivalente a quella "vera" dal punto di vista di chi la usa: Supponiamo che il parametro DioEsiste della tua funzione sopra sia noto o calcolabile e di mettere sia la tua funzione che quella delle mie che produce il risultato corretto in una bella DLL e di passarla al buon Edwarnd per farci qualche esperimento la sera.
Edward bel bello arriva a casa la sera e scrive un programmino che chiama la tua e la mia funzione 1 miliardo di volte comparandone i risultati e contanto le volte in cui hanno prodotto lo stesso output e le volte che non lo hanno fatto. Cosa succederebbe? Che il conteggio finale riporterebbe un miliardo di volte in cui le due funzioni hanno prodotto lo stesso output e zero volte in cui hanno dato risultato diverso.
Dunque cosa ne concluderebbe Edward, che avendo in mano una DLL non sa' come sono state implementate nei fatti? Concluderebbe che entrambe funzionano... Ma che la mia probabilmente e' piu' veloce :fag:
16-12-11, 09:36:00
wedra
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Quindi è quello che ho detto io! :asd:
16-12-11, 09:39:03
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da wedra
Quindi è quello che ho detto io! :asd:
No :asd:
16-12-11, 18:01:19
blue_tech
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
bah non mi convince ma fortunatamente non sono un teorico puro... :asd:
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Aridatece la cara vecchia filosofia di un tempo... :asd:
17-12-11, 13:57:36
Ronin
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
eccolo l'ingegnere:
senza definire cosa vuol dire dio e cosa vuol dire esistenza il problema è privo di significato, e la risposta pure.
notate che entrambe le due definizioni sono assolutamente non banali.
17-12-11, 17:29:02
blue_tech
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da Ronin
eccolo l'ingegnere:
senza definire cosa vuol dire dio e cosa vuol dire esistenza il problema è privo di significato, e la risposta pure.
notate che entrambe le due definizioni sono assolutamente non banali.
quotone :sisi:
21-12-11, 10:18:08
royp
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da blue_tech
quotone :sisi:
ehi io pure sono ingegnere ma la risposta data non mi piace :frown:
e comunque, dà una dimostrazione "matematica" visto che si parla di informatica teorica che con l'ingegneria c'entra poco!
21-12-11, 14:20:45
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da Ronin
eccolo l'ingegnere:
senza definire cosa vuol dire dio e cosa vuol dire esistenza il problema è privo di significato, e la risposta pure.
notate che entrambe le due definizioni sono assolutamente non banali.
Ingegnere chi? Io? :look:
Veramente l'idea della domanda che ho fatto non era assolutamente quella di definire ne Dio ne la sua esistenza: Ho semplicemente formulato una "funzione" e ho chiesto se questa era calcolabile.
Citazione:
Originariamente Scritto da royp
ehi io pure sono ingegnere ma la risposta data non mi piace :frown: e comunque, dà una dimostrazione "matematica" visto che si parla di informatica teorica che con l'ingegneria c'entra poco!
Veramente era proprio quello che volevo visto che si stava parlando di Informatica Teorica.
Nota poi che il fatto che e' stata una domnanda posta ad un esame del corso di laurea in l'Ingegneria Informatica e' anche l'unico collegamento con l'ingengeria di tutta la questione.
Aridatece la cara vecchia filosofia di un tempo... :asd:
Centra una mazza qui la filosofia :nono:
Mi sa' che questo non lo aveto proprio capito :asd:
21-12-11, 17:30:32
Ronin
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da LordOrion
Ingegnere chi? Io? :look:
no, sono io l'ingegnere.
se non sapete di cosa state parlando, come potete sapere se siete in grado di farlo oppure no? chiederti se si può scrivere una funzione che calcola l'esistenza di dio è come chiedersi se sia calcolabile la posferrazione del continverso. è possibile calcolare la posferrazione del continverso? risposta ingegneristica: boh.
prima definisci cosa vuol dire posferrare, poi definisci che cos'è il continverso, a quel punto saprò dirti se la posferrazione del continverso è calcolabile.
non è una questione filosofica, ma epistemologica (del significato della scienza/tecnica e della sua coerenza logica interna). se non definisci i due termini di ingresso e uscita, la funzione non è definibile a sua volta (e questo è un errore logico assai grave).
per capirci banalizzerò con un esempio informatico: prima di poter scrivere la tua funzione, devi dichiarare se il parametro di ingresso e uscita richiesto è di tipo integer, o real, o boolean: potresti dichiarare variant, ma non saresti coperto dal fatto che l'ingresso potrebbe anche essere un array, magari multidimensionale (potresti prevedere una variabile oggetto capace di accettare un dato in qualsiasi forma, ma questa non è una buona tecnica di programmazione: gli esempi banalizzanti son sempre limitati, ma forse sono riuscito a farmi capire).
ora tu nella tua funzione supponi che la risposta alla domanda dio esiste sia una risposta booleana (o sì o no), ma fare questo implica aver almeno parzialmente definito sia dio sia esistere (che tra i due, è decisamente il concetto più difficile se ci si pensa approfonditamente): in realtà non hai nessuna garanzia che la risposta sia di tipo booleano, potrebbe essere fuzzy, potrebbe addirittura essere diversa a seconda della "realtà" (universo) in cui viene formulata, potrebbe trascendere la logica umana e quindi essere contemporaneamente sia sì che no, potresti perfino scoprire che dio è un concetto privo di senso ed esistenza non definibile ed allora hai voglia calcolar la risposta.
nello scrivere la tua funzione dai per scontate MOLTE cose: definizioni implicite (alla maniera del visual basic, lo dico volutamente con tono sminuente :D ), che però sono assolutamente arbitrarie.
giustamente l'esame era di informatica e non di ingegneria, e quindi il professore si fermava alla superficie dei concetti senza esaminarli in profondità :mibullo:
21-12-11, 18:12:20
LordOrion
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Citazione:
Originariamente Scritto da Ronin
no, sono io l'ingegnere.
se non sapete di cosa state parlando, come potete sapere se siete in grado di farlo oppure no? chiederti se si può scrivere una funzione che calcola l'esistenza di dio è come chiedersi se sia calcolabile la posferrazione del continverso. è possibile calcolare la posferrazione del continverso? risposta ingegneristica: boh.
prima definisci cosa vuol dire posferrare, poi definisci che cos'è il continverso, a quel punto saprò dirti se la posferrazione del continverso è calcolabile.
non è una questione filosofica, ma epistemologica (del significato della scienza/tecnica e della sua coerenza logica interna). se non definisci i due termini di ingresso e uscita, la funzione non è definibile a sua volta (e questo è un errore logico assai grave).
per capirci banalizzerò con un esempio informatico: prima di poter scrivere la tua funzione, devi dichiarare se il parametro di ingresso e uscita richiesto è di tipo integer, o real, o boolean: potresti dichiarare variant, ma non saresti coperto dal fatto che l'ingresso potrebbe anche essere un array, magari multidimensionale (potresti prevedere una variabile oggetto capace di accettare un dato in qualsiasi forma, ma questa non è una buona tecnica di programmazione: gli esempi banalizzanti son sempre limitati, ma forse sono riuscito a farmi capire).
ora tu nella tua funzione supponi che la risposta alla domanda dio esiste sia una risposta booleana (o sì o no), ma fare questo implica aver almeno parzialmente definito sia dio sia esistere (che tra i due, è decisamente il concetto più difficile se ci si pensa approfonditamente): in realtà non hai nessuna garanzia che la risposta sia di tipo booleano, potrebbe essere fuzzy, potrebbe addirittura essere diversa a seconda della "realtà" (universo) in cui viene formulata, potrebbe trascendere la logica umana e quindi essere contemporaneamente sia sì che no, potresti perfino scoprire che dio è un concetto privo di senso ed esistenza non definibile ed allora hai voglia calcolar la risposta.
nello scrivere la tua funzione dai per scontate MOLTE cose: definizioni implicite (alla maniera del visual basic, lo dico volutamente con tono sminuente :D ), che però sono assolutamente arbitrarie.
:uhm:
No, proprio non hai capito quale era il senso del questo che ho posto :nono:
In piu' dal modo in cui citi (a sproposito) la logica fuzzy mi viene da pensare che tu stai solo trollando :facepalm:
Probabilmente nella tua mente di ingegnere e' troppo astratto come concetto per essere comprensibile :lol:
Citazione:
Originariamente Scritto da Ronin
giustamente l'esame era di informatica e non di ingegneria, e quindi il professore si fermava alla superficie dei concetti senza esaminarli in profondità :mibullo:
Infatti era l'esame di Informatica Teorica: Secondo anno del Corso di Laurea in Ingegneria Informatica :rotfl:
(se vuoi ho ancora gli appunti)
22-12-11, 15:19:53
kaaio
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
Calma, calma... :zizzania:
La teoria della computabilità non è certo semplice, soprattutto se affrontata da un punto di vista pratico, ingegneristico, dato che è matematica richiede un certo grado di astrazione.
Ecco un altro esempio che potrebbe risultare più chiaro.
Some students might try naively to compute it like this: on input n, start to enumerate the digits of π, and look for n consecutive 1s. If found, then output 1. But then they realize: what if on a particular input, you have searched for 10 years, and still not found the instance? You don't seem justified in outputting 0 quite yet, since perhaps you might find the consecutive 1s by searching a bit more.
Nevertheless, we can prove that the function is computable as follows. Either there are arbitrarily long strings of 1 in π or there is a longest string of 1s of some length N. In the former case, the function f is the constant 1 function, which is definitely computable. In the latter case, f is the function with value 1 for all input n<N and value 0 for n≥N, which for any fixed N is also a computable function.
So we have proved that f is computable in effect by providing an infinite list of programs and proving that one of them computes f, but we don't know which one exactly.
22-12-11, 16:39:11
Ronin
Re: Si puo' scrivere un software che determini se Dio esiste ? [SERIO!!]
l'esempio è chiarissimo: è chiaro che PI è un numero irrazionale e che ognuna delle sue cifre è un numero intero, sicchè la funzione f(n) è definibile.
nel nostro caso l'espressione che dovrebbe definire la funzione non è definita, e pertanto la lista degli output che la funzione dovrebbe avere è arbitraria (viene definito un output obbligatoriamente booleano, vero/falso, che è un'affermazione ingiustificata senza aver fatto delle asserzioni arbitrarie sul significato di dio ed esistenza.
l'esempio che tu riporti, il problema che pongo io lo risolve nella prima riga: definiamo una bella funzione con input intero e output booleano, e vediamo se è calcolabile.
in questo caso questo tipo di definizione manca del tutto (anche perchè qualsiasi definizione si darà, conterrà in nuce anche il germe dell'output che ne verrà fuori, es. se definisco dio come essere soprannaturale ed esistere come occupare uno spazio fisico reale, la funzione restituisce no per definizione).
@lordorion: non ha importanza il senso del quesito che hai posto. il fatto è che lo hai posto in un modo in cui non è ponibile, giacchè il suo contenuto è privo di senso, se non lo definisci.
tu puoi agevolmente supporre che il signfiicato di 1-2-3 e di vero/falso siano noti e assodati, giacchè queste definizioni si trovano senz'altro tra le dichiarazioni del linguaggio di programmazione (altrimenti non potresti programmare alcunchè). ma le definizioni "dio" ed "esistenza" nelle dichiarazioni dei tipi del linguaggio non ci sono, perchè sono arbitrarie.
perciò tu NON PUOI SAPERE se l'output della funzione sarà booleano come dici: nel farlo compi un atto arbitrario (perchè non hai definito nè dio nè esistenza: provaci e vedrai che non è per niente scontato), della cui portata non ti capaciti perchè dentro di te sei abituato ad associare a dio e ad esistenza una definizione "intuitiva" che però se ci guardi a fondo NON PUO' essere valida. se non puoi sapere quale sarà il tipo di dati dell'output della tua funzione, non la puoi definire, e se non la puoi definire il dubbio sulla calcolabilità non si pone proprio.
non è una questione "filosofica" nè "teologica" (quelle si occupano del CONTENUTO della definizione, non del fatto che la definizione ci sia oppure no), è una questione di coerenza interna della matematica.
sei abituato alle funzioni matematiche che si basano su un coacervo immane di definizioni date per accettate (es. che 1 è l'unità, che 2 sono 1 unità più un'altra unità, ecc.): per metterla in termini matematici, la funzione somma sarebbe calcolabile senza sapere che cosa sono i numeri? no che non lo sarebbe.
tu prima dovresti avere una definizione di che cosa sia 1, e dopo potresti calcolare la somma di 1 con 1 e ottenere 2 (che definirai appunto come output della funzione somma con input 1 e 1).
questa definizione di 1 e 2 che ti permette di calcolare la funzione somma è data per scontata, perchè è l'esperienza reale (=somma delle tue conoscenze) che te la fornisce implicitamente o esplicitamente.
nel caso dell'esistenza di dio, tu non hai idea di che cosa siano 1 e 2 fino a che non li espliciti: esplicitandoli compi un atto arbitrario non giustificabile obiettivamente (prova ne sia che facendolo stabilisci inequivocabilmente il risultato della funzione).
supponi, per usare l'esempio di kaaio, di voler calcolare f(0): è possibile trovare una stringa che contiene una successione di zero volte 1? beh, prima devi definirmi che cos'è, giacchè la successione per definizione deve avere almeno 1 ripetizione, altrimenti non è una successione. oppure supponi di voler calcolare f(0/0). prima di sapere se f è calcolabile, devi definire 0/0 giacchè si tratta di un'espressione matematicamente indefinita.