Real AI in un linguaggio compilato [chiuso]

0

probabilmente una domanda per principianti qui.
Ho sentito che se dovesse esistere una vera IA, dovrebbe evolversi, penso che ciò significhi che dovrebbe essere in grado di scrivere un nuovo codice, quindi eseguirsi con il nuovo codice. Potrebbe essere possibile in un linguaggio compilato come C / C ++?

Mi stavo solo chiedendo, grazie.

    
posta shoham 12.11.2014 - 22:32
fonte

4 risposte

2

Puoi scrivere un interprete in un linguaggio compilato che esegua un linguaggio auto-modificante, specifico per il dominio, le cui istruzioni sono contenute in una struttura dati mutevole di qualche tipo.

Quindi sì, è possibile.

Se la tua domanda è "posso farlo con la lingua di destinazione originale usando il compilatore originale", anche questo è possibile, se scrivi un programma che scrive un programma nella lingua originale e poi esegue uno script per compilare ed eseguirlo Ma sarebbe molto difficile da fare, e probabilmente poco pratico.

    
risposta data 13.11.2014 - 00:40
fonte
1

In passato, le lingue (spesso le forme di Assembly) erano progettate con istruzioni specificamente riservate al codice auto-mutante. Ciò significa che puoi facilmente dire al programma di cambiarsi mentre è in esecuzione, che è stato utilizzato per migliorare le prestazioni. La parola chiave qui è "facilmente", perché anche se questo è andato fuori moda decenni fa, come risultato di computer abbastanza veloci da non aver bisogno di qualcosa così criptico e difficile da seguire, gli hacker oggi usano ancora Assembly per giocare acrobazie sull'hardware del computer per sovrascrivere la memoria a cui non dovrebbero avere accesso - potenzialmente le istruzioni del loro programma attualmente in esecuzione che sono state caricate in memoria. E dato che puoi incorporare un bel po 'di Assembly in C ++, questo è un modo in cui puoi dire che un programma C ++ può auto-mutarsi; anche se un buon sistema operativo in questi giorni dovrebbe avere misure di sicurezza ragionevoli per bloccare cose come queste in entrambi i casi.

    
risposta data 13.11.2014 - 00:20
fonte
1

Sì, ma ...

È risaputo da tempo che il codice macchina per le macchine di architettura Von Neumann è troppo "fragile" per simulare in modo ragionevole un processo di acquisizione dati basato sulla vita.

Come semplice esempio, se modifichi un singolo bit in un'istruzione macchina, non otterrai necessariamente qualcosa di utile, potresti addirittura rovinare il processore o il programma.

Al contrario, i sistemi biologici sono più resistenti alle alterazioni. Se cambi una base di DNA da A a C, otterrai una proteina che potrebbe anche essere più utile dello stato inalterato (è più probabile che non abbia effetti o effetti deleteri, ma l'intera macchina non si ferma). Allo stesso modo, se per qualche motivo hai meno enzimi Q, le cose non andranno in crash, semplicemente non funzioneranno come potrebbero altrimenti.

Il lavoro molto produttivo è stato fatto con un "codice macchina" meno fragile eseguito su macchine virtuali, ma l'ultima lettura dettagliata che avevo fatto sull'argomento era da un antico Procedimento dell'Istituto Santa Fe per lo studio della Complessità così Sono sicuro che da allora l'approccio è stato notevolmente migliorato.

    
risposta data 13.11.2014 - 01:49
fonte
0

Prima di tutto, se per "AI reale" ti riferisci a AI strong questa è una domanda ancora indecisa. Questa domanda ha alcuni aspetti scientifici, alcuni ontologici e alcuni aspetti religiosi, e le opinioni sono molto diverse.

Ciò che veniva comunemente definito AI dai programmatori di software è semplicemente una branca del machine learning, o informatica / ingegneria elettrica / elaborazione del segnale / linguistica in generale.

In un tipo di algoritmi di apprendimento automatico, gli input e gli output sono matrici di numeri. Il "sistema" che mappa gli input per le uscite sono anche matrici di numeri. Pertanto, tali algoritmi riducono un problema pratico fino ad alcuni calcoli matematici.

Ci sono molti altri pratici algoritmi e implementazioni AI, che impiegano molti altri meccanismi e rami della conoscenza del dominio.

    
risposta data 13.11.2014 - 00:30
fonte

Leggi altre domande sui tag