Kontentke ótiw

ProbLog

Wikipedia — erkin enciklopediya

ProbLog — bul Prologtı itimallıqlar menen keńeytetuǵın itimallıq logikalıq programmalastırıw tili[1].[2] Ol logikalıq atomlar hám tosınarlı ózgeriwshiler ideyasın biriktiretuǵın itimallıq fakt túsinigin qosıw arqalı Prologtı minimal túrde keńeytedi. Prolog sıyaqlı, ProbLog da atomnan soraw jiberiw múmkin. Prolog soralǵan atomnıń haqıyqıylıq mánisin qaytaratuǵın bolsa, ProbLog onıń durıs bolıw itimallıǵın qaytaradı.

Mısal

ProbLog, mısalı, jawın itimallıǵı hám birewdiń zontik alıp keliw itimallıǵı berilgen jaǵdayda suw bolıw itimallıǵın esaplaw ushın tómendegishe qollanılıwı múmkin:

0.4 :: rain(weekday).
0.9 :: rain(weekend).
0.8 :: umbrella_if_rainy(Day).
0.2 :: umbrella_if_dry(Day).

umbrella(Day) :- rain(Day), umbrella_if_rainy(Day).
umbrella(Day) :- \+rain(Day), umbrella_if_dry(Day).
wet(Day) :- rain(Day), \+umbrella(Day).

query(\+wet(weekend)).

Sorawdan aldıńǵı sońǵı qaǵıyda, eger jawın jawsa hám zontik alınbasa, birew suw bolatuǵının bildiredi. ProbLogtan «itimallıq juwmaq shıǵarıw» wazıypasın sheshiw soralǵanda, soraw demalıs kúninde qurǵaq qalıw itimallıǵın soraydı. «Eń itimal túsindirme» wazıypasın sheshkende, ProbLog qurǵaq qalıwdıń eń itimal sebebin qaytaradı, yaǵnıy jawın jawmaǵanlıǵı sebepli yamasa adamnıń zontigi bar bolǵanlıǵı sebepli.

Implementaciyalar

ProbLog tili YAP Prolog kitapxanası (ProbLog 1)[3] hám jeke Python freymvorkı (ProbLog 2)[4] retinde ámelge asırılǵan. ProbLog 2-niń derek kodı Apache Licenziyası, 2.0 versiyası boyınsha licenziyalanǵan hám GitHub-ta qoljetimli. ProbLog tili sonday-aq SWI-Prolog, YAP hám XSB ushın cplint itimallıq logikalıq programmalastırıw paketiniń bir bólimi retinde de ámelge asırılǵan[5].

ProbLog variantları

ProbLog bir neshe hár túrli variantlar ushın keńeytilgen yamasa ilham retinde qollanılǵan, sonıń ishinde:

  • DeepProbLog ProbLogtı itimallıqtıń neyron tarmaq arqalı parametrleniwine múmkinshilik beriw arqalı keńeytedi.
  • DTProblog ProbLogtı sheshim qabıllaw teoriyası menen keńeytedi. Strategiyanıń paydalılıǵı itimallıq tásirleri bar bolǵanda onıń orınlanıwı ushın kútiletuǵın sıylıq retinde anıqlanadı.
  • DC-ProbLog ProbLogtı tarqatıw faktleri menen keńeytedi, bul itimallıqlar ornına, logikalıq atomnıń sáykes úziliksiz itimallıq tarqatıwına iye ekenin bildiredi.
  • aProbLog ProbLogtı tek itimallıqlar ornına qálegen kommutativ yarım saqıynanı qollanıwǵa ruqsat beriw arqalı ulıwmalastıradı.
  • ProbFOIL: itimallıq relyaciyalıq maǵlıwmatlar bazası retinde ProbLog faktleri toplamı berilgen bolsa, ProbFOIL bir qatnastıń faktlerin basqa barlıq qatnaslar tiykarında boljaw ushın itimallıq qaǵıydalar toplamın tabadı.

Baylanıslı tiller

  • PRISM: statistikalıq modellestiriwde programmalastırıw
  • ICL: Ǵárezsiz Tańlaw Logikası
  • CP-Logika: Sebepli-nátiyjeli itimallıq waqıyaları tili
  • LPAD: Annotaciyalanǵan dizyunkciyalı logikalıq programmalar
  • Tarqatıw klauzaları: Gibrid relyaciyalıq domenler ushın itimallıq logika tili

Qosımsha oqıw

  • ProbLog bas beti
  • ProbLog hújjetleri
  • ProbLog repozitoriyası

Derekler

  1. De Raedt, Luc; Kimmig, Angelika; Toivonen, Hannu (November 2007). ProbLog: A Probabilistic Prolog and Its Application in Link Discovery. IJCAI. Vol. 7.
  2. Fierens, D; Van den Broeck, G.; Bruynooghe, M.; De Raedt, L. (2012). Constraints for probabilistic logic programming. Proceedings of the NIPS Probabilistic Programming Workshop. pp. 1–4.
  3. "ProbLog1". dtai.cs.kuleuven.be.
  4. "ProbLog: Probabilistic Programming". dtai.cs.kuleuven.be.
  5. «cplint – AI@UNIFE» (en-US). Qaraldı: 13-noyabr 2023-jıl.