Ik denk dat we het wel met elkaar eens zijn. Wat ik alleen probeer te zeggen is dat een NN lastiger zal worden dan je denkt. Ik probeer de TS ook te helpen, maar ben van mening dat een NN of andere AI technieken zoals een minimax boom of ander zoekalgoritme bijna altijd langzamer en minder precies zal zijn. Natuurlijk kan en mag hij het proberen, maar het resultaat zal, ben ik bang, tegenvallen.
Wat misschien wel handig kan zijn is Advice Language 0; daarmee kun je speelregels geven; wat moet onder welke condities gedaan worden door de speler?
[edit]
Ik kan weinig vinden op het internet over Advice Languages. In het kort komt het er op neer dat je een hele hoop if statements verschrijft. Denk aan:
code:
1
2
3
4
5
6
7
8
| if( lotOfFives() ) {
keepFives();
throwAgain();
}
if( largeStreet() ) {
keepStreet();
} |
het is dus een soort van leesbare ifstatements maken door de expressies te groeperen in functies. Ik heb een implementatie in Prolog gebruikt wat er als volgt uit kwam te zien:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| edge_rule :: if not opp_king_in_squares
then [ advancepawn ].
edge_rule :: if king_covers_all_front
then [ advancepawn ].
edge_rule :: if king_covers_pawn_forefront and kings_oppose
then [ advancepawn ].
edge_rule :: if not king_covers_pawn_front
then [ movetopawn ].
edge_rule :: if king_covers_pawn_forefront and king_ison_pawn_front
then [ movetonextideal ].
edge_rule :: if king_covers_pawn_front and not king_on_ideal_field
then [ movetoideal ].
edge_rule :: if king_covers_pawn_front and opp_king_ison_pawn_front
then [ opposeking ].
edge_rule :: if king_on_ideal_field and not kings_oppose
then [ opposeking ].
else_rule :: if true
then [ stupid_advance ]. |
Dit waren alle regels die nodig waren om een schaak eindspel tussen een pion en een koning vs een koning te spelen. Andere studenten hadden soms nog minder regels nodig om het zelfde te bereiken (denk aan 5 of 6).
[
Voor 53% gewijzigd door
Mithrandir op 08-08-2006 09:47
]