Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
1
1
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
OHJ-2550 TEKOÄLY Kevät 2009
2
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Yleistä
• 6 opintopistettä• Jatko-opintokelpoinen
• Luentojen sijaan kenties seminaariesitelmiä periodin V lopussa• Viikkoharjoitukset• Harjoitustyöt: 2 kpl
• Sisältöön mahdollista vaikuttaa nyt
• Luennoidaan viimeisen kerran suomeksi• Ensi vuonna Artificial Intelligence
2
3
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Organisaatio & aikataulu
Luennot: prof. Tapio Elomaa• ti 12–14 TB214• to 12–14 TB219• 3.2.–7.5.
• perioditauko 16.–22.3.• Pääsiäisloma 9.–15.4.
Viikkoharjoitukset alkaen viikolla 8 (19.2. )• Tekn.tri. Jussi Kujala, DI Timo Aho (prof. Elomaa)• To 10 – 12, TC128
Koe ti 12. toukokuuta 2009, klo 17–20
4
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Mahdolliset aihepiirit
Part I Artificial Intelligence1 Introduction2 Intelligent Agents
Part II Problem Solving3 Solving Problems by Searching4 Informed Search and Exploration5 Constraint Satisfaction Problems6 Adversarial Search
Part III Knowledge and Reasoning7 Logical Agents8 First-Order Logic9 Inference in First-Order Logic10 Knowledge Representation
Part IV Planning11 Planning12 Planning and Acting in the Real
WorldPart V Uncertain Knowledge andReasoning
13 Uncertainty14 Probabilistic Reasoning15 Probabilistic Reasoning Over Time16 Making Simple Decisions17 Making Complex Decisions
Part VI Learning18 Learning from Observations19 Knowledge in Learning20 Statistical Learning Methods21 Reinforcement Learning
Part VII Communicating, Perceiving, andActing
22 Communication23 Probabilistic Language Processing24 Perception25 Robotics
Part VIII Conclusions26 Philosophical Foundations27 AI: Present and Future
3
5
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Harjoitustyöt
• Kurssilla on 2 pakollista harjoitustyötä.Kurssin suorittaminen edellyttää molempien töiden tekemistä
• Kukin työ arvostellaan asteikolla 0 – 10, lisäksi esitelmästäkorkeintaan 4 pistettä
1 on hyväksytty
1. Oppiva agentti ja selvitys sen käyttämistä tekoälytekniikoistaRyhmätyö, Palautuspäivä ?. ?.
2. Tutkielma. Vapaavalintainen aihe oppijakson aihealueelta.Ryhmätyö 2 – 3 henkeä, Palautuspäivä on myöhemminsovittava esitelmän päivämäärä- Kirjallinen raportti, 10 – 15 s.- Esitelmä 30 – 45 min
6
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Arvostelu
• Kurssin arvostelussa otetaan huomioon• tentti (max 30 p.)• Pakolliset harjoitustyöt (yht. max 24 p.)
• Oppiva agentti (max 10 p.)• Kirjallinen raportti (max 10 p.)• Suullinen esitys (max 4 p.)
• Kokonaispisteiden max on 54 p.• viikottaiset laskuharjoitukset tuovat porkkanapisteitä (max 6 p.)
• Arvosana määräytyy oletettavasti seuraavasti:
54321arvosana
4844403430pisteet
4
7
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Materiaali
• Kurssin oppikirja on• S. Russell, P. Norvig: Artificial Intelligence, A Modern
Approach, Second ed., Prentice Hall, 2003
• Valmista monistetta ei ole, luentokalvot pannaan verkkoonluentojen tahtiin
• http://www.cs.tut.fi/kurssit/OHJ-2550/• http://www.cs.tut.fi/~elomaa/opetus/OHJ-2550-0809.html/
• Tentti perustuu luentoihin (ei siis yksinomaan kalvoihin)
8
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Luentoaikataulu
Tekoäly tänään — ”lehdistökatsaus”1. Johdanto (I, 1)
1. Taustaa2. Tekoälyn historia3. Älykkäät agentit
2. Logiikka, tietämys ja päättely (III, 2-3)3. Ongelmanratkaisu ja hakualgoritmit (II, 5-6)4. Epävarma tietämys ja päättely (V, 7-9)5. Toiminnan suunnittelu (IV, 9-10)6. Koneoppiminen (VI, 10-12)
5
9
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Viikkoharjoitukset
• Viikkoharjoituksiin osallistuminen on erittäin suositeltavaa• Harjoitustehtävät verkkoon viimeistään ed. torstaina• Valmiudesta esittää taululla vastaus kysymykseen saa kustakin
merkinnän• Kussakin harjoituksissa on n. 5 tehtävää
kaikkiaan merkintöjä voi kerätä n. 5×10 = 50 kappaletta
570%
680%
460%
350%
240%
130%
LisäpisteetMerkintöjä
10
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
6
11
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
12
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
7
13
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
14
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
8
15
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
16
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
9
17
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
18
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
10
19
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
20
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
11
21
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
22
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
12
23
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Boston Dynamics BigDog
The Most Advanced Quadruped Robot on EarthBigDog is the alpha male of the Boston Dynamics family of robots. It is a quadrupedrobot that walks, runs, and climbs on rough terrain and carries heavy loads. BigDogis powered by a gasoline engine that drives a hydraulic actuation system. BigDog'slegs are articulated like an animal’s, and have compliant elements that absorb shockand recycle energy from one step to the next. BigDog is the size of a large dog orsmall mule, measuring 1 meter long, 0.7 meters tall and 75 kg weight.
BigDog has an on-board computer that controls locomotion, servos the legs andhandles a wide variety of sensors. BigDog’s control system manages the dynamicsof its behavior to keep it balanced, steer, navigate, and regulate energetics asconditions vary. Sensors for locomotion include joint position, joint force, groundcontact, ground load, a laser gyroscope, and a stereo vision system. Other sensorsfocus on the internal state of BigDog, monitoring the hydraulic pressure, oiltemperature, engine temperature, rpm, battery charge and others.
In separate trials, BigDog runs at 4 mph, climbs slopes up to 35 degrees, walks acrossrubble, and carries a 340 lb load.
BigDog is being developed by Boston Dynamics with the goal of creating robots thathave rough-terrain mobility that can take them anywhere on Earth that people andanimals can go. The program is funded by the Defense Advanced Research ProjectAgency (DARPA).
24
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
1. JOHDANTO
• Tekoäly on käsitteenä laaja, korkealentoinen ja ajan myötämuuttuva
• Nykyisin ehkä enemmän filosofien ja kognitiotieteilijöiden kenttää• Tietojenkäsittelyllisesti tekoäly käsittää joukon tavoitteiltaan
rajatumpia tutkimusaloja, jotka ovat jo eriytyneet melko etäälletoisistaan
• Yhteistä eri osa-alueille on pyrkimys koneiden "älykkyyden”nostamiseen
• Toisin katsoen: ohjelmistojen käytön helpottamiseen
• Tuloksena käyttökelpoisia ohjelmistoja ja mekaanisen laskennanrajoja kartoittavaa teoriaa
13
25
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Määritelmä?
• Älykkäälle koneelle ainoa tuntemamme vertailukohta olemme meitse
• Toisaalta vertailu inhimilliseen älykkyyteen rajaa pois muut(paremmat) vaihtoehdot
• Ideaalista älykkyyttä kutsutaan rationaalisuudeksi
• Toisaalta älykkyyttä voidaan tarkastella ajattelun tai toiminnannäkökulmasta
• Yhdistelminä saadaan neljä toisistaan poikkeavaa näkökulmaatekoälyyn
26
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Turingin testi
• Englantilaisen matemaatikon Alan Turingin 1950 esittämä kriteerikoneen älykkyydelle on se, ettei ihminen erota konetta ihmisestäkeskustellessaan sen kanssa tekstiviestein
• Eräs inhimillisen toiminnan testi• Ns. totaalisessa Turingin testissä koneen on pystyttävä myös
havainnoimaan ja manipuloimaan fyysistä ympäristöään• Aikarajoitettuja kilpailuja järjestetään vuosittain• Parhaiten knoppitietoisia kilpailuttajia vastaan pärjäävät
huijausohjelmat• Inhimilliset asiantuntijat arvioidaan suurimmalla tn:llä koneiksi
14
27
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Kognitiivinen mallintaminen
• Inhimillisen ajattelun tutkimus kuuluu psykologian jakognitiotieteen kenttään
• Myös tietysti neurofysiologia jne.• Vahva yhteys tekoälytutkimukseen, jos näkökulma on inhimillinen
ajattelu• Ajattelun/mielen algoritmiikka ja tietämysrakenteet• Allen Newell ja Herbert Simon (1961): General Problem Solver
(GPS) -päättelyaskelten ja inhimillisen päättelyn vertailu
28
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Rationaalisuus
• Rationaalinen ajattelu on oleellisesti formaalin logiikan ja loogisenpäättelyn tutkimista
• (Yksinomaan) logiikkaan perustuvat menetelmät kärsivätlaskennan vaativuudesta sekä epävarman tiedon esittämisenvaikeudesta
• Rationaalisen toiminnan mallissa tarkastellaan agentteja• Agentti on toimija• Ohjelmistoagentin erottaa ohjelmasta esim. sen autonomisuus,
ympäristön havainnointikyky, adaptiivisuus, pitkä elinikä, kykyomaksua muiden tavoitteita, tjms.
15
29
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
• Rationaalinen agentti toimii parhaan mahdollisen lopputuloksensaavuttamiseksi havaintojensa ja tietämyksensä puitteissa
• Epävarmuuden vallitessa pyritään maksimoimaan odotusarvoa• Rationaalinen toiminta pitkällä tähtäyksellä voi edellyttää
epärationaaliselta vaikuttavaa toimintaa lyhyellä tähtäyksellä• Reaalimaailmassa täydellinen rationaalisuus ei useimmiten ole
mahdollista (ajanpuutteen takia)
30
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Taustatieteitä
• Filosofia ja matematiikka• Formaali päättely, mielen ja tiedon olemukset, jne.• Päättelysäännöt, laskettavuus ja sen vaativuus, epävarma
päättely (todennäköisyyslaskenta), jne.• Taloustiede
• päätös- ja peliteoria, operaatiotutkimus, jne.• Neurotieteet• Psykologia ja kognitiotiede• Tietotekniikka• Kontrolliteoria ja kybernetiikka• Lingvistiikka
16
31
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Tekoälyn historiaa
• Ensimmäiseksi tekoälyjulkaisuksivoidaan katsoa McCulloch ja Pitts (1943)
• Esitetään kuinka yksinkertaisten laskentaelementtien,neuronien, muodostamalla verkolla voidaan laskea loogisetkonnektiivit (and, or, not, jne.)
• Osoitetaan, että kaikki laskettavat funktiot voidaan laskeaneuroverkolla
• Vihjattiin verkkojen voivan oppia• Hebb (1949) antaa yksinkertaisen päivityssäännön
neuroverkkojen opettamiseen• Turing (1950) esittelee testinsä, koneoppimisen, geneettiset
algoritmit ja palauteoppimisen• 1956 John McCarthy järjesti aihealueesta kiinnostuneiden
tutkijoiden tapaamisen, missä tutkimusalue sai nykyisen nimensä
32
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Historiaa (2/4)
• Heti alusta lähtien keskeisiä yliopistoja olivat nykyisinkintekoälytutkimuksen huipulla olevat CMU, MIT ja Stanford
• McCarthy (1958) Lisp-ohjelmointikieli• 1950- ja 1960-luvuilla saavutettiin huomattavia edistysaskelia
mikromaailmoissa (esim. palikkamaailma) tapahtuvassatoiminnassa Robotiikkakin eteni: esim. SRI:n Shakey (1969)
• Samoin neuroverkkotutkimus (Widrow & Hoff, Rosenblattinperceptron)
• Vähitellen kuitenkin kävi selväksi, että mikromaailmojenmenestys ei sellaisenaan skaalaudu ylöspäin.
• Se oli saavutettu ilman syvempää ymmärtämystäkohdeongelmasta ja laskentaintensiivisin menetelmin
17
33
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Historiaa (3/4)
• Neuroverkkotutkimuksen tietojenkäsittelystä tappoi ylivuosikymmeneksi Minskyn ja Papertin todistus perceptroninheikosta esitysvoimasta (xor-funktio)
• 1970-luvulla kehitettiin asiantuntijajärjestelmiä, joihin kerättiinyhden sovellusalueen syvää tietämystä
• Asiantuntijajärjestelmillä saavutettiin monilla aloillaihmisasiantuntijoita parempi suorituskyky ja niistä tulitekoälytutkimuksen ensimmäinen kaupallinen menestystarina
• Asiantuntijajärjestelmien kehittäminen osoittautui kuitenkinvaativaksi käsityöksi
• Logiikkaohjelmointi eli kirkkaimman kukoistuksensa 1980-luvunpuolessa välissä
• Neuroverkkotutkimus nousi taas tutkimusalaksitietojenkäsittelyssä 1980-luvun puolivälistä lähtien
34
Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät 2009 11.2.2009
Historiaa (4/4)
• Myös koneoppimistutkimuksen nousukausi ajoittuu 1980-luvulle• Samaten Bayes-verkkojen tutkimus lähti liikkeelle tuolloin
• Ehkä toinen merkittävä kaupallinen sovellus Microsoftinvahvan näkyvyyden takia
• Sittemmin samoja asioita on tutkittu myös tietämyksenmuodostamisen nimikkeellä
• Agenttiteknologia on nouseva trendi monella tietojenkäsittelynalueella
• Viimeaikainen kehitys on ollut myös suuntautuminenanalyyttiseen tutkimukseen ad hoc tekniikkojen sijaan
• Koneoppimisen teoreettiset mallit• Toiminnan suunnittelun uudet menetelmät• Peliteorian uusi kukoistus