PDA

View Full Version : HELP!!!! Ingegneri Informatici: Help (AI)


gik25
03-07-2003, 15:38
Ma come funzionano i tagli alfa e beta???????????

Perchè il numero cerchiato non viene tagliato?

gik25
03-07-2003, 15:40
Non mi allega l'immagine aspettate un sec

http://www.hyperreview.com/BigFiles/ai.jpg

gik25
03-07-2003, 16:03
Dai su!!!
up

lucadeep
03-07-2003, 16:07
Ti sembra facile???? NN lo capisco neanche io, ti regalo un up. Intanto ci penso ancora un pò!

gargamella75
03-07-2003, 16:10
Ragà...mi fate sentire una merd@...io sono Ing. Inf., ma non capisco neanche di che si parla!!! :confused: :confused: :confused:

_Xel_^^
03-07-2003, 16:14
Io studio ing informatica... 5° anno... sto facendo la tesi...

...ma non ho la minima idea di cosa tu stia parlando :D :p :sofico:



è grave??? :D :mc:

jumpermax
03-07-2003, 16:18
direi a occhio perchè il nodo che hai sopra 5 e 2 è un nodo di minimo, e il nodo in alto è un nodo di minimo.
ricostruiamo
min(0,5)=0
poi nodo di max
min(-3,x)<0 ergo taglio
poi abbiamo un nodo di min
trovi prima 3 in un nodo di max
quindi max(3,x,x)>0 ergo taglio i 2 rami
altro nodo max poi un nodo di min
trovi 5 in un nodo di min
min(5,x)<0? può essere devi esplorare....

gik25
03-07-2003, 16:39
Originally posted by "jumpermax"

direi a occhio perchè il nodo che hai sopra 5 e 2 è un nodo di minimo, e il nodo in alto è un nodo di minimo.
ricostruiamo
min(0,5)=0
poi nodo di max
min(-3,x)<0 ergo taglio
poi abbiamo un nodo di min
trovi prima 3 in un nodo di max
quindi max(3,x,x)>0 ergo taglio i 2 rami
altro nodo max poi un nodo di min
trovi 5 in un nodo di min
min(5,x)<0? può essere devi esplorare....

Spiegati meglio, non ti seguo?

gpc
03-07-2003, 16:57
Porca... ho fatto 'sta roba tre mesi fa e non mi ricordo già più nulla!



...la cosa tragica è che devo ancora fare il secondo parziale!!! http://forum.hwupgrade.it/faccine/11.gif


Comunque per favore non chiamiamo 'sta merda Intelligenza Artificiale: questa è pedissequa risoluzione di banali problemi esplorando stupidi alberi. L'IA è ben altro... http://forum.hwupgrade.it/faccine/33.gif

Bilancino
03-07-2003, 17:02
Ma che è? :eek:

Ing Elettronica V.O Tesi in corso............ :D

Ciao

gpc
03-07-2003, 17:03
Qui da noi è Intelligenza Artificiale, VO, quinto anno esame a scelta.
Adesso è un esame del quarto anno, NO, a scelta nell'indirizzo di informatica, ma fanno 1/3 di quello che facciamo noi.

jumpermax
03-07-2003, 17:03
diaminuccio... allora il taglio funziona così
i tondi sono nodi di minimo, ossia prendi sù il valore più basso tra i rami
i quadri sono nodi di massimo.
Si inizia ad esplorare da sx dal punto più basso e poi si risale.
ora ammettiamo che tu sia in un nodo di max
hai appena finito il primo ramo e hai 5 ora scendi nel secondo ramo. C'è un nodo di minimo. Esplori il primo ramo e trovi 3
Che vuol dire?
che passa il valore più piccolo tra 3 è quello che verrà dagli altri rami
in sostanza min(3,x,..) quindi da quel nodo non verrà mai fuori un valore maggiore di 3. Siccome quel valore dovrà poi essere confrontato con 5 sappiamo già che quel nodo non darà niente di buono al massimo ci da 3.
Capito ora? Si applica per nodi anche distanti tra loro. Quando hai un nodo di minimo guardi i nodi di max superiori che sono aperti e viceversa. E una cretinata come algoritmo ma si spiega bene solo se si è a quattrocchi... col foglio sotto ci metterei 3 secondi.

gpc
03-07-2003, 17:06
ma lui chiede l'algoritmo alfa-befa, jumpermax ( http://forum.hwupgrade.it/faccine/24.gif ), non il min-max... se non mi ricordo male c'era una differenza... ma non mi ricordo proprio! :D

jumpermax
03-07-2003, 17:10
guarda che questa è intelligenza artificiale. L'algoritmo è stupido (come ma tremendamente efficace, dato che riduce drasticamente lo spazio di ricerca con un costo di calcolo irrisorio. L'intelligenza emerge dal comportamento che l'algoritmo sa dare, integrandosi con le altre parti vedi ad esempio la funzione di valutazione del nodo. Nemmeno quella si può dire intelligente... l'intelligenza emerge dal completamento delle 2 parti, l'una non può fare a meno dell'altra!

gpc
03-07-2003, 17:13
Originally posted by "jumpermax"

guarda che questa è intelligenza artificiale. L'algoritmo è stupido (come ma tremendamente efficace, dato che riduce drasticamente lo spazio di ricerca con un costo di calcolo irrisorio. L'intelligenza emerge dal comportamento che l'algoritmo sa dare, integrandosi con le altre parti vedi ad esempio la funzione di valutazione del nodo. Nemmeno quella si può dire intelligente... l'intelligenza emerge dal completamento delle 2 parti, l'una non può fare a meno dell'altra!

Io non sono d'accordo.
Quel procedimento viene seguito pedissequamente, l'intelligenza sta tutta nel programmatore o in chi ha sviluppato il sistema: secondo questo ragionamento allora anche la tazza del cesso sarebbe intelligente.
Discorso diverso invece quando si parla di reti neurali, e allora lì sì che si inizia a ragionare... quando il "programma" inizia ad adattarsi alle situazioni, ad imparare e a migliorarsi... ma questi algoritmi saranno intelligenti fin che vuoi, ma di artificiale c'è ben poco. Lì è tutta testa dell'uomo.

jumpermax
03-07-2003, 17:16
GiPeCiop prima che ti tolga il saluto :D vorrei ricordarti che il min max è lo stesso algoritmo che ho descritto SENZA i tagli. I tagli alfa-beta si basano proprio su questa caratteristica del min max.
Vista in modo matematico devo calcolare
max(min(x,y,z),...,min(xn,yn)) giusto per fare un esempio, ho già il valore del primo min quindi se xn è minore del primo minimo non esploro gli altri rami). E' banale ma incasinato da dire a parole... gik25 prova a vedere la matematica che c'è dietro e lo capisci al volo!

gpc
03-07-2003, 17:18
Originally posted by "jumpermax"

GiPeCiop prima che ti tolga il saluto :D

http://forum.hwupgrade.it/faccine/18.gif

jumpermax
03-07-2003, 17:22
la rete neurale come algoritmo in sè è totalmente stupido! L'intelligenza "ermerge" dall'interazione tra i vari nodi della rete senza che vi sia particolare intelligenza in uno dei nodi. Questo algoritmo è solo la parte bassa di un algoritmo più vasto: il fatto che sia stupido e meccanico non vuol dire nulla in quanto anche calcolare la funzione di soglia di un neurone è un algoritmo stupido. Appunto per questo lo facciamo fare ad un pc e non lo facciamo a mano. Stesso discorso per l'alfa beta. E' vero che all'esame te lo fanno (stupidamente) fare a mano giusto per vedere che l'hai capito (oppure per farti fare uno sbaglio cretino coi conti e toglierti 3 punti :mad: ) l'importante è che tu lo sappia implementare in modo corretto. Senza questa parte la valutazione in sè non serve a nulla per cui è strettamente indispensabile.

gpc
03-07-2003, 17:25
Originally posted by "jumpermax"

la rete neurale come algoritmo in sè è totalmente stupido! L'intelligenza "ermerge" dall'interazione tra i vari nodi della rete senza che vi sia particolare intelligenza in uno dei nodi. Questo algoritmo è solo la parte bassa di un algoritmo più vasto: il fatto che sia stupido e meccanico non vuol dire nulla in quanto anche calcolare la funzione di soglia di un neurone è un algoritmo stupido. Appunto per questo lo facciamo fare ad un pc e non lo facciamo a mano. Stesso discorso per l'alfa beta. E' vero che all'esame te lo fanno (stupidamente) fare a mano giusto per vedere che l'hai capito (oppure per farti fare uno sbaglio cretino coi conti e toglierti 3 punti :mad: ) l'importante è che tu lo sappia implementare in modo corretto. Senza questa parte la valutazione in sè non serve a nulla per cui è strettamente indispensabile.

Alt, la rete neurale non è un algoritmo ma una struttura. L'algoritmo sarà quello che ti cambia il comportamento dei vari nodi e sono d'accordo che non sia "intelligente", ma la struttura presa nel suo complesso lo è. Al contrario, secondo me, tutta la teoria degli alberi e il Prolog non ha nulla a che vedere con l'intelligenza artificiale perchè si tratta di seguire pedissequamente istruzioni programmate.
Poi magari mi sbaglio e queste cose si inseriscono in un discorso più ampio, ma allora sarebbe solo la conferma che all'università non ci fanno imparare un cazzo... :D :cry:

jumpermax
03-07-2003, 17:38
guarda che anche per la rete neurale si tratta di seguire "pedissequamente" una serie di istruzioni... a me risulta che siano implementate ergo codificate... :D
Non confondere mai la complessità operazionale di un algoritmo con le sue capacità. Gli algoritmi sono necessariamente stupidi quello che fanno può essere brillante. La struttura c'è anche nell'insieme funzione di valutazione-tagli alfabeta, solo che è "meno appariscente" di quella delle reti neurali.
Prolog è molto molto di più di quello che tu vedi, è un differente modo di approcciare i problemi dato che i costrutti mentali che i linguaggi che conosciamo ci danno sono imperativi. (e qui si va OT). Prova a pensare a una lista in termini di C e in termini di Java e vedi come il modo di vedere il mondo cambia in maniera radicale.

gpc
03-07-2003, 18:00
Sì, sono d'accordo che sia un approccio completamente diverso e che dia nuove possibilità, ma è e resta un "coso" che fa quello che qualcun'altro gli ha detto di fare.
Al contrario una rete neurale evolve autonomamente in base sì a parametri stabiliti a priori, ma imparando a svolgere funzioni per cui non era stata programmata.
Tanto per fare un esempio che hanno raccontato a noi in un seminario...
Stavano progettando un modellino di insetto informatico e dovevano insegnargli a mangiare il cibo verde ed evitare quello rosso che era velenoso. Allora sistemano tutto, lo lasciano lì una notte, tornano alla mattina e trovano l'insettino fermo in un angolo dello schermo. Aha! Allora adesso inseriamo una puzione quando sta fermo, così lo freghiamo! Tornano la mattina dopo... e trovano l'insettino che cammina per lo schermo evitando sia il cibo verde che quello rosso. Azz... pigliava pure per il sedere... allora lo puniscono anche quando non mangia (Stimolo della Fame, l'hanno chiamato)... dieci minuti ed aveva imparato a mangiare solo il cibo verde.
Ecco, loro non hanno detto "mangia il cibo verde ed evita quello rosso", loro hanno progettato una rete che risponde ad un certo numero di stimoli (fame, bontà del cibo, etc) e il sistema si è evoluto autonomamente in base all'esperienza per mangiare quello che gli faceva bene.
E che caspita, questa è intelligenza artificiale, non un programma che ti esplora alberi con metodi stabiliti dal programmatore...

jumpermax
03-07-2003, 21:18
Originally posted by "gpc"

Tanto per fare un esempio che hanno raccontato a noi in un seminario...
Stavano progettando un modellino di insetto informatico e dovevano insegnargli a mangiare il cibo verde ed evitare quello rosso che era velenoso. Allora sistemano tutto, lo lasciano lì una notte, tornano alla mattina e trovano l'insettino fermo in un angolo dello schermo. Aha! Allora adesso inseriamo una puzione quando sta fermo, così lo freghiamo! Tornano la mattina dopo... e trovano l'insettino che cammina per lo schermo evitando sia il cibo verde che quello rosso. Azz... pigliava pure per il sedere... allora lo puniscono anche quando non mangia (Stimolo della Fame, l'hanno chiamato)... dieci minuti ed aveva imparato a mangiare solo il cibo verde.
Ecco, loro non hanno detto "mangia il cibo verde ed evita quello rosso", loro hanno progettato una rete che risponde ad un certo numero di stimoli (fame, bontà del cibo, etc) e il sistema si è evoluto autonomamente in base all'esperienza per mangiare quello che gli faceva bene.
E che caspita, questa è intelligenza artificiale, non un programma che ti esplora alberi con metodi stabiliti dal programmatore...

Fammi indovinare... Giorgio Buttazzo dell'università di Pavia! No perché da noi ha fatto LO STESSO esempio!
Comunque l'apprendimento è una caratteristica di certe reti neurali non di tutte. Alcune vengono seplicemente preimpostate e poi agiscono senza avere feedback dall'ambiente. In ogni caso non è detto che non possa variare anche il programma di gioco durante la partita in base alle mosse dell'avversario o delle partite precedenti. E' difficile dare una definizione di intelligenza, forse è più facile parlare di comportamento intelligente. Ora se certe cose le possiamo escludere a priori tanto vale che facciano parte dell'imprinting del nostro sistema non ti pare? Poi sulle parti dove è necessaria flessibilità e adattabilità allora si adotteranno metodi diversi... ciò non toglie l'importanza delle altre tecniche!

gpc
03-07-2003, 23:09
Originally posted by "jumpermax"



Fammi indovinare... Giorgio Buttazzo dell'università di Pavia! No perché da noi ha fatto LO STESSO esempio!
Comunque l'apprendimento è una caratteristica di certe reti neurali non di tutte. Alcune vengono seplicemente preimpostate e poi agiscono senza avere feedback dall'ambiente. In ogni caso non è detto che non possa variare anche il programma di gioco durante la partita in base alle mosse dell'avversario o delle partite precedenti. E' difficile dare una definizione di intelligenza, forse è più facile parlare di comportamento intelligente. Ora se certe cose le possiamo escludere a priori tanto vale che facciano parte dell'imprinting del nostro sistema non ti pare? Poi sulle parti dove è necessaria flessibilità e adattabilità allora si adotteranno metodi diversi... ciò non toglie l'importanza delle altre tecniche!

Ah non mi ricordo proprio chi fosse sai, ma è possibile...
In ogni caso sono d'accordo con te, adesso come adesso si parla di comportamento intelligente. Ma in ogni caso io non è che voglia sminuire l'importanza degli alberi, dei tagli o che so io, forse mi sono spiegato male: semplicemente, con qualunque definizione di intelligenza, quei metodi non hanno un comportamento intelligente, sono semplicemente stati sviluppati da persone intelligenti.
Se la definizione "intelligente" o meno si affibiasse in base alla funzionalità, ripeto, anche la tazza del cesso sarebbe intelligente.
In realtà, secondo me, è il comportamento che bisogna guardare. E il comportamento di una rete neurale può essere intelligente, mentre quello di un taglio alfa-beta, mai.

A proposito di intelligenza, ho letto su Le Scienze che dal 5 al 9 alla fiera di Padova c'è un campionato di calcio con robot... io volevo proprio andarlo a vedere!

jumpermax
04-07-2003, 01:02
Mai? Ok facciamo una sfida prendiamo un gioco semplice come forza 4 costruiamo 2 sfidanti: io uso i tagli alfa-beta e una funzione di valutazione tu invece una bella rete neurale... secondo te, a parità di potenza di calcolo quale dei 2 prende le botte?
Secondo me stai operando una distinzione assolutamente ingiustificata tra i 2 sistemi: non farti fuorviare dalla struttura più complicata della rete: il fatto che tu non veda l'algoritmo che c'è dietro non vuol dire che non ci sia. La tua posizione mi ricorda l'argomento della stanza cinese di Searle...

gpc
04-07-2003, 01:05
Naaaaa, non ci siamo, stiamo dicendo due cose diverse.
Io non ho detto che la rete funzioni meglio dei tagli, io sto dicendo che la rete ha un comportamento "intelligente" perchè lavora in un certo modo, i tagli invece seguono uno schema fissato da un programmatore che può essere stato più o meno intelligente, ma faranno sempre e solo quel lavoro e sempre nello stesso modo, senza evolversi e senza imparare nulla.
Non sto dicendo che uno funzioni meglio dell'altro...

jumpermax
04-07-2003, 19:44
stai mescolando le 2 cose! La rete continua a comportarsi sempre nello stesso modo, devi scindere la parte informativa dall'algoritmo che elabora l'informazione!

gik25
04-07-2003, 20:27
Una cosa è certa: intelligenza artificiale è una cazzata di materia!!!

Io mi aspettavo dei ragionamenti "nucleari", e mi ritrovo ragionamenti da bambini di 5° elementare.

per vincere a scacchi...
usiamo i tagli :eek: :eek: :eek:

ma che cazzo de cazzata, ma allora facevano meglio a chiamarla deficenza artificiale...

io volevo un algoritmo bestiale, autoevolutivo che calcolasse funzioni probabilistiche da sfruttare per espandere i nodi

bleah, questa è una materia per frighini :D