Casa Finanza personale Algoritmi: costi di calcolo e euristica successiva - manichini

Algoritmi: costi di calcolo e euristica successiva - manichini

Sommario:

Video: Ipnosi - Fondamenti psicologici dell'Ipnosi 2025

Video: Ipnosi - Fondamenti psicologici dell'Ipnosi 2025
Anonim

Spesso, trovi che un approccio euristico, che si basi sull'auto-scoperta e produce risultati sufficientemente utili (non necessariamente ottimali, ma abbastanza buoni) è il metodo che è effettivamente necessario per risolvere un problema. Ottenere l'algoritmo per eseguire parte del lavoro richiesto consente di risparmiare tempo e fatica perché è possibile creare algoritmi che vedano i modelli meglio degli umani.

Di conseguenza, l'auto-scoperta è il processo che consente all'algoritmo di mostrarti un percorso potenzialmente utile per una soluzione (ma devi comunque contare sull'intuizione umana e sulla comprensione per sapere se la soluzione è quella giusta). Le sezioni seguenti descrivono le tecniche che è possibile utilizzare per calcolare il costo di un algoritmo utilizzando l'euristica come metodo per scoprire l'effettiva utilità di una determinata soluzione.

Rappresentazione del problema come spazio

Uno spazio di problemi è un ambiente in cui avviene la ricerca di una soluzione. Un insieme di stati e gli operatori utilizzati per modificare quegli stati rappresentano lo spazio del problema. Ad esempio, considera un gioco di tessere con otto tessere in una cornice 3 x 3. Ogni tessera mostra una parte di un'immagine e le tessere iniziano in ordine casuale in modo che l'immagine sia criptata. L'obiettivo è spostare una tessera alla volta per posizionare tutte le tessere nel giusto ordine e rivelare l'immagine.

La combinazione dello stato iniziale, dei riquadri randomizzati e dello stato obiettivo - le tessere in un ordine particolare - è l'istanza del problema. È possibile rappresentare graficamente il puzzle utilizzando un grafico dello spazio dei problemi. Ogni nodo del grafico dello spazio del problema presenta uno stato (le otto tessere in una posizione particolare). I bordi rappresentano operazioni, come spostare il numero di tessere otto su. Quando muovi la tessera otto su, l'immagine cambia - passa a un altro stato.

Vincere il gioco passando dallo stato di partenza allo stato di obiettivo non è l'unica considerazione. Per risolvere il gioco in modo efficiente, è necessario eseguire l'attività nel minor numero di mosse possibili, il che significa usare il minor numero di operatori. Il numero minimo di mosse utilizzate per risolvere il puzzle è la profondità del problema.

È necessario considerare diversi fattori quando si rappresenta un problema come spazio. Ad esempio, è necessario considerare il numero massimo di nodi che si adatta alla memoria, che rappresenta la complessità dello spazio. Quando non è possibile inserire tutti i nodi nella memoria in una volta, il computer deve memorizzare alcuni nodi in altre posizioni, come il disco rigido, che può rallentare considerevolmente l'algoritmo.Per determinare se i nodi si adattano alla memoria, è necessario considerare la complessità temporale, che è il numero massimo di nodi creati per risolvere il problema. Inoltre, è importante considerare il fattore di diramazione, che è il numero medio di nodi creati nel grafico dello spazio del problema per risolvere un problema.

Andare a caso ed essere benedetti dalla fortuna

Risolvere un problema di ricerca usando tecniche a forza bruta è possibile. Il vantaggio di questo approccio è che non è necessaria alcuna conoscenza specifica del dominio per utilizzare uno di questi algoritmi. Un algoritmo a forza bruta tende a utilizzare l'approccio più semplice possibile per risolvere il problema. Lo svantaggio è che un approccio a forza bruta funziona bene solo per un piccolo numero di nodi. Ecco alcuni degli algoritmi di ricerca di forza bruta più comuni:

  • Ricerca in ampiezza: Questa tecnica inizia dal nodo radice, esplora prima ciascuno dei nodi figlio e solo dopo passa al livello successivo. Progredisce livello per livello fino a quando non trova una soluzione. Lo svantaggio di questo algoritmo è che deve memorizzare ogni nodo in memoria, il che significa che utilizza una notevole quantità di memoria per un gran numero di nodi. Questa tecnica può verificare la presenza di nodi duplicati, risparmiando tempo e sempre con una soluzione.
  • Ricerca approfondita: Questa tecnica inizia dal nodo radice ed esplora una serie di nodi figlio connessi fino a raggiungere un nodo foglia. Progredisce ramo dopo ramo finché non trova una soluzione. Lo svantaggio di questo algoritmo è che non può controllare i nodi duplicati, il che significa che potrebbe attraversare gli stessi percorsi dei nodi più di una volta. In effetti, questo algoritmo potrebbe non trovare affatto una soluzione, il che significa che è necessario definire un punto limite per mantenere l'algoritmo dalla ricerca infinita. Un vantaggio di questo approccio è che è efficiente in termini di memoria.
  • Ricerca bidirezionale: Questa tecnica esegue la ricerca simultanea dal nodo radice e dal nodo obiettivo finché i due percorsi di ricerca non si incontrano nel mezzo. Un vantaggio di questo approccio è che è efficiente nel tempo perché trova la soluzione più veloce di molte altre soluzioni a forza bruta. Inoltre, utilizza la memoria in modo più efficiente rispetto ad altri approcci e trova sempre una soluzione. Il principale svantaggio è la complessità dell'implementazione, che si traduce in un ciclo di sviluppo più lungo.

Uso di una funzione euristica e di un costo

Per alcune persone, la parola euristica sembra complicata. Sarebbe altrettanto semplice dire che l'algoritmo fa un'ipotesi e poi ci riprova quando fallisce. A differenza dei metodi a forza bruta, gli algoritmi euristici apprendono. Usano anche le funzioni di costo per fare scelte migliori. Di conseguenza, gli algoritmi euristici sono più complessi, ma hanno un netto vantaggio nella risoluzione di problemi complessi. Come con gli algoritmi a forza bruta, ci sono molti algoritmi euristici e ognuno ha una propria serie di vantaggi, svantaggi e requisiti speciali. L'elenco seguente descrive alcuni dei più comuni algoritmi euristici:

  • Ricerca euristica pura: L'algoritmo espande i nodi in ordine di costo.Mantiene due liste. La lista chiusa contiene i nodi che ha già esplorato; la lista aperta contiene i nodi che deve ancora esplorare. In ogni iterazione, l'algoritmo espande il nodo con il costo più basso possibile. Tutti i nodi figlio vengono inseriti nell'elenco chiuso e vengono calcolati i costi dei singoli nodi figlio. L'algoritmo invia i nodi figli con un costo ridotto alla lista aperta ed elimina i nodi figlio con un costo elevato. Di conseguenza, l'algoritmo esegue una ricerca intelligente e basata sui costi per la soluzione.
  • A * search: L'algoritmo tiene traccia del costo dei nodi mentre li esplora utilizzando l'equazione: f (n) = g (n) + h (n), dove
    • n è l'identificativo del nodo.
    • g (n) è il costo per raggiungere il nodo finora.
    • h (n) è il costo stimato per raggiungere l'obiettivo dal nodo.
    • f (n) è il costo stimato del percorso da n all'obiettivo.

L'idea è di cercare prima i percorsi più promettenti ed evitare percorsi costosi.

  • Greedy best-first search: L'algoritmo sceglie sempre il percorso più vicino all'obiettivo utilizzando l'equazione: f (n) = h
Algoritmi: costi di calcolo e euristica successiva - manichini

Scelta dell'editore

Visio 2007 For Dummies Cheat Sheet - dummies

Visio 2007 For Dummies Cheat Sheet - dummies

Utilizzando i tasti di scelta rapida in Microsoft Visio 2007 per lavorare con le forme, eseguire azioni comuni i comandi e le finestre di dialogo aperte, insieme alle barre degli strumenti di Visio, ti aiuteranno a creare diagrammi efficaci in modo rapido e semplice.

Che combina documenti in WordPerfect 12 - dummies

Che combina documenti in WordPerfect 12 - dummies

Ogni documento di WordPerfect vive nel proprio piccolo file accogliente sul disco rigido. Ma a volte vuoi abbattere i muri tra i tuoi documenti e metterli insieme, organizzare una piccola festa o qualsiasi altra cosa. Supponiamo che uno dei tuoi documenti contenga una descrizione standard del prodotto che vendi - future sul cioccolato. Quindi ...

Correzione degli errori con WordPerfect Office 2002 - dummies

Correzione degli errori con WordPerfect Office 2002 - dummies

La funzione QuickCorrect di wordPerfect, attivata per impostazione predefinita, fornisce correzione degli errori as-you-type. Digitare una parola in modo errato e WordPerfect lo corregge non appena si colpisce la barra spaziatrice. Ad esempio, se si digita teh, WordPerfect presuppone che l'utente intendesse veramente scrivere il testo, quindi il programma cambia automaticamente in. Non ti infastidisce nemmeno ...

Scelta dell'editore

Flash CS5 Pubblica impostazioni per file HTML - dummies

Flash CS5 Pubblica impostazioni per file HTML - dummies

Per presentare filmati Adobe Flash Creative Suite 5 sul Web, dovrai pubblicare un file HTML che contenga il tuo file SWF Flash. Questo file HTML non solo visualizza il filmato ma include anche tutto il codice necessario per controllare le dimensioni, l'aspetto e le opzioni di runtime (come ad esempio la ripetizione del filmato). Il file HTML ...

Come aggiungere il codice di stop con il pannello operativo in Adobe Flash CS6 - dummies

Come aggiungere il codice di stop con il pannello operativo in Adobe Flash CS6 - dummies

Scoprirai che la codifica tramite la finestra dell'Editor di codice del pannello Azioni in Adobe Flash CS6 offre una notevole flessibilità per alcune attività come l'aggiunta di un'azione di arresto nel video Flash. L'istruzione stop () fa esattamente quello che sembra: blocca la timeline su qualunque frame su cui è posizionata. Un uso comune di ...

Flash CS5 Pubblica impostazioni per file SWF - dummies

Flash CS5 Pubblica impostazioni per file SWF - dummies

Adobe Flash Creative Suite 5 I file SWF sono filmati compressi utilizzati da il Flash Player per la visualizzazione sul Web o direttamente sul computer dell'utente. Quando si sceglie di pubblicare un file SWF, è possibile specificare le impostazioni che determinano la versione, la sicurezza e la qualità. Le impostazioni SWF sono disponibili nella scheda Flash ...

Scelta dell'editore

Crea volantini e annunci con Photoshop Elements 10 - manichini

Crea volantini e annunci con Photoshop Elements 10 - manichini

Se vendi cuccioli o pubblichi uno spazio aperto casa, aggiungere una foto a un annuncio o un volantino aiuta davvero a riportare a casa il messaggio. Con Photoshop Elements 10, è facile massimizzare le opportunità di vendita. Ecco i passaggi abbreviati per creare rapidamente un annuncio o un volantino: Nella modalità Modifica foto completa, scegli Archivio → Nuovo → File vuoto. ...

Crea il tipo di paragrafo in Photoshop Elements 10 - dummies

Crea il tipo di paragrafo in Photoshop Elements 10 - dummies

Se hai pezzi di testo più grandi, di solito è più pratico per inserire il testo in Photoshop Elements 10 come tipo di paragrafo. L'inserimento del tipo di paragrafo è simile all'inserimento di testo in un programma di elaborazione testi o di impaginazione, tranne per il fatto che il testo è contenuto all'interno di un rettangolo di selezione. Quando si digita e si arriva alla fine di ...

Crea una presentazione da Photoshop Elements 10 - dummies

Crea una presentazione da Photoshop Elements 10 - dummies

Crei un file di progetto nell'Editor di diapositive in Photoshop Elements 10 e quindi esportarlo per un numero di usi diversi. Un progetto Photoshop Elements ha un vantaggio rispetto a un documento PDF in relazione alla revisione del contenuto. È possibile semplicemente aprire il progetto, apportare revisioni e produrre la presentazione - ...