Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Il REDMAGIC Astra Gaming Tablet rappresenta una rivoluzione nel gaming portatile, combinando un display OLED da 9,06 pollici a 165Hz con il potente Snapdragon 8 Elite e un innovativo sistema di raffreddamento Liquid Metal 2.0 in un form factor compatto da 370 grammi. Si posiziona come il tablet gaming più completo della categoria, offrendo un'esperienza di gioco senza compromessi in mobilità.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-11-2003, 14:05   #81
angelica
Member
 
Iscritto dal: Nov 2003
Messaggi: 42
:O

sono sinceramente meravigliata!

a2000...30 righe...

io non mi ci sono messa, ché ho ripreso il C da pochi giorni, e tra un po' sotto col C++!

ma...sono sicura che qualcuno qui riuscirà a tirar fuori un proggie scritto in C/C++ bello efficiente!
su ragazzi, sono con voi!

@a2000: complimenti! davvero!
io la teoria dei grafi l'ho studiata nell'esame di RicercaOperativa...ma non ricordo molto!
__________________
ANGI
angelica è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 14:52   #82
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
grazie delle belle parole angy !

ma sono già impegnato con monky !

(ancora per poco, però)
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 14:53   #83
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
primo tentativo fallito
troppi 3d, il sistema non ha retto nemmeno in modalità console
modificarlo per farlo andare non sarebbe un problema, ma non capisco come adottare la via che mi sembra che tu abbia imboccato.
il mio programma (per ora non fà niente, ma ho già in mente le modifiche del caso per alleggerire il tutto) calcola tutte le combinazioni possibili (non tutte le strade, ma tutte le soluzioni possibli) e le segue fino in fondo arrivando a tantissime soluzioni.

non ho la più pallida idea di come far scegliere una strada che deve per forza essere giusta

chiedo l'aiuto da casa
conoscevi a priori il metodo da adottare (cioè: lo sapevi fare anche su carta)?

cmq ora continuo a provare a calcolare tute le combinazioni possibili, poi volgio però anche riuscire a far arrivare il pc a 1 SOLA soluzione, non a tutte.

ciao
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 15:09   #84
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
calcolare tutte le combinazioni (cammini) possibili è ... impossibile

ossia mooolto oneroso e praticamente impossibile con il crescere del numero di elementi della matrice.

in questa ottica è meglio costruire il grafo del gioco, ossia assegnare ad ogni cella un nodo e collegarlo con quelle connesse secondo le regole di spostamento assegnate.
una volta costruito il grafo si applica un algoritmo standard di cammino minimo ..... ma non sono 30 righe

l'altra strada è (ma forse è la stessa ... ):

devi visitare tutte le città d'Italia una sola volta,
ti trovi a Bologna e sai che Firenze ha 8 vie d'accesso residue, Verona 5, Modena 4, Imola 2
quale visiti ?
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 15:14   #85
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
siccome l'ottimo è nemico del bene, il quale sta in mezzo, le risposte possibili sono 2: o Firenze o Imola.

a te la scelta.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 15:15   #86
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
che devi fare !

non mi partire ancora col percorso binario invece che ottenario !
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 16:06   #87
bsummer
Senior Member
 
L'Avatar di bsummer
 
Iscritto dal: Oct 2002
Messaggi: 487
Quote:
Originariamente inviato da a2000
non potete spazzolare tutte le possibilità di spostamento a n passi (magari con le ricursive che vi piacciono tanto): dovete determinare un criterio semplice con cui scegliere tra i vari spostamenti possibili.
Ah, io credevo che si stesse giocando a chi lo fa più corto

Quote:
altra strada, esaustiva ma costosa, è quella del cammino minimo sul grafo di stato.
Ricerca operativa è un esame che ho dato anch'io
Tuttavia non mi sentirei di definire il problema come uno di "cammino minimo". Ma forse mi sbaglio, è passato un po' di tempo...

Aloha!
bsummer è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 16:14   #88
bsummer
Senior Member
 
L'Avatar di bsummer
 
Iscritto dal: Oct 2002
Messaggi: 487
Quote:
[b]
l'altra strada è (ma forse è la stessa ... ):

devi visitare tutte le città d'Italia una sola volta,
ti trovi a Bologna e sai che Firenze ha 8 vie d'accesso residue, Verona 5, Modena 4, Imola 2
quale visiti ?
Esatto... lo vedo di più come la ricerca di un algoritmo di copertura minimo con in più l'imposizione che un nodo può avere al massimo una solo uscita (una sola entrata è implicita in quanto l'albero è di copertura minima, fatta eccezione per la radice che non ha entrate).

Personalmente andrei a Imola...è meno probabile che andando avanti trovi altre strade che mi portino là.

Aloha!
bsummer è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 16:46   #89
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da a2000
ecco qui le prime cento righe degli spostamenti della 1000x1000 (in 1 secondo):


Legenda:
1 = E
2 = NE
3 = N
4 = NW
5 = W
6 = SW
7 = S
8 = SE
Azzz.non avevo pensato a memorizzare solamente gli spostamenti...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 18:24   #90
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Quote:
Originariamente inviato da a2000
confermo le 30 righe di codice

250 x 250 in 0.07 secondi, 1000 x 1000 in 1.1 s, 10000 x 10000 in 112 s.
non ottimizzato.

questa è una 250x250 in 0.07 s
Domani ti mando il mio programmino... conto di eguagliare almeno le 30 righe... per la velocità non so.
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo
lombardp è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 19:03   #91
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
OK, ti abbuono anche le graffe !
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 19:16   #92
Strat
Member
 
L'Avatar di Strat
 
Iscritto dal: Oct 2003
Messaggi: 126
Da quello che ho capito si usa il metodo del cammino ottimale, o meglio l'idea deriva da questo,o mi sbaglio gia?

Cioè prendo un nodo di partenza e percorro l'arco con peso minore, in questo caso il peso è il numero di scelte che ho nel caso successivo.

La mia domanda è quando si deve scegliere fra due archi dello stesso peso si guardano i due passi successivi o si va a caso e se si sbaglia si torna indietro?

PS.: Per la prima volta l'ho risolto su carta anche se non in questo modo. ( un po' a caso....)

Ciao
Strat è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 19:33   #93
a2000
Bannato
 
L'Avatar di a2000
 
Iscritto dal: Jan 2001
Messaggi: 1976
Quote:
Originariamente inviato da Strat
...

La mia domanda è quando si deve scegliere fra due archi dello stesso peso si guardano i due passi successivi o si va a caso e se si sbaglia si torna indietro?
....
sì:

"quando si deve scegliere fra due archi dello stesso peso si guarda fino a un numero determinato (*) di passi successivi"

(*) anche 0.
a2000 è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 23:38   #94
angelica
Member
 
Iscritto dal: Nov 2003
Messaggi: 42
non riesco a tirar fuori l'algoritmo...qualcuno di voi potrebbe passarlo?
greedy, backtracking o cosa?

un'altra cosa che mi viene un po' ostica da immaginare è la struttura dei nodi e delle liste di nodi...

in un semplice grafo orientato etichettato mi sono immaginata una struttura del genere:

typedef struct {
int etichetta;
listanodi *adiacente;
nodo *prossimo;
} nodo;

typedef struct {
nodo *nodo;
listanodi *prossimo;
} listanodi;

ma questa potrebbe andare per una situescion simile:


nel nostro caso non ho una lista data...la devo comporre; può essere pari al prodotto righe*colonne; ogni nodo può puntare fino a 8 diversi nodi, l'etichetta è la posizione sulla scacchiera...

azz, un vero casino...
scommetto che mi sto inutilmente scervellando, perché il problema può essere risolto altrimenti...o sbaglio?
certo, avere una struttura "su carta" sulla quale lavorare, sarebbe meglio...
qualcuno di voi c'è arrivato?

poi magari il grafo non è orientato ma semplicemente pesato, con il peso = mosse possibili dalla prossima posizione...

caos mentale supremoooo!
__________________
ANGI
angelica è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2003, 07:21   #95
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Il programma effettua una ricerca di tutte le possibili soluzioni (almeno dovrebbe) e stampa il risultato a video o su file. Al crescere della matrice il tempo di esecuzione letteralmente esplode (come era prevedibile). Per esempio con una 5x5 partendo da (2,2) ci sono 352 possibili soluzioni e si conclude in frazioni di secondo, già con una 6x6 si misura in minuti.

Esempio di uso su video: brute 2 2
Esempio di uso su file: brute 2 2 > soluzioni.txt

Il LATO della matrice è definito da una #define, ma potrebbe essere anche incluso tra i parametri allocando la matrice dinamicamente.

Codice:
#include <stdlib.h>
#define LATO 5

int p[LATO*LATO];
int i;

void piazza(int y,int x,int n=1) {
   if (p[y*LATO+x]==0)
   {
      p[y*LATO+x] = n;
      if (n==(LATO*LATO)) {
         for (i=0;i<(LATO*LATO);i++) if ((i%(LATO))==0) printf("\n%i ",p[i]); else printf("%i ",p[i]);
         printf("\n");
      }
      else {
         if (x<LATO-3)               piazza(y,x+3,n+1);
         if (y<LATO-3)               piazza(y+3,x,n+1);
         if (x>2)                    piazza(y,x-3,n+1);
         if (y>2)                    piazza(y-3,x,n+1);
         if ((x<LATO-2)&(y<LATO-2))  piazza(y+2,x+2,n+1);
         if ((x>1)&(y<LATO-2))       piazza(y+2,x-2,n+1);
         if ((x>1)&(y>1))            piazza(y-2,x-2,n+1);
         if ((x<LATO-2)&(y>1))       piazza(y-2,x+2,n+1);
      }
      p[y*LATO+x] = 0;
   }
}

void main(int argc, char* argv[])
{
   for (i=0;i<(LATO*LATO);i++) p[i]=0;
   piazza(atoi(argv[1]),atoi(argv[2]));
   printf("\n\nFINE");
}
PS: E' molto simile a quello di BSUMMER
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo

Ultima modifica di lombardp : 19-11-2003 alle 08:35.
lombardp è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2003, 07:59   #96
verloc
Senior Member
 
L'Avatar di verloc
 
Iscritto dal: Jan 2000
Messaggi: 551
L'algoritmo di a2000 è un problema di "spanning tree".
...nel caso specifico dovrebbe essere euristico (dico bene a2000 o sbaglio?)
quindi potrebbe esserci la possibilità che fallisca(?)



miseria,non ho tempo...mi piacerebbe cimentarmi.

Solo una curiosità(bisogna costruire la matrice di adiacenza)?
verloc è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2003, 08:19   #97
verloc
Senior Member
 
L'Avatar di verloc
 
Iscritto dal: Jan 2000
Messaggi: 551
Quote:
Originariamente inviato da angelica
non riesco a tirar fuori l'algoritmo...qualcuno di voi potrebbe passarlo?
greedy, backtracking o cosa?
...
tieni presente che a2000 lo ha fatto in fortran...
se lo conosco bene...solo matrici,vettori ...niente strutture...
trova una via + semplice... c'è(se no addio 30 righe)
verloc è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2003, 08:29   #98
Strat
Member
 
L'Avatar di Strat
 
Iscritto dal: Oct 2003
Messaggi: 126
Credo che strutture dati complessa tipo liste, code, ecc... non siano molto utili in questo caso, dall'idea che ci ha dato a2000 una matrice va benissimo, magari si può usare un vettore che tenga memoria di n alternative precedenti in caso di fallimento di un dato percorso.

Ciao
Strat è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2003, 16:00   #99
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Quante soluzioni trovate per n=6 cominciando dalla cella 0,0??

Ma le vostre soluzioni si fermano appena ne trovano una o le trovano tutte?
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2003, 16:20   #100
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Quote:
Originariamente inviato da cn73
Quante soluzioni trovate per n=6 cominciando dalla cella 0,0??
Matrice 5x5 partendo da 2,2 : 352 soluzioni
Matrice 6x6 partendo da 0,0 : 302'282 soluzioni

Quote:
Ma le vostre soluzioni si fermano appena ne trovano una o le trovano tutte?
Il programmino che ho postato le trova tutte... ma basta poco per farlo fermare alla prima.
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo
lombardp è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Gigabyte Aero X16 Copilot+ PC: tanta potenza non solo per l'IA Gigabyte Aero X16 Copilot+ PC: tanta potenza non...
Da Microsoft due nuovi Surface Laptop 5G...
Processore NVIDIA N1X slittato al 2026: ...
Tesla, nel secondo semestre più a...
One UI 8 Watch arriva su Galaxy Watch Ul...
Moon Studios scarica Xbox: No Rest for t...
L'idea di JPMorgan: prestiti e finanziam...
Candy Crush: non solo il gioco! Arriva a...
Ecco come siamo riusciti a raccogliere l...
Agentic AI Framework: l'IA basata su age...
Offerte Amazon pazze di luglio: portatil...
Scoppierà la bolla AI? Gli econom...
Il potere dei coupon e delle offerte Ama...
Tesla fotovoltaica, funziona davvero? Un...
Ribassi clamorosi sui robot Narwal: scon...
Dopo OpenAI anche Gemini Deep Think conq...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:22.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v