Umělá inteligence

22
Umělá inteligence proč?

description

Umělá inteligence. proč?. Kdy UI nepotřebujeme?. pokud jsme schopni vytvořit stroj, který bude úlohu řešit problém je algoritmizovatelný příklad. Kdy UI potřebujeme?. když to nejde. Piškvorky. online úloha data se mění v průběhu řešení data nejsou dopředu známa - PowerPoint PPT Presentation

Transcript of Umělá inteligence

Page 1: Umělá inteligence

Umělá inteligence

proč?

Page 2: Umělá inteligence

Kdy UI nepotřebujeme?

• pokud jsme schopni vytvořit stroj, který bude úlohu řešit

• problém je algoritmizovatelný• příklad

Page 3: Umělá inteligence

Kdy UI potřebujeme?

• když to nejde

Page 4: Umělá inteligence

Piškvorky

• online úloha• data se mění v průběhu řešení• data nejsou dopředu známa• ale to v zásadě nevadí, je to jen komplikace

• více cílových stavů• potřebujeme strategii

• předvídat tah soupeře• zhodnotit různá řešení• strategie = dlouhodobý plán kroků nutných k

dosažení cíle

Page 5: Umělá inteligence

Inteligentní stroj

Stroj projde Turingovým testem, pokud skutečný člověk po položení několika písemných otázek nedokáže rozlišit, jestli odpověď pochází od stroje nebo od (skrytého) člověka. • rozpoznání obrazu, zpracování obrazu (identifikace písemné otázky)• robotika, manipulátory (příjem otázky nebo jiného objektu)• zpracování přirozeného jazyka (zpracování textu otázky a

„porozumění“ otázce)• strojové učení (vytvoření databáze znalostí, která se použije k

zodpovězení otázky)• reprezentace znalostí (ukládání informací naučených během provozu

a jejich vyhledávání)• automatické usuzování (vytvoření odpovědi na základě významu

otázky a známých znalostí)

Alan Turing, 1950

Page 6: Umělá inteligence

1950 - 2011

• Počítač roku 1950• 1 × 1 x 0,001Mhz (server x core x frekvence)• 1920B RAM• 5120B HDD

• Počítač roku 2011(1:51) – Watson• 90 × 32 × 3,25 GHz• > 15TB RAM• ∞ HDD

Page 7: Umělá inteligence

Zpět na zem

• Jaká je strategie pro piškvorky (3×3)?

Page 8: Umělá inteligence

Strategie 3×3

• Tah na střed• Tah na roh, kde je volná diagonála• Pokud můžeme dokončit řadu, dokončeme ji• Pokud může protihráč dokončit řadu,

zablokujme ji• Tah na hranu, kde zablokujeme protihráče a

současně můžeme vytvořit řadu • Tah na volnou hranu, pokud není volná hrana,

tah na roh.

Page 9: Umělá inteligence

ImplementaceIF PrvníTah THEN Tah(B2)ELSE IF DruhýTah THEN // máme provést druhý tah // najdeme volnou diagonálu IF Volno(A1) AND Volno(C3) THEN // je volné pole A1 i pole C3 Tah(A1) ELSE Tah(A3)ELSE IF TřetíTah IF Soupeř(A1) THEN // musíme blokovat soupeře tahem na stranu IF Soupeř(A3) THEN Tah(A2) ELSE IF Soupeř(C1) THEN Tah(B1) ELSE IF Soupeř(C3) THEN // musíme blokovat soupeře tahem na stranu IF Soupeř(A3) THEN Tah(B3) ELSE IF Soupeř(C1) THEN Tah(C2) IF NOT TahProveden THEN // nenašli jsme soupeřovu nedokončenou řadu, soupeř táhl špatně IF Můj(A1) THEN //vlastníme pole A1, dokončíme diagonální řadu Tah(C3) ELSE Tah(C1)

ELSE //čtvrtý tah// podle přechozího tahu zkusíme vždy nejprve dokončit vodorovnou nebo svislou řadu, potom// zkusíme tah na stranu, kde je poslední možnost vytvořit řadu, pro každý směr je jedno pravidloIF PředchozíTah = A2 THEN IF Volno(C2) THEN Tah(C2) ELSE Tah(B1)ELSE IF PředchozíTah = B1 THEN IF Volno(B3) THEN Tah(B3) ELSE Tah(C2)ELSE IF PředchozíTah = B3 THEN IF Volno(B1) THEN Tah(B1) ELSE Tah(A2)ELSE IF PředchozíTah = C2 THEN IF Volno(A2) THEN Tah(A2) ELSE Tah(B3)

Page 10: Umělá inteligence

Jak by byl úplný program velký?

• zatím zahrnuje 17 možných tahů

Page 11: Umělá inteligence

Řešení

• situace hrací plochy:• pokud začíná počítač: 9 · 7 · 5 · 3 = 945 (105)• univerzálně: 9! = 362 880• některé nejsou dosažitelné• některé nejsou smysluplné• počítač nehraje současně za oba• výsledek: něco mezi 30 a 1329

• hrací plocha 4×4 = 2,09 · 1013

• hrací plocha 5×5 = 1,55 · 1025

• papír A5 ≈ 1260 polí = 1,6 · 103361

Page 12: Umělá inteligence

Co z toho vyplývá

• Velikost programu závisí na velikosti úlohy.• Dobrá strategie může snížit složitost úlohy o

několik řádů.• Málokterá strategie je zaručená.

• Blokovací strategie nefunguje vůbec.• Časová složitost řešení hrubou silou roste

faktoriálem.• Délka naivního algoritmu roste skoro stejně

rychle.

Page 13: Umělá inteligence

Časová složitost

• Závislost počtu operací na velikosti vstupu.• Neříká jak dlouho to bude trvat.• Říká jak se to bude zpomalovat.• Příklad

Page 14: Umělá inteligence
Page 15: Umělá inteligence
Page 16: Umělá inteligence
Page 17: Umělá inteligence

Řešení?

• Transformace úlohy na stavový prostor.• Definujeme:

• možné stavy problému• možné přechody z jednotlivých stavů• počáteční stavy• cílové stavy

• Celý stavový prostor můžeme reprezentovat pomocí grafu• pokud možno stromového• pokud možno konečného

Page 18: Umělá inteligence
Page 19: Umělá inteligence
Page 20: Umělá inteligence

Co jsme tím získali?

• Úlohu jsme převedli na:• nalezení a výběr nejvhodnějšího přechodu do

dalšího stavu• už jen potřebujeme zjistit co je nevhodnější stav

• Můžeme to zkusit alespoň odhadnout• každý stav ohodnotíme• heuristická funkce – odhad hodnocení• vybereme ten nejlepší• pro odhad hodnocení stavu musíme zjistit i stavy,

které za ním následují• algoritmus nahlíží do budoucnosti

Page 21: Umělá inteligence

Řešení

• Hodnocení • piškvorky jsou hra s „nulovou sumou“• viz příklad

• Prohledání• úplné prohledávání do šířky • úplné prohledávání do hloubky• minimaxová metoda, prořezávání• 90% algoritmů umělé inteligence

Page 22: Umělá inteligence

Co dál?

• Většina umělé inteligence se zabývá tím• jak hodnotit stavy• jak rychle prohledávat velké stavové prostory