1. Iulius Curt
  2. Tema3-AI

Overview

HTTPS SSH
Tema 3 AI  |  Iulius Curt  343 C3
---------------------------------
(varianta A)


Rulare:
    - python main.py


Configurare input:
    - in 'main.py' se seteaza calea fisierelor in variabilele globale:
        - IN_FILE  - fisier de intrare cu specificarea retelei
        - QUERY_FILE  - fisier de intrare cu interogari
        - ANSWER_FILE  - fisier de iesire cu raspunsuri


Surse:
    - main.py  - parsare input, instantiere structuri, afisare rezultat
    - bayesnet.py  - implementarea structurilor 'Variable', 'Factor' si 'BN'
    - inference.py  - implementeaza functia de 'VariableElimination' si o
                        functie de ordonare a variabilelor


Functia de ordonare a variabilelor:
    - ordine crescatoare a numarului de variabile in factorul obtinut dupa
      eliminarea variabilei curente


Variable-Elimination:
    - se aplica numarator si pe numitor dupa ce probabilitatea conditionala
      este sparta: P(A,B|C,D,E) = P(A,B,C,D,E) / P(C,D,E)
    - se ordoneaza variabilele ascunse (neinstantiate de interogare)
    - se reduc variabilele din conditia interogarii (a caror valoare se
      cunoaste)
    - in ordine, pentru fiecare variabila ascunsa:
        - se reduc prin inmultire toti factorii ce contin variabila
        - se reduce variabila prin sumare pe intregul ei domeniu
    - in final ramane o distributie de probabilitate doar pe variabilele de
      interogare
    - se alege din acea distributie de probabilitate valoarea corespunzatoare