De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Artificiële Intelligentie

Verwante presentaties


Presentatie over: "Artificiële Intelligentie"— Transcript van de presentatie:

1 Artificiële Intelligentie
Genetische Algoritmen Kees Vlak

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

3 Wat is Artificiële Intelligentie?
Strong AI is enkel nog maar een lange termijn doelstelling van sommige AI'ers.

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.

5 GA - Genetische Algoritmen
Wat is een GA? Evolutie in de natuur. Evolutie in een computer. Welk soort probleem? Wat moet er gebeuren.

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.

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. opm: De nakomelingen erven eigenschappen dmv kruisen doorgegeven waarbij er mutaties kunnen optreden. Dit zorgt voor de noodzakelijke genetische variatie.

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!) De (wisselende) eigenschappen van de omgeving bepalen mede welke individuen een grotere kans hebben om nakomelingen voort te brengen. (Survival of the fittest)

9 Chromosomen

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. Je weet in veel gevallen niet of de ultieme oplossing ooit bereikt wordt! Om aan te tonen dat selectie veranderingen teweeg kan brengen, wees Darwin op het selectief kruisen van landbouwgewassen, huisdieren en vee door de mens om ze te 'verbeteren'. Het verschil is dat mensen bij die selectie een bepaald doel voor ogen hebben, en de natuur niet. In dit licht zouden we een GA misschien beter kunnen omschrijven als een manier om een oplossing voor een probleem te 'fokken'.

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. Die laatste eis is niet beslist nodig. Als men in staat is om de gegenereerde oplossingen in de praktijk te testen en te beoordelen kan men het GA ook toepassen.

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?

13 Wat moet er gebeuren

14 Voorbeeld: TSP Wat is het TSP De codering in een reeks genen
De fitness-functie Het kruisen Mutaties Overige instellingen

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. Elke oplossing bestaat uit een reeks van alle steden die achtereenvolgens bezocht worden. Er bestaan dus slechte en betere oplossingen. Indien het veel steden betreft is het aantal mogelijke routes zo groot dat ze niet allemaal te onderzoeken zijn. Praktijkvoorbeeld: boormachine die gaten in een printplaat moet printen.

16 De codering in een reeks genen
In elke reeks moeten alle steden precies eenmaal voorkomen. Voorbeeld met 10 steden ( 0 t/m 9): “ “ Het laatste stuk van de route is van stad 8 terug naar stad 3. Het individu = een chromosoom = een reeks genen = een route.

17 De codering in een reeks genen
Een plattegrond met 10 steden met daarin de route getekend (een andere dan die uit de vorige dia).

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. Bereken de totale lengte bijvoorbeeld door middel van een afstandstabel.

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! Het kruisen kan op verschillende manieren gebeuren. Wij hebben hier voor een relatief simpele methode gekozen.

20 Het kruisen (De techniek)
Stel 10 steden. Stad 0 t/m 9. Genereer een willekeurig getal: (0, 1, 2, , 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.

21 Het kruisen (Een voorbeeld)
Ouder 1: “ ” Ouder 2: “ ” Kind 1 : “ ” Kind 2 : “ ”

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.

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 = “ ” Na de mutatie: Kind 1 = “ ” Het omwisselen van de genen is het meest simpel. Je zou bijvoorbeeld ook de tussenliggende reeks kunnen omkeren. Dit laatste is in het algemeen sneller.

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

25 Welke individuen mogen zich voortplanten?
Dat wordt per keer door het lot bepaald Verschillende strategieen mogelijk Het lijkt handig te zijn als die individuen die beter zijn ook een grotere hebben kans om gekozen te worden.

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. Hierna demonstratie van het programma. Er wordt in het voorbeeld geen gebruik gemaakt van specifieke kennis van het probleem. Je zou bijvoorbeeld de beginpopulatie wat kunnen optimaliseren door vanaf het punt tot waar je gekomen bent, als volgende stad steeds diegene te kiezen die het dichstbij ligt en nog geen verbinding heeft de kruisingen er uit te halen

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

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: volgorde van aktiviteiten bezetting van leslokalen, machines etc. totale doorlooptijd of wanneer iets klaar moet zijn etc. Bijvoorbeeld: een leslokaal kan niet op hetzelfde moment door 2 klassen gebruikt worden

29 Ontwerp

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: minimaal de vereiste sterkte hebben zo licht mogelijk zijn GA kwam nu goed van pas en er is een besparing op gewicht mee gerealiseerd. Dat zijn alles bij elkaar zoveel mogelijkheden dat die onmogelijk allemaal door een computer uit te rekenen zijn.

31 Zoeken: Doolhof

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: Doodlopende paden krijgen een lage fitness. Bij goede paden (tussen beginpunt en eindpunt) krijgt het kortste pad de hoogste fitness. Aan de rand of bij een muur zijn er minder dan 4 mogelijkheden.

33 De oplossingsruimte en het fitness-landschap
De oplossingsruimte van problemen Het fitness-landschap van problemen Spijkerbed-problemen

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. Er bestaan problemen waar de oplossingsruimte verandert in de tijd (bijvoorbeeld een raket die een bewegend doel moet volgen). Een GA dat de kortste route berekend in een stad terwijl er straten bij gebouwd kunnen worden of straten voor het verkeer afgesloten. Als er actuele verkeersinformatie over drukte op de verschillende wegen wordt meegenomen zou dat wel eens een heel nuttige toepassing kunnen zijn.

35 Het fitness-landschap van een probleem
Als je alle mogelijke oplossingen van een probleem met een fitness-functie waardeert dan krijgt men het z.g. fitness-landschap. Het 3D-fitness-landschap hieronder is gebaseerd op een 2D-oplossingsruimte. Hogere dimensies kan men niet goed visualiseren. Ook hier: Een fitness-landschap kan veranderen in de tijd. Niet allen omdat de oplossingsruimte kan veranderen maar ook omdat de fitness van een bepaald chromosoom kan veranderen in de tijd. Als de GA een lokaal maximum gevonden heeft is het soms moeilijk een beter maximum te vinden. De chromosomen kunnen te veel op elkaar gaan lijken. Als alle chromosomen al behoorlijk goed zijn zijn bijna alle mutaties een verslechtering. Voorbeeld van een GA waarbij een fitness-landschap kan veranderen. Een raket die afgevuurd wordt om een ander vliegend object te raken en te vernietigen. Die raket heeft een hoofd aandrijving en stuur aandrijvingen. Al die aandrijvingen staan of aan of uit. Je kunt alleen het tijdstip en de tijdsduur bepalen dat elk van die aandrijvingen aan staan. De vraag is nu hoe lang moeten welke aandrijvingen aangezet worden om het doel zo dicht mogelijk te naderen. Met speciale hardware, aan boord of op grond, dat weet ik niet, gebruikt men het GA om de beslissings momenten te bepalen. Het doel vliegt ondertussen verder en kan ook van koers veranderen. Dus hier kan kan een goed chromosoom in de tijd fitness verliezen doordat het doel zich anders gaat gedragen.

36 Spijkerbed-problemen
Voorbeeld: Een sleutel van van een bepaald soort slot heeft voldoende variabelen om het onwaarschijnlijk te maken dat een willekeurige sleutel van die soort het slot open maakt. Een enkel variabele die niet goed is maakt dat de hele sleutel evenzeer faalt als de sleutel waar alle variabelen hartstikke fout zijn. Dus een spijkerbed probleem!

37 Voor en nadelen van GA's. Nadelen van GA's Voordelen van GA's

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 Het eerste punt kan je ook als een eigenschap van het probleem beschouwen. De weg in een doolhof vertaald in een chromosoom heeft niet steeds dezelfde lengte. Vergeleken met de evolutie in de natuur kan een GA geen niet voorziene verbeteringen “bedenken”. Zoals voor de eerste keer ogen laten groeien.

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.

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

41 Andere AI-technieken Het aantal technieken is legio. Enkele ervan:
Kennissystemen Neurale netwerken Genetisch programmeren Fuzzy logic AI agenten

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


Download ppt "Artificiële Intelligentie"

Verwante presentaties


Ads door Google