Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'Informatica: Algoritmi, Motori di Ricerca e Storia dei Computer, Appunti di Elementi di Informatica

Introduzione all'informatica, gli algoritmi, i motori di ricerca, ranking e matching.

Tipologia: Appunti

2020/2021

In vendita dal 19/02/2021

chiara__4
chiara__4 🇮🇹

4.6

(9)

20 documenti

1 / 2

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
1. INTRODUZIONE ALL’INFORMATICA
COSA STUDIA L’INFORMATICA
- NON studia i computer (infatti i primi studi di info risalgono al 1920-1940, i pc non esistevano ancora)
- NON studia come si scrivono i programmi per computer (i linguaggi di programmazione sono solo uno
strumento di cui l’informatica si serve)
- NON studia come si utilizzano i computer.
L’informatica è la scienza degli algoritmi, quindi studia: le proprietà formali degli algoritmi (come si
descrivono), le implementazioni degli algoritmi (come si esprimono in linguaggio di programmazione),
l’applicazione degli algoritmi (come si utilizzano nei casi reali).
GLI ALGORITMI (da Al-Khowarizimi)
Definizione informale: procedura (insieme di passi) per risolvere un problema. Es. sequenza di passi di
calcolo necessari a fare una somma (5+3 5+1+1+1)
Definizione formale: sequenza ordinata di passi elementari.
Implementazione = per esprimere un algoritmo devo disporre di un linguaggio apposito.
Applicazione = per applicare un algoritmo a un caso reale devo disporre dei materiali necessari.
L’algoritmo può essere paragonato alla ricetta di una torta (=idea astratta, sequenza di passi per ottenere la
torta); la ricetta può essere scritta in lingue diverse, ma rimane sempre la stessa (diversi linguaggi di
programmazione); la ricetta rimane la stessa se realizzata da cuochi diversi (=hardware). Quindi: l’algoritmo
è un’entità astratta ed è indipendente dalla forma in cui viene espresso (linguaggi di programmazione),
dall’hardware su cui viene eseguito e dai dati a cui viene applicato.
L’informatica è la scienza della risoluzione di problemi mediante algoritmi. Per risolvere un problema
deve esistere una descrizione formale della soluzione (algoritmo, cioè sequenza di operazioni eseguibili che
portano dall’input all’output), un linguaggio di programmazione adatto a implementare l’algoritmo
(software), un pc che in un ragionevole arco di tempo fa girare il programma sull’input generando l’output
(hardware).
Ma: ci sono problemi non risolvibili dai pc, perché non esiste un algoritmo per risolverli, esiste un algoritmo
ma i pc impiegherebbero troppo tempo per eseguirlo, non è stata ancora trovata una soluzione algoritmica.
Tra i problemi non risolvibili abbiamo: Intelligenza Artificiale, Linguistica computazionale, Traduzione
automatica.
I MOTORI DI RICERCA
Funzionano grazie ad alcuni algoritmi. Nascono nel 1994; nel 2002 i più famosi sono Google, Yahoo, MSN;
oggi, principalmente Google. Svolgono 2 operazioni fondamentali:
1- Matching cercare le pagine web richieste dall’utente (algoritmo di matching); il risultato è un
insieme di pagine che soddisfano la richiesta dell’utente.
2- Ranking mettere in ordine le pagine trovate (algoritmo di ranking).
1) Il matching si basa sull’indicizzazione delle pagine web, che segnala l’esistenza del sito ai motori di
ricerca. È il modo in cui il sito viene acquisito e interpretato dai motori di ricerca e quindi compare nelle loro
pagine in risposta all’interrogazione dell’utente. L’indicizzazione viene applicata fin dall’antichità, infatti
negli archivi ogni documento è riconoscibile grazie a un indice alfanumerico.
Indicizzazione semplice: se il motore di ricerca cerca “dorme” legge gli indici e trova le seguenti pagine:
“il cane dorme nell’orto” (2)
“il cane dorme” (3)
ma non troverà “il cane è in giardino” (1).
Se cerca “cane & orto” trova (1) (2) (3) e sceglie (2).
pf2

Anteprima parziale del testo

Scarica Introduzione all'Informatica: Algoritmi, Motori di Ricerca e Storia dei Computer e più Appunti in PDF di Elementi di Informatica solo su Docsity!

1. INTRODUZIONE ALL’INFORMATICA

COSA STUDIA L’INFORMATICA

  • NON studia i computer (infatti i primi studi di info risalgono al 1920-1940, i pc non esistevano ancora)
  • NON studia come si scrivono i programmi per computer (i linguaggi di programmazione sono solo uno strumento di cui l’informatica si serve)
  • NON studia come si utilizzano i computer. L’informatica è la scienza degli algoritmi, quindi studia: le proprietà formali degli algoritmi (come si descrivono), le implementazioni degli algoritmi (come si esprimono in linguaggio di programmazione), l’applicazione degli algoritmi (come si utilizzano nei casi reali). GLI ALGORITMI (da Al-Khowarizimi) Definizione informale: procedura (insieme di passi) per risolvere un problema. Es. sequenza di passi di calcolo necessari a fare una somma (5+3  5+1+1+1) Definizione formale: sequenza ordinata di passi elementari. Implementazione = per esprimere un algoritmo devo disporre di un linguaggio apposito. Applicazione = per applicare un algoritmo a un caso reale devo disporre dei materiali necessari. L’algoritmo può essere paragonato alla ricetta di una torta (=idea astratta, sequenza di passi per ottenere la torta); la ricetta può essere scritta in lingue diverse, ma rimane sempre la stessa (diversi linguaggi di programmazione); la ricetta rimane la stessa se realizzata da cuochi diversi (=hardware). Quindi: l’algoritmo è un’entità astratta ed è indipendente dalla forma in cui viene espresso (linguaggi di programmazione), dall’hardware su cui viene eseguito e dai dati a cui viene applicato. L’informatica è la scienza della risoluzione di problemi mediante algoritmi. Per risolvere un problema deve esistere una descrizione formale della soluzione (algoritmo, cioè sequenza di operazioni eseguibili che portano dall’input all’output), un linguaggio di programmazione adatto a implementare l’algoritmo (software), un pc che in un ragionevole arco di tempo fa girare il programma sull’input generando l’output (hardware). Ma: ci sono problemi non risolvibili dai pc, perché non esiste un algoritmo per risolverli, esiste un algoritmo ma i pc impiegherebbero troppo tempo per eseguirlo, non è stata ancora trovata una soluzione algoritmica. Tra i problemi non risolvibili abbiamo: Intelligenza Artificiale, Linguistica computazionale, Traduzione automatica. I MOTORI DI RICERCA Funzionano grazie ad alcuni algoritmi. Nascono nel 1994; nel 2002 i più famosi sono Google, Yahoo, MSN; oggi, principalmente Google. Svolgono 2 operazioni fondamentali: 1- Matching  cercare le pagine web richieste dall’utente (algoritmo di matching); il risultato è un insieme di pagine che soddisfano la richiesta dell’utente. 2- Ranking  mettere in ordine le pagine trovate (algoritmo di ranking).
  1. Il matching si basa sull’ indicizzazione delle pagine web, che segnala l’esistenza del sito ai motori di ricerca. È il modo in cui il sito viene acquisito e interpretato dai motori di ricerca e quindi compare nelle loro pagine in risposta all’interrogazione dell’utente. L’indicizzazione viene applicata fin dall’antichità, infatti negli archivi ogni documento è riconoscibile grazie a un indice alfanumerico. Indicizzazione semplice : se il motore di ricerca cerca “dorme” legge gli indici e trova le seguenti pagine: “il cane dorme nell’orto” (2) “il cane dorme” (3) ma non troverà “il cane è in giardino” (1). Se cerca “cane & orto” trova (1) (2) (3) e sceglie (2).

L’algoritmo basato sull’indicizzazione semplice indicizza tutte le pagine (che hanno un indice alfanumerico), indicizza tutte le parole di ogni pagina, cerca le parole nell’indice, restituisce le pagine che soddisfano la ricerca. Quella semplice funziona solo con una singola parola, ma non con una sequenza di parole. Infatti, se il motore cerca “il cane dorme”, può trovare “Il gatto dorme mentre il cane dorme” (sbagliata). Indicizzazione posizionale : consiste nell’affidare un indice anche alla posizione delle parole; se il motore cerca “il cane dorme”, “il” deve precedere “cane”, “cane” deve seguire “il”, “dorme” deve seguire “cane”. L’algoritmo basato sull’indicizzazione posizionale indicizza tutte le pagine, indicizza tutte le parole di ogni pagina, cerca le parole nell’indice, verifica che gli indici delle parole soddisfino i vincoli di ordine, restituisce le pagine che soddisfano la ricerca. Per un pc l’indicizzazione è un compito molto semplice e permette una ricerca molto rapida perché richiede la lettura dell’indice e non delle pagine. L’indicizzazione riguarda anche i tag.

  1. Il ranking permette di ordinare le pagine in base alla loro rilevanza. Al contrario dell’uomo, il pc ordina le pagine in base alla loro rilevanza SENZA comprenderne il significato. Questo algoritmo ordina correttamente i documenti grazie a particolari indicatori che dimostrano la rilevanza/autorevolezza delle pagine web: il numero di link in ingresso (cioè il numero di pagine web che rimandano alla pagina P; il fatto che una pagina sia linkata da altre mostra la sua autorevolezza e quindi compare prima nella ricerca): l’autorevolezza delle pagine che la linkano (se una pagina è linkata da pagine autorevoli, allora è essa stessa autorevole). Una pagina può anche richiamare se stessa, cioè può comparire un ciclo di link. Per risolvere il problema dei cicli si usano algoritmi di ordinamento basati sulla navigazione casuale: si calcola la probabilità che un utente casuale vada a visitare ogni pagina e si attribuisce un punteggio ad ogni pagina; il punteggio viene usato per definire l’autorevolezza di una pagina (le pag. più autorevoli hanno + probabilità di essere visitate come anche quelle che hanno link in ingresso da pagine più autorevoli, e quindi vengono messe in ordine di autorevolezza). PageRank (Brin & Page): le pagine più popolari esprimono coi propri link voti di valore maggiore. COS’È UN COMPUTER È una macchina che esegue operazioni elementari ed è programmabile, cioè può simulare comportamenti di altre macchine e dell’uomo sulla base di istruzioni (=programmi) fornite dall’uomo. La prima “macchina programmabile” fu il telaio inventato da Jacquard nel 1800, seguito da:  La macchina di Alan Turing del 1936  idea astratta di una macchina che ha sullo stesso dispositivo di memoria dati e programma. Esegue operazioni semplici (lettura, scrittura, cancellazione, spostamento) su una memoria  ENIAC (Usa, 1946)  macchina programmata tramite fili, interruttori, connettori. Programmare la macchina per lo svolgimento di un nuovo compito significava modificare le impostazioni di migliaia di interruttori.  Macchina di Von Neumann  prima macchina reale con programma memorizzato, la cui unità di memoria contiene sia i dati che il programma; le istruzioni vengono eseguite senza intervento umano. I pc attuali adottano l’architettura della macchina di Neumann, perché hanno unità di input, unità di output, CPU, memoria; svolgono le stesse operazioni della macchina di Turing (4); sono degli insiemi di interruttori ed ognuno di essi ha 2 soli stati (acceso e spento), che corrispondono ai 2 valori della codifica digitale.