informatica Flashcards
leggi della robotica
di Asimov
1- robot non può creare danno a un essere umano
2- robot deve ubbidire all’essere umano (a meno di non contravvenire con 1)
3- robot deve proteggere la sua esistenza (a meno di non contravvenire con 1,2)
intelligenza artificiale
- forte o generale -> qualsiasi problema, mente nello stesso senso in cui gli esseri umani hanno una mente
- debole o ristretta -> problema specifico, parte limitata della mente
test di turing
se un soggetto c non è in grado di capire se sta parlando con una persona o una macchina, allora la macchina dimostra un comportamento intelligente
capacità per passare il test di turing
- linguaggio naturale
- memorizzazione
- apprendimento
- ragionamento automatico
Searle
- critica il test di turing (non considera lo stato interno della macchina)
- un programma non puà avere mente, comprensione o coscienza (no IA forte)
- sintassi non è sufficiente per la semantica (la stanza cinese)
approccio simbolico (sistemi esperti)
- simboli come base del processo congnitivo (si codifica la base di conoscenze sulla quale poi la macchina ragiona)
- per applicazioni ben definite
- sistema di IA composto da: base di conoscenza, insieme di regole, motore inferenziale
approccio connettivista (reti neurali)
- sistema apprende in modo autonomo dei dati (ma necessari in grandi quantità)
- modello semplificato delle funzionalità celebrali -> input come insieme di numeri che vengono moltiplicati per un peso e poi passano attraverso una funzione di attivazione che ha previsti degli output per quegli input
- deep neural network
Dartmouth summer reaserch project on artificial intelligence
1956, il termine intelligenza artificiale viene usato per la prima volta
IA negli anni ‘50
- rete neurale Perceptron
- grandi successi e finanziamenti (DARPA = defence advanced research project agency
Eliza (1964-66)
primo chatbot in grado di simulare una conversione con uno psicoterapeuta
primo inverno delle IA (1974-80)
- problemi di esplosione combinatoria (=numero di possibili tentativi altissimo e procedimenti per prove ed errori)
- scarse risorse computazionali
IA negli anni ‘80
- popolaritò dei sistemi esperti (approccio simbolico)
- Fifth generation computer project (rete neurale e approccio connettivista)
Secondo inverno delle IA (1987-93)
- problemi dei sistemi esperti al di fuori di casi specifici
- fallimento del fifth generation computer project
Applicazioni avanzate (IA dagli anni 90 e primi 2000)
- ripresa (sistema per la pianificazione della logistica nella guerra del golfo)
- 1997 Deep blue batte a scacchi un campione in carica
IA oggi
- IA focalizzate su problemi specifici
- disponibilità di big data per addestrare le IA
Limiti dell’IA
- capacità di apprendimento delle reti neurali (necessati moltissimi esempi per l’addestramento)
- comportamenti inattesi se sottoposti a input mai incontrati in addestramento
informatica
(information automatique, 1962) = trattamento automatico dell’informazione
informatica umanistica
integrazione di procedure computazionali e sistemi multimediali nellediscipline umanistiche (a livello applicativo e metodologico)
dati
rappresentazione non intepretata ed effettuata attraverso simboli su un supporto
informazione
dati sottoposti a interpretazione, elaborazione di dati
conoscenza
deriva dal collegare una data informazione ad altre informazioni riferite a un particolare contesto
bit
- numeri binari in sequenza con i quali si memorizzano i dati nel calcolatore
- 8 bit = 1 byte
algebra booleana
- algebra in base due, in cui le variabili possono assumere solo i valori di verità 1 (vero) e 0 (falso)
- base per la progettazione dei circuiti logici (processore come insieme di circuiti logici) -> gli operatori booleani sono implementati fisicamente mediante porte logiche
NOT (operatore booleano)
scambia il valore di verità ottenuto in input
AND (operatore booleano)
restituisce vero se entrambi sono veri
OR (operatore booleano)
restituisce vero se almeno uno è vero
XOR (operatore booleano)
restituisce vero se esattamente uno è vero
porte logiche
- circuito in cui i valori 1 e 0 sono rappresentati da un voltaggio (implementano fisicamente gli operatori booleani)
- base per circuiti logici complessi
- possono memorizzare informazioni (flip flop)
algoritmo
= sequenza di operazioni che definisce come svolgere un compito
- cambiando l’esecutore si ottiene lo stesso risultato
esecutore
operatore o apparecchio che elabora automaticamente dati (input) secondo procedure prestabilite (algoritmi) per produrre un risultato (output)
- il calcolatore è un esecutore (memorizzazione, rappresentazione e processamento automatico dell’informazione)
proprietà della procedura dell’algoritmo
- generale (classe di problemi)
- finita (le procedure e i passaggi devono essere discreti)
- completa (deve contemplare tutti i casi possibili)
- non ambigua
- eseguibile
programma
rappresentazione-codifica di un algoritmo per essere compatibile e quindi eseguibile dal calcolatore (poi tradotto in istruzioni macchina in linguaggio binario)
compilatore
programma che traduce il linguaggio di programmazione in instruzioni macchina in codici binari supportati dal processore (in modo che il calcolatore possa eseguire l’algoritmo)
macchina di turing
- corrisponde ad algoritmo (definisce le funzioni calcolabili)
- nastro infinito come supporto
- alfabeto finito di simboli (0, 1, blank)
- insieme finito di stati (q0, halt)
- funzione di transizione (realizza la logica di controllo)
- testina
halting problem
- determinare se la macchina di turing completerà l’esecuzione di un input o continuerà a girare all’onginito
- funzione non calcolabile (non tutte le funzioni su numeri naturali possono essere calcolate da un programma)
Abaco
sistema per la rappresentazione e memorizzazione dell’informazione, mentre il calcolo è demandato all’esecutore
macchina di anticitera
più antico calcolatore meccanico conosciuto (178 a.C.) per il calcolo della posizione dei pineti nelle diverse date
pascalina
progettata da pascal, effettua somme
macchina calcolatrice
progettata da Liebniz, consente di effettuare le 4 operazioni
macchina alalitica
- progettata da Babbage ma mai realizzata in interezza
- primo prototipo di computer meccanico
- effetta operazioni (elaborazione e memorazione dei dati, compiti generici) da istruzioni tramite schede perforate
Ada Lovelace
prima programmatrice -> algoritmo per calcolare i numeri di Bernoulli con la macchina analitica
hardware
parte meccanica (elettronica, elettrica, magnetica) di un computer
livelli di flessibilità della macchina
- non programmabile -> compiti specifici
- prime macchine programmabili -> compiti generali ma necessaria riconfigurazione fidica con cavi e interruttori
- architettura Von Neumann -> nella memoria sono salvati sia dati che programmi (cambiare facilmente compito perchè l’algoritmo è memorizzato e non fisicamente cablato)
scheda madre
collega tutte le componenti
CPU
unità centrale di elaborazione -> esegue i programmi memorizzati
- unità di controllo (CU)
- unità aritmetico-logica (ALU)
- registri (program counter e instruction register); determinano il numero di core
Unità di controllo (CU)
- componente del CPU
- gestisce il processore, trasferisce dati da e verso la memoria principale
parole
unità di trasferimento, sequenza di bit (32 o 64) che può essere trasportata
unità aritmetico-logica (ALU)
- componente del CPU
- materialmente esegue le operazioni
registri
celle di memoria di calcolo interne al CPU
- Program counter (PC) -> recupera l’istruzione successiva
- Instruction register (IR) -> memorizza l’istruzione corrente
ciclo fetch-decode-execute
passi ripetuti dalla CU per eseguire ciascuna istruzione
- fetch -> recupera dati dalla memoria (tramite PC e IR)
- decode -> stabilisce che operazione eseguire e recupera i dati necessari all’istruzione
- execute -> esegue tramite ALU e poi rincomincia
memoria cache
- memoria intermedia e veloce che aiuta il processore (che è esegue più veloce che la memoria centrale a fornire)
- organizzato su più livelli secondo il principio di località (dati che potrebbero essere usati in seguito)
memoria centrale (RAM)
- conserva sia dati che programmi
- dialoga direttamente con la CPU (questo la rende più veloce delle memorie secondarie)
- volatile
- divisa in celle (ognuna con un indirizzo che la identifica), il n dipende dai bit con cui opera il calcolatore (parole)
dischi allo stato solido (SSD)
- costituiti da celle di memoria flash
- costo superiore e durata mnore, ma più veloce e resistente
dischi magnetici o hard disk (HDD)
- piatti di alluminio ricoperti di materiali magnetizzabile, letti da una testina in base alla corrente positiva o negativa
- grandi dimensioni, ma molto delicato
unità ottiche
- CD-ROM, DVD-ROM, blue-ray
- dati memorizzati su traccia a spirale letta da raggio laser
- informazione codificata con passaggio da pit a land o viceversa (1) o assenza di passaggio (0)
Dispositivi di input output
Dispositivi di input output
collegamento bidirezionale tra mondo digitale e fisico
software
parte logica delcalcolatore, tramite tra l’utente e la macchina-hardware nell’esecuzione
- programmi (software applicativi)
- sistema operativo