Zdravo!

> Izvorna koda ji je podana v neki datoteki na disku, do katere ima ali pa
> lahko pridobi dostop; razen tega pa lahko vedno pogleda kaj se nahaja na
> nekem naslovu v gl. pomnilniku oz. v že prevedenem programu.

To razmisljas tako le zato, ker so taksne nase splosne arhitekture, ki
jih uporabljamo. Ampak ni razloga, zakaj ne bi preprosto to bilo
nedovoljeno programu. Torej da programu ne dovolis branja segmenta, kjer
ima kodo. Lahko le PC nastavlja.

> s tem se ji močno olajša rekurzivno samo-izboljšavo

Ker se s tem tudi prakticno ukvarjam, se mi zdi, da je to precej odvisno
od implementacije. Recimo AI se lahko izboljsa tako, da zgradi nek nov
konstrukt, ga prevede in uporablja v prevedeni obliki le tako, da ga
"klice", izgubi pa izvorno kodo, kako je ta konstrukt zgradila. Zakaj bi
izgubila? Zaradi optimizacije izkoriscenosti pomnilnika (funkcija spanja
recimo) in zato, ker na zacetku ne bo se "vedela", da bi si bilo to
dobro zapomniti, ker kasneje ne bo vec mozen dostop do tega.

Recimo konkretni primer tega je, da v funkcijskih jezikih (recimo
Haskell) ti lahko dinamicno generiras nove funkcije iz obstojecih, ampak
po drugi strani pa potem nimas pregleda v samo strukturo taksne
funkcije, ko enkrat sestavis. LISP recimo pa tudi to omogoca.

> Ali pa malo drugače: katero orodje zunaj AI sistema bi ji sploh lahko
> prišlo prav pri njenem poskusu lastnega razumevanja?

Dodaten pomnilnik. ;-)

Tako kot mi uporabljamo table in papir, da bolje razumemo stvari.


Mitar

Reply via email to