Appendice B: Struttura della base di conoscenza
Precedente Successivo Indice

La struttura della base di conoscenza stata gi riportata in (fig.11 wall).
In questa appendice verrano dati alcuni esempi di parti ritenute importanti.

datazione(h1,'1400-1507').

datazione(h2,'1508-1564 (1)').

datazione(h6,'1508-1564 (2)').

datazione(h3,'1565-1629').

datazione(h4,'1630-1688 (1)').

datazione(h5,'1630-1688 (2)').

Associa i simboli usati per rappresentare le ipotesi nella computazione con la datazione reale.

/**** Grafo ****/
/*
arco_domanda lega l'ipotesi alle domande,
arco_risposta lega le risposte, i segni, alle ipotesi,
arco_domanda_risposta lega le domande alle risposte.
*/

/**** ipotesi h2 ****/

arco_domanda(h2, 15, 1).

arco_domanda(h2, 1, 1).

arco_domanda(h2, 3, 2).

arco_domanda(h2, 4, 4).

arco_domanda(h2, 11, 3).

arco_domanda(h2, 12, 3).

arco_domanda(h2, 13, 3).

arco_domanda(h2, 5, 5).

arco_risposta(h2, -15, -1).

arco_risposta(h2, 1.2, 1).

arco_risposta(h2, 3.4, 2).

arco_risposta(h2, 3.5, 1).

arco_risposta(h2, 3.7, 1).

arco_risposta(h2, 3.8, 1).

arco_risposta(h2, 3.11, 1).

arco_risposta(h2, 3.12, 1).

arco_risposta(h2, 4, 1).

arco_risposta(h2, -4, -1).

arco_risposta(h2, 5, 1).

arco_risposta(h2, -5, -1).

arco_risposta(h2, 11, 3.

arco_risposta(h2, 12, 2).

arco_risposta(h2, 13, 2).

arco_risposta(h2, -13, -4).

/**** Collegamento tra domande e risposte ****/

arco_domanda_risposta(1, 1.1).

arco_domanda_risposta(1, 1.2).

arco_domanda_risposta(1, 1.3).

arco_domanda_risposta(1, 1.4).

arco_domanda_risposta(1, 1.5).

arco_domanda_risposta(3, 3.1).

arco_domanda_risposta(3, 3.2).

arco_domanda_risposta(3, 3.3).

arco_domanda_risposta(3, 3.4).

arco_domanda_risposta(3, 3.5).

arco_domanda_risposta(3, 3.6).

arco_domanda_risposta(3, 3.7).

arco_domanda_risposta(3, 3.8).

arco_domanda_risposta(3, 3.9).

arco_domanda_risposta(3, 3.11).

arco_domanda_risposta(3, 3.12).

arco_domanda_risposta(3, 3.13).

arco_domanda_risposta(X, X).

arco_domanda_risposta(X, Y):- Y is -X. /* ogni domanda collegata alle risposte 'Si', 'No' */

/***************************************************************************/

Rappresenta la parte di grafo relativa ad una ipotesi

/* domande */

domanda(1):-
    domanda(1.6),
    risposta(1.6),
    mdialog(70,20,170,400,
                [button(130,130,20,60,'OK'),
                button(130,210,20,60,'Non So'),
                button(130,300,20,60,'Cancel'),
                button(130,40,20,60,'HELP'),
                edit(70,40,15, 30, '0',read(Hmin)),
                edit(70, 80,15,30, '0',read(HMax)),
                text(10,10,50,380,'Rilievo delle altezze dei cantieri'),
                text(50,10,15,350,'Campo di variazione dell'' altezza (min\Max):')],
                Button,
                scelta(1,[good(HMax), good(Hmin), good(HMax , Hmin)])),dimensioni([HMax, Hmin]),
    !.

domanda(1).

scelta(Z,1, 1,[A, B, C]):-
    A, B, C, !.

scelta(Z, 4, 1, X):-
    p_help( 1 ),
    !,
    fail.

dimensioni([H1, H2]):-
    H1 =<42,
    H2 >= 24,
    assert(risposta(1.1)),
    fail.

dimensioni([H1, H2]):-
    H1 =<62,
    H2 >= 28,
    assert(risposta(1.2)),
    fail.

dimensioni([H1, H2]):-
    H1 =<67,
    H2 >= 33,
    assert(risposta(1.3)),
    fail.

dimensioni([H1, H2]):-
    H1 =<62,
    H2 >= 48,
    assert(risposta(1.4)),
    fail.

dimensioni([H1, H2]):-
    H1 =<31,
    H2 >= 25,
    assert(risposta(1.5)),
    fail.

dimensioni([H1, H2]):-
    H2 > 50,
    assert(risposta(1.6)),
    fail.

dimensioni([H1, H2]):-
    H2 < 40,
    assert(risposta(1.7)),
    fail.

dimensioni([H1, H2]):-!.

/****************************************/

domanda(3):-
    pic(3.1, [ P1| Pic1 ]),
    pic(3.4, [ P2| Pic2 ]),
    pic(3.7, [ P3| Pic3 ]),
    pic(3.11, [ P4| Pic4 ]),
    testo(3, Text),
    mdialog(70,20,350,380,
                [button(320,20,20,60,'HELP'),
                button(320,170,20,60,'Non So'),
                button(320,310, 20,60,'Cancel'),
                button(320,100,20,60,'OK'),
                pbutton(30, 5, 100, 100, P1),
                radio(40, 105, 15, 90, 'Diffusi',off,R1),
                radio(55, 105, 15, 90, 'Presenti', off, R2),
                radio(70, 105, 15, 90, 'Assenti', off, R3),
                pbutton(30, 195, 100, 100, P2),
                radio(40, 295, 15, 90, 'Diffusi',off,R4),
                radio(55, 295, 15, 90, 'Presenti', off, R5),
                radio(70, 295, 15, 90, 'Assenti', off, R6),
                pbutton(170, 5, 100, 100, P3),
                radio(180, 105, 15, 90, 'Diffusi',off,R7),
                radio(195, 105, 15, 90, 'Presenti', off, R8),
                radio(210, 105, 15, 90, 'Assenti', off, R9),
                pbutton(170, 195, 100, 100, P4),
                radio(180, 295, 15, 90, 'Diffusi',off,R10),
                radio(195, 295, 15, 90, 'Presenti', off, R11),
                radio(210, 295, 15, 90, 'Assenti', off, R12),
                text(130, 25, 15, 70,'Spaccate'),
                text(130, 210, 15, 75,'Spaccatelle'),
                text(270, 20, 15, 75,'Spaccatoni'),
                text(270, 215, 30, 70,'Rustiche'),
                text(10,12,20,370,Text) ],
                Button,
                scelta(3)),
    pietre(R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12),
    !.

domanda(3).

scelta(Z, 5, 3):-
    pic(3.1,Pic),
    write_pic(Pic),
    !,
    fail.

scelta(Z, 9, 3):-
    pic(3.4,Pic),
    write_pic(Pic),
    !,
    fail.

scelta(Z, 13, 3):-
    pic(3.7,Pic),
    write_pic(Pic),
    !,
    fail.

scelta(Z, 17, 3):-
    pic(3.11,Pic),
    write_pic(Pic),
    !,
    fail.

/*************************************/

Rappresentano le interfacce di comunicazione di alcune domande.
Le immagini, i testi, le giustificazioni, e le spiegazioni sono rappresentate nel seguente modo:

/*** pictures testi e giustificazioni ****/

testo(1, 'Inserisci il campo di variazione dell''altezza dei cantieri').

giust(1, '~M~ML''altezza dei cantieri serve da orientamento verso una delle ipotesi').

pic(1.6, [ P1 ]):-
    P1=picture(0,0,120,100,resource(clipboard11,':foto:e/6.1') ),
    !.

/****** Spiegazione dei segni ******/

spiega(1.1, '~MLe altezze dei cantieri vanno da 26 a 40 cm'):-!.

spiega(1.2, '~MLe altezze dei cantieri vanno da 30 a 60 cm'):-!.

spiega(2 ,'~MI conci della muratura sono molto irregolari, di piccole dimensioni, e sono assemblati in maniera molto grossolana'):-!.

spiega(3.1,'~MSpaccate molto diffuse'):-!.


Top