AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: Gruppe(r): Tillatte hjelpemidler: Ingen Kunstig intelligens Antall sider (inkl. forsiden): 5 Emnekode: LV 145A Dato: 04.05.05 Antall oppgaver: 3 Faglig veileder: Eva Vihovde Eksamenstid: Kl.0900-1200 Antall vedlegg: 0 Kandidaten må selv kontrollere at oppgavesettet er fullstendig. Ved eventuelle uklarheter i oppgaveteksten skal du redegjøre for de forutsetninger du legger til grunn for løsningen. Utarbeidet av Kontrollert av (en av disse): (faglærer): Annen lærer Sensor Studieleder/ Fagkoordinator Studieleders/ Fagkoordinators underskrift: Oppgave 1 Avdeling for ingeniørutdanning Cort Adelersgate 30 0254 Oslo tlf: 22 45 32 00 faks: 22 45 32 05 iu@hio.no
a) Nedenfor ser du et rektangel delt inn i 5 felt ved hjelp av rette linjestykker. Din oppgave er å undersøke om du kan trekke en sammenhengende linje i figuren slik at du krysser alle de 7 rette linjestykkene som skiller feltene fra hverandre en og bare en gang. Visualiser problemet ved hjelp av en graf. Gi en teoretisk begrunnelse som viser at det er mulig eller ikke mulig, uten at du trenger å prøve i praksis. (Det er altså ikke nok å tegne en linje inn i figuren.) b) Du nå skal nå prøve å gjøre det samme som du gjorde under punkt a), men denne gangen har vi utvidet problemet til også å gjelde de linjestykkene som danner rektangelets omkrets. Du skal altså undersøke om du kan trekke en sammenhengende linje i figuren slik at du krysser alle de 16 rette linjestykkene en og bare en gang. Visualiser problemet ved hjelp av en graf. (Det er altså ikke nok å tegne en linje inn i figuren.) Gi en teoretisk begrunnelse som viser at det er mulig eller ikke mulig, uten at du trenger å prøve i praksis. Hvilken historisk person er kjent for et tilsvarende bevis? Hint: Broene i Kønigsberg. 2
Oppgave 2 Vi skal nå studere et spill for to spillere, nærmere bestemt Fyrstikkspillet. Spillet foregår slik at det ligger et visst antall fyrstikker på et bord. Hver av spillerne skal annen hver gang trekke 1 eller 2 fyrstikker. Den spilleren som trekker den siste fyrstikken har tapt. For at oppgaven ikke skal bli for komplisert har vi forenklet spillet slik at vi starter med kun 6 fyrstikker. a) Tegn opp grafen som representerer hele tilstandsrommet. (For å unngå at grafen blir unødig stor kan du gå ut i fra at ingen velger å trekke 2 fyrstikker når det bare er 2 igjen.) b) Du skal nå bruke MINIMAX-algoritmen til å avgjøre om spilleren som starter bør trekke 1 eller 2 fyrstikker, og deretter hvilke senere trekk han bør utføre for å vinne spillet, under forutsetning av at motspilleren spiller til det beste for seg. Kall spilleren som starter for MAX og motspilleren for MIN. (Du må altså gi bladnodene verdier som angir om MAX har vunnet eller tapt, og så la disse verdiene forplante seg opp til rotnoden.) c) Er grafen et tre? Begrunn svaret. d) Du skal nå gjøre det samme ved hjelp av algoritmen. Vis hvordan og verdiene forandrer seg etter hvert som grafen genereres. ngi eventuelle steder i grafen der søkingen kan avskjæres. Er det noen tilstander som ikke blir generert når du bruker algoritmen? Hvilken systematisk søkestrategi bruker algoritmen? e) Utvid nå spillet til å starte med 7 fyrstikker. Er det fremdeles mulig å vinne spillet hvis motspilleren spiller optimalt? Begrunn svaret. Oppgaven fortsetter på neste side 3
Oppgave 3 Tenk deg at du skal ut på skitur i Nordmarka. Turen starter på Voksenkollen og målet er å gå til Skjennungstua. For ikke å slite deg ut, ønsker du å finne den korteste veien dit. Nedenfor ser du et kart over området. Ved hvert eneste løypekryss (veiskille) er det oppgitt hvor langt det er til Skjennungstua i luftlinje, i tillegg til opplysninger om avstanden mellom løypekryssene. Problemet kan løses ved å generere en søkegraf, der alle mulige veiskiller fra startpunktet til målet er tilstander, og deretter søke gjennom denne grafen. I denne oppgaven trenger du imidlertid ikke å tegne denne grafen. Problemstillingen er kun tenkt som et utgangspunkt for teorispørsmålene i de følgende deloppgavene. 4
a) Nevn to systematiske søkealgoritmer som kan implementeres ved hjelp av listene Open og Closed, men som ikke utnytter kunnskap om problemet. For hver søkealgoritme skal du beskrive: Fordeler og ulemper ved søkealgoritmen Hvordan er tilstandene organisert på Open? Hva brukes Closed til? b) Bestem en heuristisk funksjon som vil være nyttig å bruke for å løse problemet. (Du kan gjerne formulere den med ord.) c) Forklare kort hvordan følgende søkestrategier virker, og forskjellen mellom dem. Hill-Climbing Beste-først-algoritmen A-algoritmen A*-algoritmen Relater forklaringen til problemstillingen over. Hvilken algoritme vil du foreslå for å finne korteste vei fra Voksenkollen til Skjennungstua? Begrunn svaret. Hint: Bruk den heuristiske funksjonen du foreslo under punkt b), eventuelt kan du la den inngå som en del av evalueringsfunksjonen. d) Er noen av søkealgoritmene du nevnte under punkt a) en A*-algoritme? Begrunn svaret. SLUTT 5