Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    91

    [JAVA vs PROLOG e simili] AI :domande

    ciao : ho dato un occhiata al codice sorgente di alcune chatbot nel web : alcuni di loro
    sono scritti in java o c++ , il che mi ha lasciato di stucco .
    mi sono posto questi dubbi :
    una chatbot è un esempio di AI o sbaglio?

    per quale motivo dovrei usare il prolog o lisp invece di java per programmare AI (come una
    chatbot o altro) ? un linguaggio ad oggetti non va bene per programmare applicazioni di AI ?

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Tieni presente che il mio discorso è molto generale e non scende nel dettaglio.

    lisp e prolog sono di fatto linguaggi general purpose (vedasi ad esempio SBCL, Racket, ciao e swi-prolog). Tuttavia offrono astrazioni comode per alcuni problemi specifici. Ad esempio il fatto che dati e codice coincidano, e ciò permette soluzioni interessanti. Tuttavia in generale non esistono linguaggi che non possono fare una cosa (ad esclusione di casi specifici) e dato un linguaggio è possibile sviluppare astrazioni che permettano la facile risoluzione di un problema. Inoltre implementazioni in lisp e prolog potrebbero incorrere in problemi prestazionali risolvibili trammite la reimplementazione in altri linguaggi. Spesso, e sto parlando generalmente, al difuori dell'AI, si usa un dato linguaggio per la realizzazioni di prototipi e/o implementazioni di riferimento in quanto in quel linguaggio è più facile la ricerca che poi vengono sostituiti da implementazioni in altri linguaggi per questioni prestazionali.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Per arricchire un minimo la panoramica, sempre restando alle generalità, molti linguaggi "verticali" o presunti tali sono costruiti in modo da essere particolarmente vicini al dominio del problema di un dato settore, dunque maggiormente familiari a ricercatori che abbiano in curriculum poca o nulla preparazione informatica. Fino a pochi anni fa, codesta era la normalità.

    Quando si parla di linguaggi di programmazione dal punto di vista scientifico, occorre e basta conoscere il teorema di Boehm-Jacopini sull'espressività dei linguaggi di programmazione. In teoria, quasi qualunque linguaggio di programmazione (purché rispetti i requisiti minimi sanciti dal noto teorema) è potenzialmente adatto ad eseguire qualsiasi algoritmo praticamente utilizzabile ed esprimibile in un qualsiasi formalismo Church-Turing equivalente. Il diavolo, però, è nei dettagli: al di là delle banalità (in quasi nessun linguaggio si può scrivere efficacemente un device driver o un modulo di kernel per un SO mainstream, tanto per limitarsi al più macroscopico e arcinoto esempio ex cathedra, da prima lezione introduttiva), l'ingegneria del software è tale e non è una scienza proprio perché contempla anche un fattore umano e sociale, come pure fattori economici ed altri aspetti secondari rispetto alla banale funzionalità.

    Ecco quindi che, in definitiva, taluni linguaggi risultano molto più adatti di altri a risolvere determinati problemi, per un complesso coacervo di fattori che mescola elementi eminentemente poco quantificabili (ad esempio la scarsissima propensione di taluni professionisti a prendere anche minimamente in considerazione certi linguaggi, o talune attitudini sviluppate in seno alla comunità dei teorici dei linguaggi di programmazione fin dagli anni Settanta del secolo scorso, eleganza del codice, robustezza, etc.), accanto a metriche asseverate (LOC, function points, McCabe, Halstead, costo complessivo di sviluppo e manutenzione, efficienza, eccetera).
    Ultima modifica di M.A.W. 1968; 17-06-2014 a 20:50
    • Un plauso a Grisha Perelman, raro esempio di genuino anticonformismo umano e scientifico.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    91
    grazie delle risposte : in conclusione per programmare una chatbot credo di aver capito che farei meglio a farlo in prolog , ma che potrei farlo bene anche in java . discorso spinoso!

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da toni00t Visualizza il messaggio
    grazie delle risposte : in conclusione per programmare una chatbot credo di aver capito che farei meglio a farlo in prolog , ma che potrei farlo bene anche in java . discorso spinoso!
    Se non hai esigenze specifiche e non è per scopo di studio ti conviene prendere (o modificare) una libreria già fatta, vista anche la complessità dell'argomento se vuoi ottenere risultati discreti.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2012
    Messaggi
    91
    ciao : a questo punto quantomeno è meglio darci un occhiata a entrambi, compreso al prolog stesso . La cosa fondamentale è che imparare un nuovo linguaggio come quello non sia una perdita di tempo , ma visto che in pratica me lo state consigliando e che nei corsi di AI di solito si usa...

  7. #7
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Quote Originariamente inviata da toni00t Visualizza il messaggio
    ciao : a questo punto quantomeno è meglio darci un occhiata a entrambi, compreso al prolog stesso . La cosa fondamentale è che imparare un nuovo linguaggio come quello non sia una perdita di tempo , ma visto che in pratica me lo state consigliando e che nei corsi di AI di solito si usa...
    Le basi di prolog e lisp sono piuttosto semplici, tuttavia un uso consapevole dei linguaggi è tutto su un altro piano. A questo si aggiunge il fatto che in realtà lisp è una famiglia di linguaggi molto diversi fra loro.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.