Artificiële Intelligentie

42
1 Artificiële Intelligentie Genetische Algoritmen Kees Vlak

description

Artificiële Intelligentie. Genetische Algoritmen Kees Vlak. Overzicht. Wat is Artificiële Intelligentie? Genetische Algoritmen Voorbeeld: TSP Praktijkvoorbeelden van GA's De oplossingsruimte en het fitness-landschap Voor en nadelen van GA's Andere AI technieken De AIig. - PowerPoint PPT Presentation

Transcript of Artificiële Intelligentie

Page 1: Artificiële Intelligentie

1

Artificiële Intelligentie

Genetische Algoritmen

Kees Vlak

Page 2: Artificiële Intelligentie

2

Overzicht

• Wat is Artificiële Intelligentie?• Genetische Algoritmen• Voorbeeld: TSP • Praktijkvoorbeelden van GA's• De oplossingsruimte en het fitness-landschap• Voor en nadelen van GA's• Andere AI technieken• De AIig

Page 3: Artificiële Intelligentie

3

Wat is Artificiële Intelligentie?

Page 4: Artificiële Intelligentie

4

Wat is Artificiële Intelligentie?

In den beginne was het streven om machines maken die even intelligent zijn of zelfs intelligenter zijn dan mensen. Dit doel wordt aangeduid met: “Strong AI”.

Enkele van de vele definities van wat er tegenwoordig onder AI verstaan wordt:

• Het op alle mogelijke manieren nog “slimmer” maken van de computer.

• Het zodanig programmeren van de computer of een robot dat deze ''gedrag" begint te vertonen dat normaal door dieren of mensen vertoond wordt bij het oplossen van problemen.

• Het nabootsen in software van een deel van het menselijk intellect, meer specifiek het redeneren en het leren.

Page 5: Artificiële Intelligentie

5

GA - Genetische Algoritmen

• Wat is een GA?

• Evolutie in de natuur.

• Evolutie in een computer.

• Welk soort probleem?

• Wat moet er gebeuren.

Page 6: Artificiële Intelligentie

6

Wat is een GA?

• Een GA is een van de technieken van de AI

• Programma dat in een computer het proces van evolutie in de natuur nabootst

• Wordt gebruikt om oplossingen te vinden voor problemen waarvan de standaardoplossing veel te veel rekentijd zou vergen.

Page 7: Artificiële Intelligentie

7

Evolutie in de natuur

• Evolutie is een proces dat maakt dat individuen steeds beter aangepast worden aan de (steeds veranderende) omgeving waarin ze leven. Zodat ze nakomelingen kunnen voortbrengen.

• Kwekers en fokkers gebruiken de mogelijkheden die de evolutie biedt om het proces te sturen in een door hen gewenste richting.

Page 8: Artificiële Intelligentie

8

condities wanneer/waarom evolutie werkt (ook in de natuur)

• Een soort moet meer nakomelingen krijgen dan dat er in leven kunnen blijven.

• Genetische variatie.

• Survival of the fittest.

Bij de evolutie gaat het om het “verbeteren” van de erfelijke eigenschappen. (Er bestaan geen allerbeste genen!)

Page 9: Artificiële Intelligentie

9

Chromosomen

Page 10: Artificiële Intelligentie

10

Evolutie in een computer

De drie condities voor evolutie in de natuur dienen ook in de computer voor te komen.

• Elk individu wordt gerepresenteerd door chromosoom, een reeks genen. Elk gen bestaat uit een of meer symbolen.

• Als nu dat chromosoom de informatie bevat voor een mogelijke oplossing van een probleem.

• En als nu die individuen (chromosomen) die een “betere” oplossing bevatten, overleven en zich mogen voortplanten dan evolueert het geheel.

Dan bevatten de chromosomen op den duur een meer optimale oplossing voor het gekozen probleem.

Page 11: Artificiële Intelligentie

11

Welk soort probleem?

Alle problemen die aan de onderstaande twee eisen voldoen komen in aanmerking om met GA aangepakt te worden.

• Een min of meer goede oplossing van het probleem moet geschreven kunnen worden als een reeks symbolen.

• Er moet een programma-routine beschikbaar zijn om een gegeven oplossing te beoordelen.

Page 12: Artificiële Intelligentie

12

Wat moet er gebeuren • Er moet een codering systeem gekozen te worden om een

oplossing te vertalen in een chromosoom. (een individu).• Er moet een programma routine komen om elk individu te

beoordelen. (De fitness-functie.)• Bepaald moet worden hoeveel individuen per generatie mee doen in

dit proces.• Hoeveel individuen per generatie moeten uitvallen omdat ze niet

goed genoeg voldoen.• Welke individuen mogen zich voortplanten?• Hoe worden de chromosoom van twee ouders gekruist

doorgegeven aan de nakomelingen?• Hoe vaak en op welke wijze treden daarbij willekeurige mutaties op?• Wanneer stoppen we met het evolutie proces?

Page 13: Artificiële Intelligentie

13

Wat moet er gebeuren

Page 14: Artificiële Intelligentie

14

Voorbeeld: TSP

• Wat is het TSP

• De codering in een reeks genen

• De fitness-functie

• Het kruisen

• Mutaties

• Overige instellingen

Page 15: Artificiële Intelligentie

15

Wat is het TSP

TSP staat voor Traveling Salesman Problem of in het Nederlands: het handelsreizigersprobleem.

Het handelsreizigersprobleem is één van de bekende problemen in de computerwetenschap:

• Een handelsreiziger moet een aantal steden bezoeken.

• Ga op zoek naar de kortste weg die hij kan gebruiken.

• Iedere stad wordt precies eenmaal bezocht.• Hij komt weer thuis in de stad waaruit hij

vertrokken is.

Page 16: Artificiële Intelligentie

16

De codering in een reeks genen

In elke reeks moeten alle steden precies eenmaal voorkomen.

Voorbeeld met 10 steden ( 0 t/m 9):

“3 5 0 7 1 9 2 4 6 8“

Het laatste stuk van de route is van stad 8 terug naar stad 3.

Het individu = een chromosoom = een reeks genen = een route.

Page 17: Artificiële Intelligentie

17

De codering in een reeks genen

Page 18: Artificiële Intelligentie

18

De fitness-functie

• Bereken de totale lengte van de reeks genen (route) door middel van een afstandstabel.

• Hoe kleiner de afstand hoe beter de route.

Page 19: Artificiële Intelligentie

19

Het kruisen

• Het kruisen betekent dat twee individuen samen twee kinderen voortbrengen

• Genetische informatie van de ouders wordt gemixt doorgeven aan elk kind.

• Moeilijkheid is dat elk kind steeds de complete set van stedennummers dient te bevatten. Iedere stad precies eenmaal!

Page 20: Artificiële Intelligentie

20

Het kruisen (De techniek)

• Stel 10 steden. Stad 0 t/m 9.• Genereer een willekeurig getal: (0, 1, 2, .... 7, 8).• Stel dat het getal 3 gegenereerd is.• De genen 0 t/m 3 worden nu van ouder 1 naar

kind 1 overgebracht.• De overgebleven genen (stadnummers) krijgen

ze van de andere ouder, zoveel mogelijk in de daar voorkomende volgorde.

• Idem voor ouder 2 en kind 2.

Page 21: Artificiële Intelligentie

21

Het kruisen (Een voorbeeld)

Ouder 1: “0 1 2 3 4 5 6 7 8 9”

Ouder 2: “0 2 4 6 8 1 3 5 7 9”

Kind 1 : “0 1 2 3 4 6 8 5 7 9”

Ouder 1: “0 1 2 3 4 5 6 7 8 9”

Ouder 2: “0 2 4 6 8 1 3 5 7 9”

Kind 2 : “0 2 4 6 1 3 5 7 8 9”

Page 22: Artificiële Intelligentie

22

Mutaties

• Een mutatie is een willekeurige verandering in de genen van een kind

• Muteren gebeurt om de variatie in de verzameling individuen in stand te houden.

• Als alle individuen te veel op elkaar gaan lijken zorgt muteren voor nieuwe kansen op verbeteringen.

Page 23: Artificiële Intelligentie

23

Mutaties

• Alle nieuwe kinderen kunnen gemuteerd worden, of dat gebeurt hangt van het toeval af.

• Als de mutatiekans bijvoorbeeld 10 % is, dan wordt 10 % van de kinderen éénmaal gemuteerd.

• De mutatie bestaat er uit dat er 2 genen uit het chromosoom worden omgewisseld.

• Voorbeeld: De genen op posities 5 en 8 worden verwisseld.

• Voor de mutatie: Kind 1 = “9 1 8 2 7 3 6 4 5 0”• Na de mutatie: Kind 1 = “9 1 8 2 7 5 6 4 3 0”

Page 24: Artificiële Intelligentie

24

Overige instellingen

• Omvang van een generatie. Bijvoorbeeld 40 individuen.

• Per ronde kunnen dan 20 individuen die het slechtst presteren, verwijderd worden.

• 10 maal kunnen 2 individuen dan nageslacht krijgen 10 x 2 = 20

Page 25: Artificiële Intelligentie

25

Welke individuen mogen zich voortplanten?

• Dat wordt per keer door het lot bepaald

• Verschillende strategieen mogelijk

Page 26: Artificiële Intelligentie

26

Wanneer stoppen we het evolutie-proces?

• Bijvoorbeeld: Als de beste route al 1000 generaties niet meer is verbeterd

• Als er in de zoektocht naar de kortste route veel steden betrokken zijn zullen we waarschijnlijk nooit weten of er nog betere oplossingen mogelijk zijn.

Page 27: Artificiële Intelligentie

27

Praktijkvoorbeelden van GA's

• Produktieplanning, roosters, wedstrijdindeling

• Ontwerp, bijvoorbeeld minimaliseren van materiaalgebruik

• Zoeken, bijvoorbeeld in een doolhof

• Overige, oftewel allerlei toepassingen waar iets geoptimaliseerd moet worden

Page 28: Artificiële Intelligentie

28

Produktieplanning, roosters, wedstrijdindeling

• Mogelijke genen: Wie doet wat op welk tijdstip en op welke plaats

• Fitness: Hierin worden eisen meegenomen die gesteld worden aan:

1. volgorde van aktiviteiten2. bezetting van leslokalen, machines etc.3. totale doorlooptijd of wanneer iets klaar

moet zijn4. etc.

Page 29: Artificiële Intelligentie

29

Ontwerp

Page 30: Artificiële Intelligentie

30

Ontwerp

• Een “domme routine” die met succes kan opboksen tegen de vakkennis van ervaren constructeurs.

• Een fabrikant wilde een bepaald soort auto lichter maken (zuiniger) en toch sterker (veiliger). Hij wilde de kooiconstructie van de auto aanpakken.

• Genen: Er werden 100 punten bepaalt op de constructie waar de dikte van het staal bepaald moet worden. Elke dikte kon 10 verschillende waarden hebben.

• Fitness: De kooi moet:1. minimaal de vereiste sterkte hebben2. zo licht mogelijk zijn

• GA kwam nu goed van pas en er is een besparing op gewicht mee gerealiseerd.

Page 31: Artificiële Intelligentie

31

Zoeken: Doolhof

Page 32: Artificiële Intelligentie

32

Zoeken

• Bijvoorbeeld in een doolhof waar je in elk vakje omhoog of omlaag kan of naar links of rechts.

• Genen: Elk vakje met daarin een van de 4 richtingen.

• Fitness:1. Doodlopende paden krijgen een lage fitness.

2. Bij goede paden (tussen beginpunt en eindpunt) krijgt het kortste pad de hoogste fitness.

Page 33: Artificiële Intelligentie

33

De oplossingsruimte en het fitness-landschap

• De oplossingsruimte van problemen

• Het fitness-landschap van problemen

• Spijkerbed-problemen

Page 34: Artificiële Intelligentie

34

De oplossingsruimte van een probleem

• De gehele verzameling mogelijke oplossingen voor een probleem noemt men de oplossingsruimte van dat probleem.

• Het aantal genen in het chromosoom is tevens het aantal dimensies van de oplossingsruimte.

Page 35: Artificiële Intelligentie

35

Het fitness-landschap van een probleem

Page 36: Artificiële Intelligentie

36

Spijkerbed-problemen

Page 37: Artificiële Intelligentie

37

Voor en nadelen van GA's.

• Nadelen van GA's

• Voordelen van GA's

Page 38: Artificiële Intelligentie

38

Nadelen

• Men kan er niet zeker van zijn dat de uitkomst niet in een lokaal optimum is blijven steken en dus niet het globale optimum vindt.

• Als er meerdere gelijkwaardige oplossingen zijn, vind je er maar 1

Page 39: Artificiële Intelligentie

39

Voordelen

Enkele voordelen kunnen zijn:• Maakt oplossingen mogelijk voor een klasse

problemen die met andere middelen niet goed op te lossen zou zijn, namelijk veel problemen waarvan de oplossing normaal erg veel rekentijd zou vergen.

• Als je een redelijk goede oplossing steeds opnieuw te weten moet komen in vooraf onvoorspelbaar wijzigende situaties.

• Als een min of meer standaard wijze om op een “creatieve” manier problemen op te lossen.

Page 40: Artificiële Intelligentie

40

De AI ig

De HCC – AI interesse groep is een klein clubje mensen dat elkaar ontmoet om:

• over het onderwerp AI in al zijn facetten te kletsen

• ervaringen uit te wisselen

• voordrachten te geven of te beluisteren

• eigengemaakte programma's te laten zien

Page 41: Artificiële Intelligentie

41

Andere AI-technieken

Het aantal technieken is legio. Enkele ervan:

• Kennissystemen

• Neurale netwerken

• Genetisch programmeren

• Fuzzy logic

• AI agenten

Page 42: Artificiële Intelligentie

42

De AI ig komt bijeen

• een maal per maand (eerste zaterdag)

• Disselplein 5, Hooglanderveen (bij Amersfoort, Vathorst)

• in het zelfde gebouw en op dezelfde dagen als de Robotica ig van de HCC