Artificiell intelligens kontra klassisk algoritmisk programmering

Mot Artificiell Intelligens från Klassisk Algoritmisk Programmering

Anthony Quattrone, PhD 30 april 2022

Framsteg inom artificiell intelligens har gjort det möjligt att effektivt lösa komplexa beräkningsproblem som tidigare har varit svåra, svårlösta eller tungt kombinatoriska. Dessa problem inkluderar ansiktsigenkänning, objektdetektering, ruttplanering och mycket personliga online-rekommendationssystem.

Utmaningen för organisationer framöver och in i framtiden är för strategiska beslutsfattare att välja mellan traditionella klassiska ansatser och ansatser för artificiell intelligens för att lösa komplexa beräkningsproblem. Båda metoderna har unika utmaningar när det gäller att leverera ett robust system över dimensionerna noggrannhet, kostnad, implementeringssvårigheter och underhållbarhet.

Den klassiska algoritmiska programmeringsansatsen för att lösa problem

Det klassiska programmeringsparadigmet innebär att problem löses via preskriptiva algoritmer och användning av en väldefinierad sekvens av instruktioner. Indata definieras och begränsas, och algoritmer utvecklas för att bearbeta indata via definierade programmeringsparadigm (Proceduralt, Objektorienterat, Funktionellt och Logiskt) för att producera utdata.

Att upptäcka algoritmer för att lösa tids- och rymdseffektiva problem är notoriskt utmanande. Inom beräkningskomplexitetsteori är problem antingen P (Polynom), NP (Icke-deterministisk Polynom), NP-Complete eller NP-Hard. Polynomproblem kan lösas och verifieras snabbt, medan icke-polynomproblem inte kan det. NP-problem är svåra att lösa med klassiska algoritmiska metoder.

Ett exempel på ett P-problem är att hitta den kortaste vägen mellan två punkter, medan ett exempel på ett NP-problem är det resande säljarare-problemet där man, när en serie platser ges, ska hitta den optimala vägen för att besöka alla platser och resa kortast möjliga sträcka. Det råkar vara så att många av de problem som för närvarande måste lösas beräkningsmässigt faller in under NP-kategorin. I de flesta fall är en approximativ lösning ofta tillräcklig för praktiska ändamål. När människor närmar sig dagliga livet kommer de alltid fram till approximativa lösningar, d.v.s. navigation.

Det finns implementeringsutmaningar i att lösa problem under ett klassiskt algoritmiskt paradigm på ett effektivt sätt. Algoritmisk komplexitet är en gren av datavetenskapen som hanterar hur effektivt algoritmer körs i det tidsmässiga (tidskomplexitet) och rumsliga domänen (rymdkomplexitet).

Även om det finns många olika sätt att implementera algoritmer, kallas ett uppenbart men potentiellt ineffektivt sätt att implementera en algoritm ofta för en ”naiv” algoritm. De mest effektiva algoritmerna är inte lätta att upptäcka, och datavetare har arbetat i många år för att hitta de bästa algoritmerna för att lösa klasser av problem. Algoritmer i produktionssystem implementeras på tids- och rymdmässigt effektiva sätt. De största mjukvaruföretagen säkerställer högsta algoritmiska standarder via peer-programmering, liknande peer-review. Det tar många år av träning och en hög grad av skicklighet att implementera algoritmer effektivt.

I praktisk mening, medan programmeringstekniker har utvecklats och programmeringsspråk (dvs. C, C++, Java, JavaScript, PHP, Python) har varierat i popularitet, har grunderna förblivit desamma sedan Bell Labs, på 1970-talet, skrev de första C-modulerna. Det finns några praktiska sätt att få teoretiskt utmanande problem att fungera i produktion, till exempel genom att använda distribuerade system. Avancerade metoder medför högre kostnader och ligger utanför kapaciteten hos alla utom de mest tekniskt progressiva organisationerna.

Med tanke på komplexiteten i klassiska algoritmiska programmeringsmetoder har organisationer länge haft svårt att bygga effektiva team för att producera sådana system internt. Dessutom har många också kämpat med att hitta externa leverantörer för att lösa nischade utmaningar som teoretiskt sett är möjliga att implementera. Att designa en specifik algoritm blir betydligt mer komplext i takt med att problemets komplexitet ökar. Detta gäller särskilt för multivariata problem. Det är bäst att använda klassiska algoritmiska metoder i situationer där en algoritm snabbt kan lösa ett problem och fungerar för de flesta fall.

AI-ansatsen för att lösa problem

Paradigmen för artificiell intelligens försökte lösa problem generiskt genom att mata in indata och önskade utdata i ett system och låta systemet lära sig hur man löser problem. Nuvarande AI-ansatser körs på klassiska datorer via klassiska programmeringstekniker. De mest spännande AI-metoderna är neurala nätverk och förstärkt inlärning.

Artificiella neurala nätverk utnyttjar den mänskliga förståelsen för hur det mänskliga sinnet lär sig och generaliserar problem. Förstärkt inlärning använder agenter som matar in ett målstillstånd och en serie scenarier. Inlärningsalgoritmen behåller önskvärda resultat och avfärdar ogynnsamma resultat över flera iterationer. Förstärkt inlärning är analog med operant betingning. Agenten lär sig hur man uppnår målet över många träningsiterationer.

Ett krav för att träna artificiella intelligenslösningar är antingen en väldefinierad omfattande datamängd, vanligtvis sammanställd med en kombination av olika datalager eller gräsrotsarbete, eller så kan ett system lära sig att nå ett målstillstånd genom att köra igenom en serie iterationer. Ett exempel på detta är ett system som spelar ett spel mot sig självt, såsom Schack eller Go, för att ytterligare lära sig hur man utvecklar strategier för att förbättra resultaten. Artificiella nätverk och förstärkningsinlärning körs båda på scenarier de inte är tränade för och utvärderas på liknande sätt som andra maskininlärningsmetoder. Dessa metoder generaliserar väl och ger effektiva lösningar för en viss klass av problem. AI-baserade lösningar passar problem som inte enkelt kan definieras med en sekvens av instruktioner; istället kräver de mer "intuition" och värderingar.

Vanligtvis tränas AI-system med hjälp av dataset och utvärderas senare på en utvärderingsuppsättning. Ju mer högkvalitativ träningsdata som matas in i ett AI-system, desto högre är systemets sannolikhet att prestera på en hög nivå. Fördelen med AI-metoder är att de kan fortsätta att förbättras över tid i takt med att systemet lär sig mer. Således kan komplexa problem generaliseras och lösas av datorsystem. Dessa inkluderar problem som traditionellt lösts av mänsklig indata, även om smal AI kan ses som ett komplement till befintlig mänsklig indata för att säkerställa bättre resultat.

Artificiell intelligens och maskininlärning har länge setts med försiktighet av organisationer på grund av att sådana system saknar spårbarhet och förutsägbarhet i hur de kommer att svara på användningsfall. Därför kan AI agera i sällsynta omständigheter och svara oförutsägbart när man minst anar det. Det är därför viktigt att ha tydligt definierade användningsfall för när AI ska användas, vilka felnivåer som accepteras och hur de utdata som produceras från AI-system kommer att granskas av mänsklig inmatning för att säkerställa noggrannhet.

Sammantaget förutspår vi att den förbättrade noggrannhet som AI-system kommer att medföra, i kombination med de effektivitetsvinster som uppnås genom att komplettera mänsklig indata, kommer att utgöra ett alltför stort ekonomiskt incitament för många organisationer att inte ignorera under de kommande åren, AI-system kommer att bli allestädes närvarande.

När man ska välja AI och när man ska välja den klassiska algoritmiska programmeringsmetoden för att lösa problem

Även om det inte finns några fasta och snabba regler för när man ska använda endera metoden, är som en allmän regel problem som kräver approximativa lösningar och som involverar målinriktad långsiktig planering, komplex mönsterigenkänning och bearbetning av en mångfald variabler mer lämpade för AI. Klassiska algoritmiska metoder är bättre lämpade för exakta eller nästan optimala lösningar som involverar tung logik och beräkningar.

Att välja rätt tillvägagångssätt kan ge betydande fördelar för din organisation, medan valet av en mindre optimal metod kan leda till betydande kapitalförluster eftersom teknikprojekt är dyra. Att ofta gå med bevisade och demonstrerbara system som Telemus AI™ kan hjälpa organisationer att säkerställa framgång i sin digitala transformation med artificiell intelligens.

Kontakta oss idag för ett gratis samråd om hur Telemus AI™ kan integreras i din organisation.