/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Kunstig intelligens
Fra : ApoX


Dato : 24-12-01 01:13

Jo, nu spørger jeg jo egentlig ikke om noget helt konkret. Søger bare et
lille hint om hvor jeg bør bevæge mig hen. Har lige kodet en motor til
spillet kaldet "3 på stribe" / "kryds og bolle", men fik nu lige pludselig
lyst til at gøre den ene spiller 100% automatisk. Dvs. computerstyret. Til
det skal man bruge en kunstig intelligens, hvilket jeg aldrig i mit liv har
arbejdet med før. Derfor spørger jeg - nogle hints ?

- Thomas



 
 
Niels Aage Schmidt (24-12-2001)
Kommentar
Fra : Niels Aage Schmidt


Dato : 24-12-01 07:37

Kunstig intelligens i begrænsede miljøer er et spændende område, som jeg har
arbejdet med siden 1977, hvor jeg programmerede et 3-på-stribe-spil som min
allerførste opgave. I dag arbejder jeg med det samme inden for matematik og
sprogforskning.
I dette spil er der dog ikke tale om "intelligens", men blot en totalanalyse
af de mulige træk. Til den ende skal man huske, at spillet har
spejlingsakser for at reducere mønsterkombinationerne. Husk at første
spiller ikke må vælge midten, da han så vinder altid! Du kan evt. bruge en
matrice!
Håber det er et hint, der kan få dig i gang.

hilsen

Niels Aage



"ApoX" <blomme@post.com> skrev i en meddelelse
news:3c267316$0$62862$edfadb0f@dspool01.news.tele.dk...
> Jo, nu spørger jeg jo egentlig ikke om noget helt konkret. Søger bare et
> lille hint om hvor jeg bør bevæge mig hen. Har lige kodet en motor til
> spillet kaldet "3 på stribe" / "kryds og bolle", men fik nu lige pludselig
> lyst til at gøre den ene spiller 100% automatisk. Dvs. computerstyret. Til
> det skal man bruge en kunstig intelligens, hvilket jeg aldrig i mit liv
har
> arbejdet med før. Derfor spørger jeg - nogle hints ?
>
> - Thomas
>
>



Uffe Kousgaard (24-12-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 24-12-01 10:00

"Niels Aage Schmidt" <nielsaa@mail.dk> wrote in message
news:3c26cd12$0$46360$edfadb0f@dspool01.news.tele.dk...
> Kunstig intelligens i begrænsede miljøer er et spændende område, som
jeg har
> arbejdet med siden 1977, hvor jeg programmerede et 3-på-stribe-spil
som min
> allerførste opgave. I dag arbejder jeg med det samme inden for
matematik og
> sprogforskning.
> I dette spil er der dog ikke tale om "intelligens", men blot en
totalanalyse
> af de mulige træk. Til den ende skal man huske, at spillet har
> spejlingsakser for at reducere mønsterkombinationerne. Husk at første
> spiller ikke må vælge midten, da han så vinder altid! Du kan evt.
bruge en
> matrice!

Hvis du virkelig arbejder indenfor matematik, ved du også at det hedder
én matrix (flertal: matricer). En matrice er noget man bruger indenfor
støbeindustrien. Begge ord har dog sin rod i det latinske ord matrice.

God jul.

Hilsen
Uffe



Niels Aage Schmidt (24-12-2001)
Kommentar
Fra : Niels Aage Schmidt


Dato : 24-12-01 10:45

Jeg vidste ikke vi var i en sprogkorrektionsgruppe. Så kunne du ellers få
nok at gøre!!
julehilsen

Niels Aage

"Uffe Kousgaard" <uffe@routeware.dk> skrev i en meddelelse
news:3c26ee74$0$46352$edfadb0f@dspool01.news.tele.dk...
> "Niels Aage Schmidt" <nielsaa@mail.dk> wrote in message
> news:3c26cd12$0$46360$edfadb0f@dspool01.news.tele.dk...
> > Kunstig intelligens i begrænsede miljøer er et spændende område, som
> jeg har
> > arbejdet med siden 1977, hvor jeg programmerede et 3-på-stribe-spil
> som min
> > allerførste opgave. I dag arbejder jeg med det samme inden for
> matematik og
> > sprogforskning.
> > I dette spil er der dog ikke tale om "intelligens", men blot en
> totalanalyse
> > af de mulige træk. Til den ende skal man huske, at spillet har
> > spejlingsakser for at reducere mønsterkombinationerne. Husk at første
> > spiller ikke må vælge midten, da han så vinder altid! Du kan evt.
> bruge en
> > matrice!
>
> Hvis du virkelig arbejder indenfor matematik, ved du også at det hedder
> én matrix (flertal: matricer). En matrice er noget man bruger indenfor
> støbeindustrien. Begge ord har dog sin rod i det latinske ord matrice.
>
> God jul.
>
> Hilsen
> Uffe
>
>



ApoX (24-12-2001)
Kommentar
Fra : ApoX


Dato : 24-12-01 10:45

> Håber det er et hint, der kan få dig i gang.

Det kan jeg ikke benægte - sidder dog stadigvæk og funderer lidt over
hvordan jeg eksempelvist kunne lade min trækalgoritme se ud.
En anden ting er, hvad er en matrice/matrix eller hvad I nu kalder den ?

God jul !

- Thomas



Niels Aage Schmidt (24-12-2001)
Kommentar
Fra : Niels Aage Schmidt


Dato : 24-12-01 10:52

Hvad er det din "motor" kan??
Jeg må vide lidt mere for at vide, hvor du er og hvad du mangler.
Glem matricer, når du pt. ikke kender dem. De kræver en matematisk baggrund
på nogenlunde studentereksamensniveau.

Med trækalgoritme mener du så, hvordan trækket beregnes eller hvordan det
grafisk foretages??
(håber sproget er OK, ellers kommer Uffe efter mig.)

hilsen Niels Aage


"ApoX" <blomme@post.com> skrev i en meddelelse
news:3c26f91e$0$62902$edfadb0f@dspool01.news.tele.dk...
> > Håber det er et hint, der kan få dig i gang.
>
> Det kan jeg ikke benægte - sidder dog stadigvæk og funderer lidt over
> hvordan jeg eksempelvist kunne lade min trækalgoritme se ud.
> En anden ting er, hvad er en matrice/matrix eller hvad I nu kalder den ?
>
> God jul !
>
> - Thomas
>
>



ApoX (24-12-2001)
Kommentar
Fra : ApoX


Dato : 24-12-01 11:31

> Hvad er det din "motor" kan??

Har bare lavet en applikation, hvor man kan spille det klassiske 3-på-stribe
med to menneskelige spillere. Det fungerer præcis som spillet - ingen
problemer der !

> Jeg må vide lidt mere for at vide, hvor du er og hvad du mangler.
> Glem matricer, når du pt. ikke kender dem. De kræver en matematisk
baggrund
> på nogenlunde studentereksamensniveau.

....og jeg som går i niende

> Med trækalgoritme mener du så, hvordan trækket beregnes eller hvordan det
> grafisk foretages??

Mener hvordan trækket beregnes. Det grafiske har jeg som bekendt kodet ind.

- Thomas



Niels Aage Schmidt (24-12-2001)
Kommentar
Fra : Niels Aage Schmidt


Dato : 24-12-01 15:13


"ApoX" <blomme@post.com> skrev i en meddelelse
news:3c2703ed$0$5497$edfadb0f@dspool01.news.tele.dk...
> > Hvad er det din "motor" kan??
<klip>
>
> Mener hvordan trækket beregnes. Det grafiske har jeg som bekendt kodet
ind.

Du skal lave en fuldstændig analyse med alle de mulige udfald.
Lav det f. eks. trinvis (tegn dem på kvadreret papir):

1 Første placering. Der er to muligheder: Enten et hjørne eller en
midterplads:
a1) b1)
x - - - x -
- - - - - -
- - - - - -

2.
Hvis a1) så
a2) b2) c2) d2) e2)
x o - x - o x - - x - - x - -
- - - - - - - o - - - o - - -
- - - - - - - - - - - - - - o
Når vi tager spejlinger i betragtning ind, er her alle muligheder efter a1
hændelsen.

Hvis b1) så ...


Og så fremdeles. Det tager lidt tid, men er meget sjovere end at få facit
foræret.

Når man ikke må starte i midterste felt kan spilleren både vinde/tabe og få
uafgjort.

julehilsen Niels Aage




Casper A. Hansen (02-01-2002)
Kommentar
Fra : Casper A. Hansen


Dato : 02-01-02 14:49

"ApoX" <blomme@post.com> wrote in message news:<3c2703ed$0$5497$edfadb0f@dspool01.news.tele.dk>...
> > Med trækalgoritme mener du så, hvordan trækket beregnes eller hvordan det
> > grafisk foretages??
>
> Mener hvordan trækket beregnes. Det grafiske har jeg som bekendt kodet ind.

Spillet er ret simpelt og dermed også ret nemt at få computeren til at
være en sikke vinder eller spille uafgjort, men det er jo ikke særligt
interessant (Jeg har også set versioner hvor computeren var en sikker
taber!) Det sværeste er altid at tilføje niveauer af intelligens.

Når, men du vil gerne have tilføjet lidt kunstig intelligens til
spillet.

Jeg har følgende forslag:
1. Computeren skal helt naturligt lave en linie komplet, altså sætte
et X der hvor der er to X'er.
2. Computeren skal naturligvis blokke hvis det er muligt, altså sætte
et X der hvor der er to O'er.
3. Computeren skal herefter lære at undgå den situation hvor
modspilleren laver dobbelte muligheder for 3 på stribe.

Eks.: O.n Altså O skal til at trække og sætter derfor en på n's
plads.
.X.
X.O

Niveau "begynder" kan være 1 og ellers sætte tilfældige X'er.
- "Let øvet" kan være 1 og 2 og ellers sætte tilfældige X'er.
- "Øvet" kan være 1 og 2 og 3 og ellers sætte tilfældige X'er.

Bemærk at brædtet kan vendes og spejles på 8 forskellige måder,
således at når
computeren har lært at undgå ovenstående eksempel kan den også undgå
bl.a. nedenstående kombinationer:
X.O n.O
..X. .X.
0.n O.X

Vedr. 3'eren skal computeren bare huske hvilke træk den har foretaget,
og hvis den taber skal den gøre således at der bliver mindre
sandsynlighed for at foretage de træk en anden gang. Hvis den vinder
skal den gøre det mere sandsynligt at den foretager de træk igen.
Det kan gøres ved at gemme brædtet som det så ud ved hvert træk. Give
hver trækmulighed 3 point. Hvis computeren vandt skal den lægge 3
point til de træk som den foretog, ellers skal den trække 1 point fra
dem. Muligvis skal den trække mere fra jo senere i spillet trækket er
foretaget.

/Casper

Niels Aage Schmidt (02-01-2002)
Kommentar
Fra : Niels Aage Schmidt


Dato : 02-01-02 16:07


"Casper A. Hansen" <cah@skygate.dk> skrev i en meddelelse
news:d581ee7f.0201020549.21313d94@posting.google.com...

> Spillet er ret simpelt og dermed også ret nemt at få computeren til at
> være en sikke vinder

Kun hvis computeren får lov til at begynde med at sætte sit tegn i midten!!
Den spiller, som begynder kan højst være sikker på uafgjort med mindre
midterfeltet må belægges! Det viser en totalanalyse af spillet.

hilsen Niels Aage



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste