Umělá inteligence

Post on 05-Jan-2016

47 views 0 download

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

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• 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

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

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

Zpět na zem

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

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.

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)

Jak by byl úplný program velký?

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

Ř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

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.

Č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

Ř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

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

Ř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

Co dál?

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