Intel·ligència Artificial vs Programació Algorítmica Clàssica

Cap a la Intel·ligència Artificial des de la Programació Algorítmica Clàssica

Anthony Quattrone, PhD 30 d'abril de 2022

Els avenços en la intel·ligència artificial han permès resoldre eficientment problemes computacionals complexos que anteriorment eren difícils, intratables o fortament combinatoris. Aquests problemes inclouen el reconeixement facial, la detecció d'objectes, la planificació de rutes i els sistemes de recomanació en línia altament personalitzats.

El repte per a les organitzacions que avancen cap al futur és que els prescriptors estratègics decideixin entre els enfocaments clàssics tradicionals i els enfocaments d'intel·ligència artificial per resoldre problemes computacionals complexos. Qualsevol dels mètodes té reptes únics per lliurar un sistema robust en dimensions de precisió, cost, dificultat d'implementació i mantenibilitat.

L'enfocament de programació algorísmica clàssica per resoldre problemes

El paradigma de programació clàssica implica resoldre problemes mitjançant algoritmes prescriptius i utilitzant una seqüència ben definida d'instruccions. Les entrades es defineixen i es limiten, desenvolupant algoritmes per processar les entrades mitjançant paradigmes de programació definits (Procedimental, Orientat a Objectes, Funcional i Lògic) per produir sortides.

Descobrir algoritmes per resoldre problemes temporalment i espacialment eficients és notòriament desafiador. En la teoria de la complexitat computacional, els problemes són P (Polinòmic), NP (Polinòmic No Determinista), NP-Complet o NP-Difícil. Els problemes polinòmics es poden resoldre i verificar ràpidament, mentre que els problemes no polinòmics no. Els problemes NP són difícils de resoldre mitjançant enfocaments algorítmics clàssics.

Un exemple d'un problema P és trobar el camí més curt entre dos punts, mentre que un exemple d'un problema NP és el problema del viatjant de comerç on, quan se li donen una sèrie d'ubicacions, quin és el camí òptim per visitar tots els llocs recorrent la distància més curta possible. Resulta que molts dels problemes que actualment cal resoldre computacionalment pertanyen a la categoria NP. En la majoria dels casos, per a propòsits pràctics, una solució aproximada sovint és suficient. A l'abordar la vida quotidiana, els humans sempre arriben a solucions aproximades, és a dir, navegació.

Hi ha desafiaments d'implementació en resoldre problemes sota un paradigma algorítmic clàssic de manera eficient. La complexitat algorítmica és una branca de la informàtica que tracta de l'eficiència amb què funcionen els algoritmes en els dominis temporals (complexitat temporal) i espacials (complexitat espacial).

Tot i que hi ha moltes maneres diferents d'implementar algoritmes, una manera evident però potencialment ineficient d'implementar un algoritme sovint es coneix com a algoritme "ingenu". La majoria dels algoritmes eficients no són fàcils de descobrir, i els científics informàtics han estat treballant durant molts anys per trobar els millors algoritmes per resoldre classes de problemes. Els algoritmes en sistemes de producció s'implementen de maneres temporalment i espacialment eficients. Les empreses de programari més grans garanteixen els estàndards algorítmics més alts mitjançant la programació per parelles, similar a la revisió per parells. Calen molts anys de formació i un alt grau d'habilitat per implementar algoritmes de manera eficient.

En sentit pràctic, mentre que les tècniques de programació han evolucionat i els llenguatges de programació (és a dir, C, C++, Java, JavaScript, PHP, Python) han variat en popularitat, els fonaments han continuat sent els mateixos des que els laboratoris Bell, als anys setanta, van escriure els primers mòduls en C. Hi ha algunes maneres pràctiques de fer funcionar en producció problemes teòricament complexos, com ara utilitzar sistemes distribuïts. Els enfocaments avançats tenen un cost més elevat i queden fora de les capacitats de totes les organitzacions excepte de les més progressistes tecnològicament.

Donada la complexitat dels enfocaments de programació algorítmica clàssica, les organitzacions fa temps que troben difícil construir equips efectius per produir aquests sistemes internament. A més, moltes també han lluitat per trobar proveïdors externs per resoldre reptes de nínxol que teòricament és possible implementar. Dissenyar un algoritme específic esdevé significativament més complex a mesura que augmenta la complexitat del problema. És especialment cert per a problemes multivariables. És millor utilitzar enfocaments algorítmics clàssics per a situacions on un algoritme pot resoldre ràpidament un problema i funciona per a la majoria de casos.

L'enfocament de la AI per resoldre problemes

El paradigma de la Intel·ligència Artificial va intentar resoldre problemes de manera genèrica introduint entrades i sortides desitjades en un sistema i permetent que el sistema aprengui a resoldre problemes. Els enfocaments actuals d'AI s'executen en ordinadors clàssics mitjançant tècniques de programació clàssica. Els mètodes d'AI més emocionants són les xarxes neuronals i l'aprenentatge per reforç.

Les xarxes neuronals artificials aprofiten la comprensió humana de com la ment humana aprèn i generalitza problemes. L'aprenentatge per reforç utilitza agents que introdueixen un estat objectiu i una sèrie d'escenaris. L'algoritme d'aprenentatge reté els resultats preferibles i descarta els resultats adversos al llarg de múltiples iteracions. L'aprenentatge per reforç és anàleg al condicionament operant. L'agent aprèn com assolir l'objectiu al llarg de moltes iteracions d'entrenament.

Un requisit per entrenar solucions d'intel·ligència artificial és, o bé un conjunt de dades vast i ben definit, generalment compilat utilitzant una combinació de diversos magatzems de dades o crowdsourcing, o un sistema pot aprendre a assolir un estat objectiu executant una sèrie d'iteracions. Un exemple d'això és un sistema jugant una partida contra si mateix, com ara escacs o Go, per aprendre més sobre com desenvolupar estratègies per millorar els resultats. Les xarxes neuronals artificials i l'aprenentatge per reforç s'executen en escenaris per als quals no estan entrenats i s'avaluen de manera similar a altres enfocaments d'aprenentatge automàtic. Aquests enfocaments generalitzen bé i proporcionen solucions eficients donada una classe de problemes. Les solucions basades en Intel·ligència Artificial s'adequen a problemes que no es poden definir fàcilment utilitzant una seqüència d'instruccions; en canvi, requereixen més "intuïció" i judicis de valor.

Normalment, els sistemes d'Intel·ligència Artificial s'entrenen utilitzant conjunts de dades i posteriorment s'avaluen en un conjunt d'avaluació. Com més dades d'entrenament d'alta qualitat s'introdueixin en un sistema d'AI, major serà la probabilitat que el sistema funcioni a un nivell elevat. El benefici dels enfocaments d'AI és que poden continuar millorant amb el pas del temps a mesura que el sistema aprèn més. Així, els problemes complexos es poden generalitzar i resoldre mitjançant sistemes informàtics. Això inclou problemes tradicionalment resolts per intervenció humana, tot i que la AI estreta es pot considerar un complement a la intervenció humana existent per garantir millors resultats.

La intel·ligència artificial i l'aprenentatge automàtic han estat considerats amb cautela durant molt de temps per les organitzacions a causa de la manca de traçabilitat i determinabilitat d'aquests sistemes sobre com respondran als casos d'ús. Per tant, l'AI pot actuar en circumstàncies rares i respondre de manera imprevisible quan menys s'espera. És per això que és important tenir casos d'ús clarament definits per a quan s'utilitzarà l'AI, quins nivells d'error s'accepten i com les sortides produïdes pels sistemes d'AI seran revisades per parells amb entrada humana per garantir la precisió.

En general, preveiem que la millor precisió que aportaran els sistemes AI, juntament amb les eficiències obtingudes en augmentar l'aportació humana, suposaran un incentiu financer massa gran perquè moltes organitzacions l'ignorin en els propers anys; els sistemes AI es tornaran omnipresents.

Quan triar la Intel·ligència Artificial i quan seleccionar l'enfocament de programació algorítmica clàssica per resoldre problemes

Tot i que no hi ha regles estrictes sobre quan utilitzar cada enfocament, com a regla general, els problemes que requereixen solucions aproximades i que impliquen planificació a llarg termini orientada a objectius, reconeixement de patrons complexos i processament d'una multitud de variables són més adequats per a la AI. Els enfocaments algorítmics clàssics són més adequats per a solucions exactes o gairebé òptimes que impliquen lògica i càlculs intensius.

Triar l'enfocament correcte pot produir beneficis significatius per a la vostra organització, mentre que triar un mètode menys òptim pot comportar pèrdues de capital substancials, ja que els projectes tecnològics són cars. Sovint, optar per sistemes provats i demostrables com Telemus AI™ pot ajudar les organitzacions a assegurar l'èxit en la seva transformació digital d'Intel·ligència Artificial.

Poseu-vos en contacte amb nosaltres avui mateix per a una consulta gratuïta sobre com el Telemus AI™ es pot integrar a la vostra organització.