A la lliçó anterior vam veure que la intel·ligència artificial té setanta anys d'història i que el seu significat ha anat canviant: primer va ser "raonar amb símbols", després "capturar el coneixement d'un expert", més tard "aprendre de les dades" i avui "generar text i imatges". Amb tanta varietat, és fàcil que el terme es faci servir de manera confusa. En aquesta lliçó posarem ordre: veurem què és (i què no és) la IA, com es relaciona amb el machine learning i el deep learning, i traçarem un mapa de les seves grans àrees. Aquest mapa és important perquè, quan NovaMarket es planteja "fer servir IA", en realitat està triant entre tècniques molt diferents, cadascuna adequada per a un tipus de problema.

Contingut

  1. Què és la intel·ligència artificial? Definicions clàssiques
  2. Les quatre visions de Russell i Norvig
  3. IA enfront d'automatització i programació tradicional
  4. IA, machine learning i deep learning: cercles concèntrics
  5. Exemple en Python: regla escrita a mà enfront de regla apresa
  6. Mapa d'àrees de la IA
  7. Què necessitaria NovaMarket de cada àrea

  1. Què és la intel·ligència artificial? Definicions clàssiques

No hi ha una definició única i acceptada per tothom. Algunes de les més citades:

  • John McCarthy (1956, 2007): "La ciència i l'enginyeria de crear màquines intel·ligents, especialment programes d'ordinador intel·ligents." És circular (què és "intel·ligent"?), però fixa l'objectiu.
  • Marvin Minsky (1968): "La ciència de fer que les màquines facin coses que requeririen intel·ligència si les fes un humà." Posa el focus en la tasca, no en el mecanisme.
  • Elaine Rich (1983): "L'estudi de com fer que els ordinadors facin coses que, de moment, els humans fan millor." Molt honesta: la frontera d'"allò que és IA" es mou amb el temps.
  • Nils Nilsson (2010): "L'activitat dedicada a fer que les màquines siguin intel·ligents, i la intel·ligència és la qualitat que permet a una entitat funcionar apropiadament i amb previsió en el seu entorn."

D'aquestes definicions se'n desprenen dues idees útils:

  1. La IA es defineix per allò que aconsegueix (comportament) més que per com ho fa.
  2. Existeix l'anomenat efecte IA: tan bon punt un problema es resol, deixa de considerar-se "intel·ligència artificial" i passa a ser "simplement programari". El reconeixement de caràcters, el corrector ortogràfic o el GPS van ser IA en el seu dia; avui ningú no els anomena així.

  1. Les quatre visions de Russell i Norvig

El llibre de referència del camp, Artificial Intelligence: A Modern Approach de Stuart Russell i Peter Norvig, organitza les definicions històriques en una taula de dos eixos: volem que la màquina pensi o que actuï? Volem que ho faci com un humà o racionalment (de la millor manera possible)?

Com un humà Racionalment
Pensar Pensar com els humans: modelar els processos mentals humans (ciència cognitiva) Pensar racionalment: raonar mitjançant lògica formal (les "lleis del pensament")
Actuar Actuar com els humans: comportar-se de manera indistingible d'una persona (test de Turing) Actuar racionalment: fer-ho tan bé com sigui possible donat el que se sap (agent racional)

Vegem-les una per una:

  • Actuar com els humans és la visió del test de Turing que vam veure a 01-01. Requeriria processament del llenguatge, representació del coneixement, raonament, aprenentatge i (en la seva versió "total") visió i robòtica. La seva pega: imitar els humans inclou imitar-ne els errors, i no sempre és el que volem.
  • Pensar com els humans intenta reproduir com pensem realment (amb experiments psicològics o neurociència). És més propi de la ciència cognitiva que de l'enginyeria.
  • Pensar racionalment hereta la tradició lògica d'Aristòtil i Boole: si formalitzem el coneixement, un programa pot deduir conclusions correctes. La seva pega: el món real és ple d'incertesa i de coneixement difícil de formalitzar.
  • Actuar racionalment és la visió que adopten Russell i Norvig i la majoria del camp actual: un sistema és intel·ligent si tria accions que maximitzen les seves possibilitats d'assolir un objectiu donada la informació disponible. No cal que pensi com nosaltres ni que sigui lògicament perfecte; n'hi ha prou que ho faci tan bé com pugui. Aquesta visió és la que dona lloc al concepte d'agent racional, que estudiarem a la lliçó 02-01.

Amb aquesta visió, la definició de treball que farem servir al curs és:

Intel·ligència artificial és la disciplina que construeix sistemes capaços de percebre el seu entorn, raonar o aprendre a partir de dades i experiència, i actuar de manera que assoleixin objectius, en tasques que tradicionalment requerien intel·ligència humana.

I per a NovaMarket? Un sistema de recomanació no "pensa" com la Marta quan suggereix un producte, ni imita un venedor humà; simplement tria, donat l'historial d'un client, els productes amb més probabilitat d'interessar-li. És IA en el sentit d'"actuar racionalment".

El que la IA no és

Convé desterrar alguns mites des del principi:

  • No és un robot humanoide. La majoria de sistemes d'IA són programari sense cos (un filtre de correu brossa, un recomanador).
  • No és màgia ni consciència. Els sistemes actuals optimitzen objectius concrets; no "volen" res ni comprenen en el sentit humà. Els diferents nivells de capacitat (IA feble, forta, etc.) es tracten a la lliçó 02-02.
  • No és una única tecnologia. És un paraigua que agrupa tècniques molt diferents; algunes aprenen de dades, d'altres raonen amb regles, d'altres busquen solucions en un espai de possibilitats.
  • No és sinònim de "programa complex". Un ERP amb milers de línies de codi no és IA; una regressió de 20 línies que aprèn de dades sí que pot ser-ho.

  1. IA enfront d'automatització i programació tradicional

Una confusió freqüent a les empreses és anomenar "IA" qualsevol automatització. En Diego, a NovaMarket, té un script que cada nit marca com a "endarrerida" tota comanda que porti més de 5 dies sense lliurar-se. És IA? No: és una regla fixa escrita per una persona. La diferència és d'on surt la lògica i com es comporta davant de situacions noves.

Aspecte Programació tradicional / automatització Intel·ligència artificial
Origen de la lògica L'escriu explícitament el programador Es dedueix de dades, exemples o d'un procés de cerca/raonament
Entrades Estructurades i previstes per endavant Poden ser no estructurades (text, imatges, veu) o situacions no previstes
Comportament davant de casos nous Falla o ignora el que no està contemplat Generalitza (amb més o menys encert)
Sortida Determinista: mateixa entrada, mateixa sortida Sovint probabilística: "85 % de probabilitat de frau"
Manteniment Canviar el codi a mà Reentrenar amb dades noves, ajustar objectius
Explicabilitat Alta: es pot llegir el codi Variable: des de regles llegibles fins a "caixes negres"
Exemple NovaMarket "Si la comanda supera els 50 €, enviament gratuït" "Predir quantes unitats del producte X es vendran la setmana que ve"

La manera clàssica d'expressar-ho, popularitzada per Andrew Ng i d'altres, és aquesta:

flowchart LR
    subgraph T[Programació tradicional]
        A1[Dades] --> P1[Programa escrit a mà] --> R1[Resultats]
    end
    subgraph M[Machine learning]
        A2[Dades] --> P2[Algorisme d'aprenentatge]
        R2[Resultats coneguts] --> P2
        P2 --> P3[Programa après = model]
    end

En la programació tradicional hi posem dades i un programa i n'obtenim resultats. En l'aprenentatge automàtic hi posem dades i resultats coneguts (exemples), i l'algorisme produeix el programa (el model), que després farem servir amb dades noves. Compte: el machine learning és només una part de la IA, com veurem ara mateix, però és la part que més ha crescut.

Un matís important: no tota IA aprèn de dades. Un planificador de rutes que troba el camí més curt per cerca, o un sistema expert que aplica regles de garantia, són IA sense machine learning. I no tota automatització és IA, encara que molts departaments de màrqueting vulguin que ho sembli.

  1. IA, machine learning i deep learning: cercles concèntrics

Tres termes que es fan servir com a sinònims i no ho són:

  • Intel·ligència artificial (IA): el camp complet. Inclou cerca, planificació, lògica, sistemes experts, robòtica, aprenentatge, etc.
  • Machine learning (ML, aprenentatge automàtic): el subconjunt de la IA en què el sistema millora el seu rendiment a partir de dades, en lloc de ser programat explícitament. Inclou des de la regressió lineal fins als arbres de decisió.
  • Deep learning (DL, aprenentatge profund): el subconjunt del ML que fa servir xarxes neuronals amb moltes capes. És responsable dels grans avenços des de 2012 (visió, veu, llenguatge, generació).
flowchart TB
    subgraph IA[Intel·ligència Artificial]
        direction TB
        S[Cerca i planificació]
        L[Lògica i sistemes experts]
        R[Robòtica]
        subgraph ML[Machine Learning]
            direction TB
            C[Regressió, arbres, k-veïns...]
            subgraph DL[Deep Learning]
                N[Xarxes neuronals profundes]
                G[Transformers / IA generativa]
            end
        end
    end

Algunes conseqüències pràctiques d'aquest esquema:

Afirmació Correcta? Per què
"Tot deep learning és machine learning" DL ⊂ ML
"Tot machine learning és IA" ML ⊂ IA
"Tota IA és machine learning" No La cerca A*, minimax o un sistema expert no aprenen de dades
"La IA generativa és deep learning" Sí (en la pràctica actual) Els models generatius moderns són xarxes profundes, gairebé sempre transformers o models de difusió
"Un chatbot de regles és deep learning" No És IA simbòlica (regles), com ELIZA

A NovaMarket, aquest esquema ajuda la Marta a parlar amb precisió: la previsió de demanda serà probablement ML clàssic; la classificació de ressenyes es podria fer amb ML clàssic o amb deep learning; les rutes de repartiment són cerca (IA sense aprenentatge); les regles de devolucions són un sistema expert.

  1. Exemple en Python: regla escrita a mà enfront de regla apresa

Farem tangible la diferència entre "programar la lògica" i "aprendre la lògica" amb un exemple minúscul i sense biblioteques. Situació: NovaMarket vol marcar les comandes amb risc de devolució perquè en Diego les revisi abans d'enviar-les. Disposem d'unes quantes comandes històriques de comandes.csv, amb l'import i si finalment es van retornar o no.

5.1 La regla escrita a mà

En Diego, per experiència, creu que les comandes cares es retornen més. Escriu:

def risc_manual(import_comanda):
    """Regla escrita a mà per en Diego: llindar fix en 300 euros."""
    return import_comanda > 300      # True = risc de devolució

Senzilla, llegible... i basada en una intuïció. És 300 el llindar correcte? Ningú no ho sap.

5.2 La regla apresa de les dades

La Marta proposa una altra cosa: deixar que les dades triïn el llindar. La manera més simple possible d'"aprendre" és provar molts llindars i quedar-nos amb el que separa millor les comandes retornades de les no retornades a les dades històriques.

# Dades històriques: (import en euros, es_va_retornar)
historic = [
    (25, False), (40, False), (60, False), (95, False), (120, False),
    (150, True), (180, True), (210, True), (260, True), (320, True),
    (450, True), (80, True), (500, False),
]

def encerts(llindar, dades):
    """Compta quantes comandes classifica bé la regla 'import > llindar'."""
    correctes = 0
    for import_comanda, es_va_retornar in dades:
        prediccio = import_comanda > llindar
        if prediccio == es_va_retornar:
            correctes += 1
    return correctes

def aprendre_llindar(dades):
    """Prova tots els imports com a possibles llindars i retorna el millor."""
    millor_llindar = None
    millor_encerts = -1
    for import_comanda, _ in dades:     # cada import és un llindar candidat
        n = encerts(import_comanda, dades)
        if n > millor_encerts:
            millor_encerts = n
            millor_llindar = import_comanda
    return millor_llindar, millor_encerts

llindar, n = aprendre_llindar(historic)
print("Llindar après:", llindar, "-> encerta", n, "de", len(historic))
print("Llindar d'en Diego (300) -> encerta", encerts(300, historic), "de", len(historic))

def risc_apres(import_comanda):
    return import_comanda > llindar

print(risc_apres(200))   # té risc una comanda de 200 euros?

Sortida:

Llindar après: 120 -> encerta 11 de 13
Llindar d'en Diego (300) -> encerta 7 de 13
True

Anem pas a pas:

  1. historic són les nostres dades d'entrenament: exemples amb la resposta correcta coneguda (True si la comanda es va retornar).
  2. encerts(llindar, dades) mesura com de bé funciona una regla concreta: recorre els exemples, aplica la regla import > llindar i compta quantes vegades coincideix amb la realitat. Això és, en miniatura, una mètrica d'avaluació.
  3. aprendre_llindar(dades) és el nostre algorisme d'aprenentatge: prova com a llindar cada import que apareix a les dades i es queda amb el que aconsegueix més encerts. Aquí no hi ha intuïció: el llindar el trien les dades.
  4. risc_apres és el model resultant: té la mateixa forma que la regla d'en Diego (import > alguna cosa), però l'"alguna cosa" s'ha après.

Observacions:

  • Amb aquest històric, el llindar après (120 €) encerta 11 de 13, i el d'en Diego, 7 de 13. Les dades han corregit la intuïció.
  • Hi ha dos exemples que cap regla de llindar no classificaria bé: una comanda de 80 € que es va retornar i una de 500 € que no. És una pista que l'import sol no n'hi ha prou: caldria afegir-hi més informació (categoria del producte, client nou o habitual...). Triar aquestes variables és la "preparació de característiques" del mòdul 4.
  • Si demà arriben més comandes, n'hi ha prou amb reentrenar (tornar a executar aprendre_llindar) en lloc de convèncer en Diego que canviï el 300 per un altre número.
  • Amb 13 exemples el llindar és poc fiable; amb milers seria una altra cosa. Com saber si un model és fiable es tracta a la lliçó 04-05.

Aquest exemple és machine learning en la seva forma més rudimentària (un "arbre de decisió" d'una sola pregunta). Tot el que veurem als mòduls 4 i 5 és una versió més sofisticada de la mateixa idea: definir una família de regles possibles, mesurar com de bé funcionen i buscar la millor.

  1. Mapa d'àrees de la IA

La IA s'organitza en àrees que se solapen però que tenen problemes, tècniques i comunitats pròpies. Aquí presentem les vuit més rellevants; algunes es desenvolupen en mòduls posteriors i aquí només les situem.

6.1 Aprenentatge automàtic (machine learning)

  • Què resol: trobar patrons en dades per predir (quant vendrem?), classificar (és frau?), agrupar (quins tipus de clients tenim?) o recomanar.
  • Exemple quotidià: el filtre de correu brossa del teu correu, que aprèn dels missatges que marques.
  • S'estudia a: mòdul 4 (i la seva versió profunda, mòdul 5).

6.2 Processament del llenguatge natural (PLN / NLP)

  • Què resol: que les màquines treballin amb text i parla humans: entendre, classificar, traduir, resumir, respondre, generar.
  • Exemple quotidià: el traductor del mòbil, l'autocompletat del teclat, un assistent de veu.
  • S'estudia a: lliçons 05-04 i 05-05 (avui el PLN es basa sobretot en deep learning i transformers).

6.3 Visió per computador

  • Què resol: interpretar imatges i vídeo: reconèixer objectes, cares, text, defectes; segmentar; estimar moviment.
  • Exemple quotidià: desbloquejar el mòbil amb la cara; la càmera que detecta matrícules en un pàrquing.
  • S'estudia a: lliçó 05-04.

6.4 Robòtica

  • Què resol: que màquines físiques percebin el seu entorn i hi actuïn (moure's, manipular objectes), integrant sensors, control i planificació.
  • Exemple quotidià: un robot aspirador que fa un mapa de la casa; els braços robòtics d'una fàbrica de cotxes.
  • S'estudia a: transversalment (fa servir cerca, visió i aprenentatge).

6.5 Sistemes experts i representació del coneixement

  • Què resol: capturar el coneixement d'experts en forma de regles, fets i relacions (ontologies) per raonar-hi i explicar les conclusions.
  • Exemple quotidià: l'assistent d'un banc que decideix si concedeix una targeta aplicant la normativa; els sistemes d'ajuda al diagnòstic mèdic.
  • S'estudia a: mòdul 6.

6.6 Cerca i planificació

  • Què resol: trobar una seqüència d'accions (o una configuració) que porti d'una situació inicial a un objectiu, sovint minimitzant un cost: rutes, horaris, assignacions, jugades.
  • Exemple quotidià: el navegador GPS que calcula la ruta més ràpida; els escacs de l'ordinador.
  • S'estudia a: mòdul 3.

6.7 Agents intel·ligents

  • Què resol: organitzar un sistema com una entitat que percep, decideix i actua de manera autònoma en un entorn, possiblement col·laborant amb altres agents.
  • Exemple quotidià: un termòstat intel·ligent que aprèn els teus horaris; els personatges no jugadors d'un videojoc; els agents de programari que executen tasques per tu.
  • S'estudia a: lliçó 02-01 (aquí només el situem).

6.8 IA generativa

  • Què resol: crear contingut nou (text, imatges, àudio, codi, vídeo) a partir d'instruccions, aprenent la distribució de grans col·leccions d'exemples.
  • Exemple quotidià: un assistent conversacional que redacta un correu; una eina que genera una imatge a partir d'una descripció.
  • S'estudia a: lliçó 05-05.

Taula resum

Àrea Pregunta típica Entrada Sortida Tècnica principal avui
Machine learning Què passarà / a quina classe pertany? Taules de dades Predicció, classe, grup Models estadístics, arbres, xarxes
PLN Què diu aquest text? Text, veu Classe, resum, traducció, resposta Transformers
Visió Què hi ha en aquesta imatge? Píxels Etiquetes, caixes, segments Xarxes convolucionals, transformers
Robòtica Com em moc i actuo? Sensors Moviments Control + cerca + aprenentatge
Sistemes experts Què conclou la normativa/l'expert? Fets Diagnòstic, decisió explicada Regles, lògica, ontologies
Cerca i planificació Quin camí/pla és millor? Estat inicial, objectiu Seqüència d'accions A*, minimax, heurístiques, optimització
Agents Què faig ara? Percepcions Accions Arquitectures d'agent, reforç
IA generativa Crea X a partir de Y Instrucció (prompt) Text, imatge, codi Transformers, difusió

  1. Què necessitaria NovaMarket de cada àrea

Baixem el mapa a terra. Per a cada àrea, quin problema de NovaMarket resoldria i què caldria per abordar-lo? (A la lliçó següent, 01-03, convertirem això en un pla de casos d'ús; aquí només connectem àrees amb necessitats).

Àrea Problema de NovaMarket Què necessitaria
Machine learning Preveure la demanda setmanal per producte; detectar comandes fraudulentes o amb alta probabilitat de devolució Històric net de comandes.csv i productes.csv; definir què és "frau" o "devolució" per etiquetar
PLN Classificar automàticament ressenyes.csv (positiva/negativa, tema: enviament, qualitat, preu); entendre les consultes de clients Ressenyes etiquetades per entrenar o un model preentrenat; exemples de converses reals
Visió Detectar productes danyats a partir de les fotos que envien els clients a les incidències; llegir etiquetes al magatzem Prou fotos de productes danyats i no danyats; càmeres al magatzem
Robòtica A mitjà termini, robots de picking als magatzems de Zaragoza i Getafe Inversió en maquinari; avui no és prioritari
Sistemes experts Automatitzar les regles de devolucions i garanties; diagnòstic guiat d'incidències de comandes Que en Diego i l'equip legal formalitzin les regles per escrit; incidencies.csv per validar
Cerca i planificació Planificar les rutes de repartiment a la ciutat; assignar comandes a repartidors i magatzems El graf de la ciutat (carrers, temps), restriccions de capacitat i horaris
Agents Un assistent d'atenció al client que consulti l'estat de la comanda i actuï (reenviar, tramitar una devolució) Integració amb els sistemes interns; polítiques clares sobre què pot fer tot sol
IA generativa Redactar descripcions de productes, resumir ressenyes, respondre en llenguatge natural Accés a un model de llenguatge; revisió humana; compte amb les dades personals

Fixa't en una cosa: una mateixa necessitat de negoci pot tocar diverses àrees. L'"assistent d'atenció al client" combina PLN (entendre la pregunta), IA generativa (redactar la resposta), un agent (decidir quina acció prendre) i potser un sistema expert (aplicar la política de devolucions). Per això el mapa és una eina d'anàlisi, no calaixos estancs.

Errors Comuns i Consells

  • Anomenar IA qualsevol automatització. Un if no és IA. Pregunta't: la lògica l'ha escrit una persona o s'ha obtingut de dades/cerca/raonament? Com es comporta davant de casos no previstos?
  • Fer servir IA, machine learning i deep learning com a sinònims. Són cercles concèntrics: DL ⊂ ML ⊂ IA. Dir "farem deep learning" quan tens 200 files en una taula sol ser un error; dir "això no és IA perquè no fa servir xarxes neuronals" també.
  • Creure que cal machine learning per a tot. Les rutes de repartiment o les regles de garantia de NovaMarket es resolen millor amb cerca i regles que amb un model entrenat. Triar l'àrea adequada és la meitat de la feina.
  • Refiar-se d'una "regla apresa" amb poques dades. A l'exemple, 13 comandes són suficients per il·lustrar la idea, no per prendre decisions. La quantitat i la qualitat de les dades importen (lliçó 02-03).
  • Consell: quan algú et proposi "fer servir IA" per a alguna cosa, tradueix-ho mentalment a una fila de la taula d'àrees: quina pregunta respon, amb quina entrada, quina sortida i amb quina tècnica? Si no pots omplir la fila, el problema encara no està ben definit.

Exercicis

Exercici 1: IA o no IA?

Per a cada sistema, indica si el consideraries IA (i en quina àrea encaixaria) o programació tradicional, justificant-ho en una frase:

a) Un programa que envia un correu automàtic quan una comanda passa a "enviada". b) Un programa que, a partir de les fotos d'un client, decideix si el paquet va arribar danyat. c) Un programa que calcula l'IVA de cada línia de la comanda. d) Un programa que ordena les visites d'un repartidor per minimitzar els quilòmetres. e) Un programa que aplica la política escrita de devolucions (terminis, estat del producte) i explica per què accepta o rebutja. f) Un programa que suggereix "altres clients també van comprar..." a partir de l'historial de compres.

Exercici 2: Cercles concèntrics

Classifica en el diagrama IA / ML / DL: (1) minimax per jugar a dames; (2) un model que prediu el preu d'un habitatge amb una recta ajustada a les dades; (3) un transformer que tradueix ressenyes del català al castellà; (4) el motor de regles d'una companyia d'assegurances; (5) una xarxa neuronal de 30 capes que reconeix productes en fotos.

Exercici 3: Millorar la regla apresa

A l'exemple de la secció 5, el model només pot aprendre regles de la forma import > llindar. Amplia el codi perquè també provi regles de la forma import < llindar i triï la millor de totes (indicant-ne la direcció). Executa'l amb les mateixes dades i comprova si canvia el resultat. Després, substitueix l'històric per aquest altre i observa què passa:

historic2 = [(20, True), (35, True), (50, True), (90, False), (150, False), (300, False), (30, False)]

Solucions

Solució 1

Sistema IA? Àrea / justificació
a) Correu en canviar d'estat No Regla fixa escrita a mà; automatització clàssica
b) Detectar danys en fotos Visió per computador; la lògica s'aprèn d'exemples, entrada no estructurada
c) Calcular l'IVA No Fórmula determinista, sense incertesa ni aprenentatge
d) Ordenar les visites del repartidor Cerca i planificació (optimització de rutes), tot i que no aprèn de dades
e) Aplicar la política de devolucions amb explicació Sí (frontera) Sistema expert: regles escrites per humans però amb motor de raonament i explicació; molts ho considerarien IA simbòlica clàssica
f) "Altres clients també van comprar" Machine learning (recomanació): els patrons surten de les dades

Nota sobre (e): és el cas més discutible. Un sol if no és IA; un motor que encadena desenes de regles, resol conflictes i explica les seves conclusions és el que històricament es va anomenar sistema expert. La frontera és difusa, i això també és una lliçó.

Solució 2

  • (1) Minimax: IA, però no ML (cerca amb adversari).
  • (2) Recta ajustada a dades (regressió lineal): ML, però no DL.
  • (3) Transformer traductor: DL (i per tant ML i IA).
  • (4) Motor de regles d'assegurances: IA simbòlica, no ML (sistema expert).
  • (5) Xarxa de 30 capes: DL.

Solució 3

def encerts_dir(llindar, direccio, dades):
    correctes = 0
    for import_comanda, es_va_retornar in dades:
        if direccio == ">":
            prediccio = import_comanda > llindar
        else:
            prediccio = import_comanda < llindar
        if prediccio == es_va_retornar:
            correctes += 1
    return correctes

def aprendre_regla(dades):
    millor = (None, None, -1)         # (llindar, direccio, encerts)
    for import_comanda, _ in dades:
        for direccio in (">", "<"):
            n = encerts_dir(import_comanda, direccio, dades)
            if n > millor[2]:
                millor = (import_comanda, direccio, n)
    return millor

print(aprendre_regla(historic))    # -> (120, '>', 11)
print(aprendre_regla(historic2))   # -> (90, '<', 6)

Amb l'històric original, la millor regla continua sent import > 120 (11 encerts): afegir la direcció < no ajuda perquè les comandes cares són les que es retornen. Amb historic2 la situació s'inverteix: són les comandes barates les que es retornen, i l'algorisme ho descobreix tot sol, aprenent import < 90 amb 6 encerts de 7. Aquest és el punt clau de la lliçó: la mateixa peça de codi aprèn regles diferents segons les dades, sense que ningú hagi de reescriure la lògica. En Diego, amb la seva regla manual, hauria hagut d'adonar-se del canvi i modificar el codi.

Conclusió

En aquesta lliçó hem donat una definició de treball de la intel·ligència artificial (sistemes que perceben, raonen o aprenen i actuen per assolir objectius), hem situat les quatre visions de Russell i Norvig i hem adoptat la d'"actuar racionalment", hem distingit la IA de l'automatització tradicional (la lògica s'aprèn o es busca en lloc d'escriure's) i hem aclarit que el deep learning és un subconjunt del machine learning, que al seu torn és un subconjunt de la IA. Amb un exemple mínim en Python hem vist la diferència entre una regla escrita a mà i una regla apresa de les dades, i hem traçat un mapa de vuit àrees (aprenentatge automàtic, PLN, visió, robòtica, sistemes experts, cerca i planificació, agents i IA generativa), connectant cadascuna amb les necessitats de NovaMarket.

Ja tenim el vocabulari i el mapa. A la lliçó següent, Aplicacions de la IA a la Vida Real, recorrerem sector per sector com es fan servir aquestes àrees avui (salut, transport, finances, comerç, indústria...) i, sobretot, fixarem la llista de casos d'ús candidats de NovaMarket que guiarà la resta del curs.

Fonaments d'Intel·ligència Artificial (IA)

Mòdul 1: Introducció a la Intel·ligència Artificial

Mòdul 2: Principis Bàsics de la IA

Mòdul 3: Algorismes en IA

Mòdul 4: Aprenentatge Automàtic (Machine Learning)

Mòdul 5: Xarxes Neuronals i Deep Learning

Mòdul 6: Lògica i Sistemes Experts

Mòdul 7: Eines i Llenguatges de Programació en IA

Mòdul 8: Projectes i Casos d'Estudi

Mòdul 9: Exercicis i Pràctiques

Mòdul 10: Recursos Addicionals

© Copyright 2026. Tots els drets reservats