Perché insegnare solo algoritmi di ricerca in un breve corso introduttivo di AI?


11

Ho capito che il concetto di ricerca è importante nell'intelligenza artificiale. C'è una domanda su questo sito riguardo a questo argomento, ma si potrebbe anche capire intuitivamente il perché. Ho avuto un corso introduttivo sull'intelligenza artificiale, che è durato metà di un semestre, quindi ovviamente non c'era abbastanza tempo per coprire tutti gli argomenti dell'IA, ma mi aspettavo di imparare un po 'di teoria dell'IA (ho sentito parlare di "agenti "), ma quello che ho effettivamente imparato erano fondamentalmente alcuni algoritmi di ricerca, come:

  • BFS
  • Ricerca a costi uniformi
  • DFS
  • Ricerca di approfondimento iterativo
  • Ricerca bidirezionale

questi algoritmi di ricerca sono generalmente classificati come "ciechi" (o "non informati"), poiché non considerano alcuna informazione relativa al percorso rimanente verso l'obiettivo.

O algoritmi come:

  • Ricerca euristica
  • La migliore ricerca
  • UN
  • UN*
  • IDA *

che di solito rientrano nella categoria di algoritmi di ricerca "informati", poiché utilizzano alcune informazioni (ad es. "euristica" o "stime") sul percorso rimanente verso l'obiettivo.

Quindi abbiamo anche appreso algoritmi di ricerca "avanzati" (specificamente applicati al problema TSP). Questi algoritmi sono algoritmi costruttivi (ad es. Il vicino più vicino), ricerca locale (ad es. 2-opt) o meta-euristici (ad es. Sistema di colonie di formiche o ricottura simulata).

Abbiamo anche studiato brevemente un algoritmo min-max applicato ai giochi e una versione "migliorata" del min-max, ovvero la potatura alfa-beta.

Dopo questo corso, ho avuto la sensazione che l'IA riguardasse solo la ricerca, "stupidamente" o "più intelligente".

Le mie domande sono:

  • Perché un professore dovrebbe insegnare solo algoritmi di ricerca nel corso AI? Quali sono i vantaggi / gli svantaggi? La prossima domanda è molto legata a questo.

  • Cosa c'è di più della "ricerca" nell'intelligenza artificiale che potrebbe essere insegnata in un corso introduttivo? Questa domanda può portare a risposte soggettive, ma in realtà sto ponendo nel contesto di una persona che cerca di capire cosa sia realmente l'IA e quali argomenti tratta realmente. Apparentemente e sfortunatamente, dopo aver letto in giro, sembra che questo sarebbe ancora soggettivo.

  • Ci sono teorie AI che potrebbero essere insegnate in questo tipo di corso?


Probabilmente dovresti cambiare la tua proposta secondo cui gli algoritmi di ricerca elencati sono chiamati "ciechi" - perché è sbagliato. "cieco" è di solito usato come sinonimo di "non informato". Tuttavia, A *, IDA * e la ricerca euristica sono per definizione algoritmi di ricerca "informati" (perché si basano sull'euristica ", quindi non sono ciechi. Inoltre, sei sicuro che esista" un algoritmo "? Conosco solo A * e non sono stato in grado di trovare alcuna menzione di questo algortihm nel Web. Se effettivamente esiste, un link sarebbe carino (forse nei commenti).
Prof.Chaos

@ Prof.Chaos L'algoritmo A è A * quando non sai che l'euristica è ottimale. In effetti il ​​* in A * dovrebbe evocare qualcosa nelle nostre teste. Per quanto riguarda l'argomento "cieco", probabilmente è ingiusto considerare A * cieco come BFS o DFS, quindi sono d'accordo con te.
nbro

Risposte:


8

Ci sono molte idee sbagliate sull'intelligenza artificiale, in particolare l'idea che si tratti di far "pensare" i computer come gli umani, simulare il cervello, i robot di fantascienza che conquistano il mondo, tutte le discussioni filosofiche sul cervello come macchina, ecc. La pratica / realtà dell'intelligenza artificiale riguarda "l'utilizzo dell'informatica per risolvere i problemi", il che significa sostanzialmente che si prende qualsiasi problema, lo si rappresenta come un problema di elaborazione e quindi si progetta l'algoritmo per risolvere il problema di elaborazione che porta alla risoluzione del problema originale. Questi algoritmi di ricerca sono algoritmi di uso generale per problemi informatici di uso generale, cioè qualsiasi problema del mondo reale può essere rappresentato da questi problemi di calcolo di uso generale e quindi questi algoritmi possono essere utilizzati per risolverli.

Ricorda, si tratta di problem solving e di problemi informatici di uso generale che possono rappresentare qualsiasi problema del mondo reale.


6

Ciò che si riduce è che la maggior parte dei problemi di IA può essere caratterizzata come problemi di ricerca. Facciamo solo alcuni esempi:

  • Il riconoscimento di oggetti e la costruzione di scene (ad es. Il processo di acquisizione dell'input audiovisivo dell'ambiente circostante e la sua comprensione in senso 3D e contestuale) possono essere trattati come ricerca di oggetti noti nell'input.
  • La risoluzione matematica dei problemi può essere considerata come ricerca di una soluzione.
  • Giocare a un videogioco può essere considerato come la ricerca della risposta corretta a un determinato giocatore.

Anche i chatbot rudimentali possono essere caratterizzati come trovare la risposta "corretta" a una determinata frase di input per emulare il linguaggio umano!

A causa di questa generalizzazione della ricerca, gli algoritmi di ricerca sono stati tra i primi algoritmi considerati 'AI' e spesso costituiscono la base di molti corsi di insegnamento AI. Inoltre, gli algoritmi di ricerca sono intuitivi e non matematici, il che rende accessibile il campo un po 'terrificante dell'IA. Potrebbe sembrare un'iperbole, ma garantisco che se il tuo docente avesse aperto con le Tecniche di apprendimento del collettore, metà della tua classe avrebbe aperto la porta al momento in cui avrebbero menzionato "autovalore della matrice di covarianza".

Ora gli algoritmi di ricerca non sono l'unico modo per affrontare questi problemi. Consiglio a tutti i professionisti dell'IA di acquisire familiarità con la nozione di algoritmi di data science e machine learning. La ML è spesso correlata agli algoritmi di ricerca, ma le tecniche che usano possono variare notevolmente dalla costruzione iterativa di un classificatore / regressione (ad es. C4.5 costruisce un albero decisionale), meta-euristica come hai notato e classificatori / regressioni che sono generati staticamente da analisi dei dati di addestramento (ad es. Naive Bayesian è letteralmente un classificatore basato sull'analisi bayesiana dei dati dati assumendo che i campi di input siano indipendenti - questa è l'ingenuità da cui prende il nome). Spesso gli algoritmi ML sono sviluppati nei gruppi di ricerca AI e talvolta possono essere progettati per problemi specifici invece di essere algoritmi di forma generale.


4

Perché un professore dovrebbe insegnare solo gli algoritmi di ricerca nel corso AI? Quali sono i vantaggi / gli svantaggi?

La mia risposta a questa domanda è che ci sono molti problemi in cui la soluzione può essere trovata usando la ricerca. Prendi un esempio di Tic Tac Toe. Se stai progettando un lettore di computer intelligente per questo, allora quello che farai è che formerai uno spazio di ricerca e quindi cercherai la mossa più ottimale che può essere fatta per concludere il gioco. In questi scenari devi conoscere le strategie di ricerca ottimali. Facciamo un altro esempio, supponiamo che tu stia guidando e desideri arrivare a casa di una persona sconosciuta. È lontano da casa tua e decidi di utilizzare il GPS. Il tuo GPS utilizzerà gli algoritmi di ricerca per trovare il percorso ottimale che puoi prendere per raggiungere la destinazione (ovviamente ci saranno molti fattori da considerare come il traffico, ecc. Ma questa è l'idea di base).

Gli svantaggi sono solo in termini di elaborazione e conservazione. Per gli algoritmi lenti sprecherai anche molto tempo e spazio di archiviazione della CPU, ma per algoritmi buoni ed efficienti, puoi conservare molto spazio ed eseguire le tue attività molto velocemente. Certo, solo imparare a cercare non è AI. C'è molto di più.

Cosa c'è di più della "ricerca" nell'intelligenza artificiale che potrebbe essere insegnata in un corso introduttivo?

Ci sono molte cose nell'intelligenza artificiale oltre alla ricerca. Ad esempio, tecniche di apprendimento (supervisionato, non supervisionato, rafforzato), pianificazione quando si vuole progettare un sistema che farà determinate azioni in modo indipendente e intelligente, rappresentazione della conoscenza (conosciuta e sconosciuta) e inferenza negli agenti che include la logica proposizionale e il primo ordine logica, ecc.

Ci sono teorie dietro l'IA che potrebbero essere insegnate in questo tipo di corso?

Alcuni argomenti potrebbero essere insegnati su diversi tipi di agenti (riflesso semplice, basato su modello, basato sugli obiettivi, basato sull'utilità e sull'apprendimento), diversi tipi di ambienti in cui gli agenti lavorano, valutazione degli agenti. Potrebbero esserci altri argomenti introduttivi come l'elaborazione del linguaggio naturale, i sistemi esperti, ecc.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.