Spisak programskih jezika za veštačku inteligenciju

Istorijski gledano, neki programski jezici su posebno dizajnirani za aplikacije veštačke inteligencije (VI). Danas, mnogi programski jezici opšte namene takođe imaju biblioteke koje se mogu koristiti za razvoj VI aplikacija.

Jezici opšte namene

  • Pajton je programski jezik opšte namene visokog nivoa koji je posebno popularan u oblasti veštačke inteligencije.[1] On ima jednostavnu, fleksibilnu i lako čitljivu sintaksu.[2] Štaviše, zbog svoje popularnosti, ima ogroman ekosistem biblioteka. Popularne biblioteke za duboko učenje uključuju Pajtorč, Tenzorflou, Keras, Gugl Džaks. Biblioteka NamPaj se može koristiti za manipulisanje nizovima, SciPaj za naučnu i matematičku analizu, Pandas za analizu tabelarnih podataka, Scikit-lern za različite zadatke mašinskog učenja, NLTK i spasaj za obradu prirodnog jezika, OpenCV za kompjuterski vid i Matplotlib za vizuelizaciju podataka.[3] Biblioteka transformatora Haging fejs može da manipuliše velikim jezičkim modelima.[4] Džupiter notbuks može da izvršava ćelije pitonovog koda, zadržavajući kontekst između izvršavanja ćelija, što obično olakšava interaktivno istraživanje podataka.[5]
  • R se široko koristi u veštačkoj inteligenciji novog stila, uključujući statistička izračunavanja, numeričku analizu, korišćenje Bajesovog zaključivanja, neuronske mreže i uopšte mašinsko učenje. U domenima poput finansija, biologije, sociologije ili medicine smatra se jednim od glavnih standardnih jezika. Nudi nekoliko paradigmi programiranja kao što su vektorsko računanje, funkcionalno programiranje i objektno orijentisano programiranje.
  • Lisp je bio prvi jezik razvijen za veštačku inteligenciju. On sadrži elemente namenjene podršci programima koji mogu da izvrše opšte rešavanje problema, kao što su liste, asocijacije, šeme (okviri), dinamička alokacija memorije, tipovi podataka, rekurzija, asocijativno pronalaženje, funkcije kao argumenti, generatori (tokovi) i kooperativni multitasking.
  • C++ je kompajlirani jezik koji može da komunicira sa hardverom niskog nivoa. U kontekstu veštačke inteligencije, posebno se koristi za ugrađene sisteme i robotiku. U C++ okruženju se mogu koristiti biblioteke kao što su Tenzorflou C++, Kafe ili Šotgan.[1]
  • JavaSkript se široko koristi za veb aplikacije i veoma je podesan za izvršiti pomoću veb pretraživača. Biblioteke za VI uključuju TensorFlow.js, Synaptic i Brain.js.[6]
  • Džulija je programski jezik koji je nedavno nastao 2012. godine. Njegova namena je da kombinuje jednostavnost korišćenja i visoke performanse. Uglavnom se koristi za numeričku analizu, računarske nauke i mašinsko učenje.[6]
  • C# se može koristiti za razvoj modela mašinskog učenja visokog nivoa koristeći Majkrosoftovo .NET okruženje. ML.NET je razvijen da pomogne integraciju sa postojećim .NET projektima, pojednostavljujući proces za postojeći softver baziran na .NET platformi.
  • Smoltok se intenzivno koristi za simulacije, neuronske mreže, mašinsko učenje i genetske algoritme. On implementira čist i elegantan oblik objektno orijentisanog programiranja koristeći prenošenje poruka.
  • Haskel je čisto funkcionalni programski jezik. Lenja evaluacija, lista i LogicT monade olakšavaju izražavanje nedeterminističkih algoritama, što je čest slučaj. Beskonačne strukture podataka su korisne za stabla pretrage. Karakteristike jezika omogućavaju kompozicioni način izražavanja algoritama. Međutim, rad sa grafovima je u početku malo teži zbog funkcionalne čistoće.
  • Volfram jezik uključuje širok spektar integrisanih mogućnosti mašinskog učenja, od visoko automatizovanih funkcija kao što su Predict i Classify do funkcija zasnovanih na specifičnim metodama i dijagnostici. Funkcije rade na mnogim tipovima podataka, uključujući numeričke, kategoričke, vremenske serije, tekstualne i slikovne.[7]
  • Modžo može da pokreće neke pitonove programe i podržava programibilnost hardvera veštačke inteligencije.[8]

Specijalizovani jezici

  • Prolog[9][10] je deklarativni jezik gde se programi izražavaju u vidu relacija, a izvršavanje se dešava pokretanjem upita nad ovim odnosima. Prolog je posebno koristan u aplikacijama za simboličko rezonovanje, analizu baza podataka i jezika.
  • Jezik za označavanje veštačke inteligencije (AIML)[11] je XML dijalekt[12] za upotrebu sa četbotovima tipa veštačkih lingvističkih internet računarskih entiteta (A.L.I.C.E.).
  • Planer je hibrid između proceduralnih i logičkih jezika. On daje proceduralno tumačenje logičkih rečenica u kojima se implikacije tumače zaključivanjem na bazi obrazaca.
  • Rešavač problema Istraživačkog instituta Stanford (STRIPS) je jezik za izražavanje instanci problema automatizovanog planiranja. On izražava početno stanje, ciljna stanja i skup radnji. Za svaku radnju su navedeni preduslovi (ono što se mora uspostaviti pre izvršenja radnje) i postuslovi (šta se uspostavlja nakon izvršenja radnje).
  • POP-11 je reflektivni, inkrementalno kompajliran programski jezik sa mnogim karakteristikama interpretiranog jezika. To je osnovni jezik programskog okruženja Poplog koji je prvobitno razvio Univerzitet u Saseksu, a na kome se radilo u Školi računarskih nauka[13] Univerziteta u Birmingemu na kome se održava veb lokacija Poploga.[14] Često se koristi za uvođenje tehnika simboličkog programiranja u konvencionalnim jezicima kao što je Paskal, kojima je POP sintaksa bliža od Lispove. Jedna od karakteristika jezika POP-11 je da podržava funkcije prve klase.
  • CycL je jezik posebne namene za Cyc.

Reference

  1. ^ а б Wodecki, Ben (5. 5. 2023). „7 AI Programming Languages You Need to Know”. AI Business. CS1 одржавање: Формат датума (веза)
  2. ^ Lopez, Matthew (11. 1. 2021). „Top 10 Reasons Why Python is Good for Artificial Intelligence”. Technology sumo. CS1 одржавање: Формат датума (веза)
  3. ^ Kanade, Vijay (6. 5. 2022). „Best Python ML Libraries 2022”. Spiceworks (на језику: енглески). Приступљено 2024-02-03. CS1 одржавање: Формат датума (веза)
  4. ^ Chauhan, Nagesh Singh (16. 2. 2021). „Hugging Face Transformers Package - What Is It and How To Use It”. KDnuggets (на језику: енглески). Приступљено 2024-02-03. CS1 одржавање: Формат датума (веза)
  5. ^ Perkel, Jeffrey M. (2018-10-30). „Why Jupyter is data scientists’ computational notebook of choice”. Nature (на језику: енглески). 563 (7729): 145—146. doi:10.1038/d41586-018-07196-1. 
  6. ^ а б Wodecki, Ben (5. 5. 2023). „7 AI Programming Languages You Need to Know”. AI Business. CS1 одржавање: Формат датума (веза)
  7. ^ Wolfram Language
  8. ^ Yegulalp, Serdar (7. 6. 2023). „A first look at the Mojo language”. InfoWorld (на језику: енглески). CS1 одржавање: Формат датума (веза)
  9. ^ History of logic programming:
  10. ^ Prolog:
  11. ^ according to (the intro page to) the AIML Repository Архивирано 2015-04-14 на сајту Wayback Machine at nlp-addiction.com
  12. ^ See the AIML "Intro" (web) page Архивирано 2013-10-29 на сајту Wayback Machine at www.alicebot.org
  13. ^ School of Computer Science
  14. ^ the Poplog website

Literatura

  • Luger, George; Stubblefield, William (2004), Artificial Intelligence: Structures and Strategies for Complex Problem SolvingНеопходна слободна регистрација (5th изд.), The Benjamin/Cummings Publishing Company, Inc., ISBN 0-8053-4780-1 
  • Nilsson, Nils (1998), Artificial Intelligence: A New Synthesis, Morgan Kaufmann Publishers, ISBN 978-1-55860-467-4 
  • Russell, Stuart J.; Norvig, Peter (2003), Artificial Intelligence: A Modern Approach (2nd изд.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-790395-2 
  • Poole, David; Mackworth, Alan; Goebel, Randy (1998), Computational Intelligence: A Logical Approach, New York: Oxford University Press, ISBN 0-19-510270-3 
  • Winston, Patrick Henry (1984), Artificial Intelligence, Reading, Massachusetts: Addison-Wesley, ISBN 0-201-08259-4 
  • Crevier, Daniel (1993). AI: The Tumultuous Search for Artificial Intelligence. New York, NY: BasicBooks. ISBN 0-465-02997-3. 
  • McCorduck, Pamela (2004), Machines Who Think (2nd изд.), Natick, MA: A. K. Peters, Ltd., ISBN 1-56881-205-1