Com que frequência o Prolog / ASP é usado em áreas que não são de pesquisa?


9

Acabei de descobrir recentemente sobre o KRR (representação e raciocínio do conhecimento) e o ASP, não ouvindo nada sobre eles antes (exceto um pouco sobre prólogo). Eu li um pouco sobre eles e um de seus principais usos parece ser AIs.

Minha pergunta seria o quão amplamente utilizado é o ASP ou outras linguagens declarativas, existe algum programa usado com freqüência (como mecanismos de pesquisa?) Ou é principalmente para fins de pesquisa? Qual pode ser a razão pela qual eles não são tão conhecidos? É porque o desenvolvimento da IA ​​pertence a um "nível avançado" de programação?


Isso parece fora de tópico aqui.
Yuval Filmus

2
É o segundo lugar que eu postei, alguma ideia de onde estaria no tópico?
FloriOn

@FloriOn: qual é o primeiro lugar e a primeira ocorrência da sua pergunta?
Basile Starynkevitch

Prolog foi bom para o seu tempo, mas é realmente difícil de usar em qualquer grande projeto. A sintaxe torna-se muito obscura em termos complexos, também sempre interpretar toda a estrutura em árvore desigion não é o que você deseja - sistema KRR yould tem mais funcionalidade ...
user8426627

Respostas:


4

quão amplamente utilizado é o ASP ou outras linguagens declarativas

Você pode ver a atividade do Prolog, que eu acho que é a linguagem de programação ASP mais comum:

Apenas com base nisso, o pacote principal do Prolog é (483 / 139.326) x 100 = 0,35% tão popular quanto um dos pacotes grandes do Node.js. Ou 0,07% como muitos pacotes.

é principalmente para fins de pesquisa

IMO sim, é principalmente para fins de pesquisa. Mas é semelhante ao Ocaml , que, a partir da minha experiência, era principalmente para fins de pesquisa, até usuários corporativos como o Facebook publicarem Flow (programação JavaScript digitada) e outros publicarem Coq (prova automatizada de teoremas), o que ajudou a levar o Ocaml ao mainstream.

Qual pode ser a razão pela qual eles não são tão conhecidos?

O IMO Prolog não é usado porque é (a) um paradigma diferente, (b) o gerenciador de pacotes não está em pé de igualdade (isso é um grande negócio hoje em dia) e (c) não existe uma estrutura da web evangelizada . Se houvesse um bom gerenciador de pacotes como o NPM para Node.js, e houvesse uma estrutura da web que fosse comercializada, assim como um pequeno grupo de evangelistas, ajudaria a trazê-lo para o mainstream. Ruby tinha 37signals e Rails, Python tinha Google, etc.

É porque o desenvolvimento da IA ​​pertence a um "nível avançado" de programação?

Não, na verdade não. Algumas pesquisas de IA usam prólogo para modelar coisas , mas não é um requisito para a IA. A IA pode ser dividida em duas partes: (1) modelos baseados em aprendizado de máquina / probabilísticos, onde as relações são aprendidas e não bem definidas e, em seguida, (2) modelos definidos manualmente. A maioria da IA ​​é uma mistura de ambos, mas os modelos definidos manualmente são valiosos e mantidos em grande parte privados. Os modelos definidos manualmente podem ser definidos usando o Prolog , e existem alguns documentos disponíveis para fazer isso, mas isso não é necessário. Para resumir, todo o trabalho de IA pode ser feito em linguagens de programação regulares, apenas para que o Prolog possa tornar um pouco mais compacto a escrita em alguns casos.


2
1. Eu acho que Coq é muito menos mainstream que OCaml. 2. O SWI-Prolog possui uma estrutura da web swi-prolog.org/FAQ/PrologLAMP.txt , pathwayslms.com/swipltuts/html/index.html Para dizer o mínimo, isso não foi suficiente para torná-lo mainstream.
Alexey Romanov

Dang, eu pensei que isso poderia ajudar: p
Lance Pollard

Parte disso se resume à facilidade de instalação, e é difícil instalar e executar o prólogo e os pacotes .
Lance Pollard

6
muito mais no mundo da programação do que sites. Tenho certeza de que o Flow fez pouco para melhorar a adoção do OCaml, que dificilmente estava lutando antes disso. Da mesma forma para Coq, mas por diferentes razões. Coq tem 30 anos. Até onde eu sei, há uma adoção bastante significativa do OCaml nas finanças. Mas o financiamento não é um site, então você geralmente não ouve. Agora considere coisas como cadeia de suprimentos e pesquisa de operações em que o ASP possa ser aplicado. Esse é o problema com perguntas como os OPs. Presumivelmente, alguém está dando dinheiro ao SICStus para continuar sendo uma preocupação constante.
Derek Elkins saiu de SE

2

Acabei de orientar 354 alunos, principalmente SE, através da instalação do SWI-Prolog. Tinha cerca de uma dúzia de problemas de instalação. A maioria achou o processo bastante fácil.

Admito que, se o SWI-Prolog tivesse 100x mais usuários, a instalação seria mais polida. Mas ninguém está se esquivando porque a instalação é muito difícil.

Quanto aos pacotes, para instalar um pacote, você consulta pack_install (my_pack).

Isso é mais fácil do que instalar gemas ruby.

Agora, com que frequência ele é usado em áreas que não são de pesquisa - as estatísticas d / l não significam nada a) porque o http://swi-prolog.org é veiculado por meio de uma CDN (que precisamos usar vários servidores e uma CDN diz algo) eb) sabemos que a maioria dos usuários é formada em cursos de teoria / pesquisa de PL.

O uso comercial está se tornando mais comum. Escrevo apenas o Prolog há alguns anos e não sou acadêmico (às vezes estava trabalhando como contratado para uma universidade, mas não como acadêmico, como engenheiro).

A maioria dos aplicativos está em AI ou em ambientes de aprendizado de máquina. Problemas difíceis de ML geralmente se beneficiam de uma mistura de IA simbólica.


2

Leia sobre o inverno da IA e muito mais sobre a história da IA .

Nos anos 80, a IA simbólica era dominante. Nesse período, o sistema especialista proliferou. Muitos deles foram codificados no Prolog.

Hoje, ainda temos (em algumas áreas) sistemas de regras de negócios e mecanismos de regras de negócios , e a abordagem de regras de negócios usada em sistemas de gerenciamento de regras de negócios , que IMHO são os sucessores diretos de sistemas especialistas da década de 1980. AFAIK, muitos softwares orientados a negócios são baseados em princípios semelhantes. Acredito que muitas decisões de crédito (ou seguro) são tomadas hoje automaticamente (e diariamente) em bancos com esses sistemas. Sistemas de reescrita como o XSLT também são utilizados diariamente e são descendentes das idéias de sistemas especialistas dos anos 80. Programação declarativa (incluindo CLIPS ou mesmo marca ou outrosistemas baseados em regras podem ser vistos como a dissolução de idéias simbólicas de IA na indústria geral de programação e software (assim que algo se torna "fácil" e "generalizado", não pode mais ser chamado de AI).

Hoje, a IA é reduzida a abordagens de aprendizado de máquina (incluindo computação neural ). O que (em geral) foi chamado de IA antes dos anos 80 atualmente é chamado de AGI .

O próximo inverno da IA ​​pode ser um inverno de interpretação abstrata . Resumo Interpretação é uma teoria e mentalidade sobre a análise estática de programas . Hoje, essa IA se tornou um chavão e às vezes é apresentada como a solução para a maioria das preocupações com segurança de software (o que IMHO não é).

Algumas pessoas (inclusive eu) acreditam que a IA simbólica não está totalmente morta (pelo menos quando combinada com outros paradigmas). Uma visão interessante é a de Jacques Pitrat (pesquisador aposentado e pioneiro francês da IA) em seu blog .

Mas os sistemas de IA (tanto como "inteligência artificial", como definido em Dartmouth 1956 quanto como "informática avançada"), são difíceis de construir. São necessários muitos anos de esforço para desenvolvê-los. Lembre-se do insight de Brook : "enquanto uma mulher leva nove meses para criar um bebê, nove mulheres não podem fazer um bebê em um mês". Isso vale para sistemas de software complexos e desafiadores (que podem levar nove anos para serem concluídos, mas vivemos em um mundo que não pode pagar uma pequena equipe de talentosos pesquisadores de software por nove anos). Por razões sociais e econômicas que não compreendo completamente (mas que me arrependo profundamente), o software não tem equivalente a grandes projetos de longo prazo como o ITER(e nem sequer pequenos projetos de pesquisa de longo prazo que duram mais de 4 ou 5 anos com uma dúzia de pesquisadores). Veja também o projeto softwareheritage e observe que hoje o domínio do software é menos criativo como um todo do que as muitas idéias que surgiram na década de 1980. Veja a palestra de Liam Proven no FOSDEM 2018 The Circuit Less Travelled

O que foi principalmente chamado no século passado (XX th século) AI hoje é chamado de AGI . A terminologia mudou e a ambição hoje está quase acabando. Atualmente, no início dos anos 2020, a IA é principalmente sobre redes neurais e aprendizado de máquina . Meu sentimento em 2019 é que AI tornou-se um chavão inútil hoje (é não mais sobre A rtificial I ntelligence ).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.