Artificiële Intelligentie

Slides:



Advertisements
Verwante presentaties
De gemiddelde leerling
Advertisements

1 Op Stap naar het SO. 2 • Waar gaat het om ? • Eerst even kijken naar het keuzewerkboek • Wat moest er zo dringend veranderen ? • Studiekeuzetaken !
BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
De elektronische verzamelaanvraag Ruben Fontaine Markt- en Inkomensbeheer – dienst Aangiftes.
1 19 jan Urk. 2 de context van 2Korinthe 3  Paulus reageert op beschuldigingen dat hij onbevoegd zou zijn (3:1,2);  Paulus plaatst zijn Evangelie.
Paulus' eerste brief aan Korinthe (20) 23 januari 2013 Bodegraven.
28 juni 2009 Paëllanamiddag 1 Paëllanamiddag 28 juni 2009 Voorbereiding vrijdagavond (Loopt automatisch - 7 seconden)
Werkwoorden d t dt.
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
WAAROM? Onderzoek naar het meest geschikte traject voor de verlenging tot in Sint-Niklaas van het bestaande fietspad naast de Stekense Vaart en de Molenbeek.
Sociaal emotionele ontwikkeling en groepsgedrag
ZIEHIER 36 REDENEN WAAROM BIER
Personalisatie van de Archis website Naam: Sing Hsu Student nr: Datum: 24 Juni 2004.
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
7 april 2013 Zoetermeer 1. 1Korinthe Maar, zal iemand zeggen, hoe worden de doden opgewekt? En met wat voor lichaam komen zij? 2.
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
STAPPENPLAN GRAMMATICUS.
Ronde (Sport & Spel) Quiz Night !
Keuzeondersteunend model voor inbouwpakketten bij herbestemmingsprojecten Eindcolloquium Wiebrand Bunt.
Start.
Advanced Algorithms Groep: EII7AAb
BZ voor de Klas 3 juni 2010.
Passie - Verrijzenis Arcabas
Overzicht presentatie
Internationale hogeschool Breda Wiskunde bij het ontwerpen en evalueren van verkeerslichtenregelingen Wachten voor een verkeerslicht duurt altijd te lang…..
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
Een workshop over katten, muizen en nadenken in de Informatica
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
Genetische algoritmen3SAT en GA1 Genetische algoritmen.
IJspakketten Annette Ficker Tim Oosterwijk
Onderzoeksmethode Oftewel: met welke specifieke onderzoeksmethode kan ik het best mijn onderzoeksvraag beantwoorden.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
TUDelft Knowledge Based Systems Group Zuidplantsoen BZ Delft, The Netherlands Caspar Treijtel Multi-agent Stratego.
Bewegen Hoofdstuk 3 Beweging Ing. J. van de Worp.
1 7 nov Rijnsburg 7 nov Rijnsburg. 2 Hebreeën 7 15 En nog veel duidelijker wordt het, als naar het evenbeeld van Melchisedek een andere priester.
13 maart 2014 Bodegraven 1. 1Korinthe Want gelijk het lichaam één is en vele leden heeft, en al de leden van het lichaam, hoe vele ook, een lichaam.
Pasen & Pinksteren op één dag!
1 19 dec Rijnsburg 19 dec Rijnsburg. 2 Hebreeën 8 1 De hoofdzaak VAN ONS ONDERWERP is, dat wij zulk een hogepriester hebben, die gezeten is.
Inkomen les 20 Begrippen & opgave 100 t/m Begrippen Collectieve lasten Geheel van belastingen en sociale premies.
Inkomen les 7 27 t/m 37.
User management voor ondernemingen en organisaties
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
ribwis1 Toegepaste wiskunde Lesweek 01 – Deel B
Landelijke dag RMC- coördinatoren Aanpak uitrol Loket VSV 4 juni 2008.
Statistiekbegrippen en hoe je ze berekent!!

ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
Fractale en Wavelet Beeldcompressie
De financiële functie: Integrale bedrijfsanalyse©
Oefeningen Workshop RIE Gemeenten
1 Amsterdam, april 2005 Drs. Frits Spangenberg Rotary Extern imago.
13 juni 2013 Bodegraven vanaf hoofdstuk 7:1 1. 1Korinthe 7 1 Wat nu de punten betreft, waarover gij mij geschreven hebt, het is goed voor een mens niet.
Middeleeuwen De antwoorden in deze powerpoint komen van (naam en klas invullen a.u.b.)
Les 3: Verkeer TOETS.
Centrummaten en Boxplot
1 4 september 2014 Rijnsburg 4 september 2014 Rijnsburg.
JOUW WERELD MIJN WERELD
Toets 1 Examen Reinder Reen.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
12 sept 2013 Bodegraven 1. 2  vooraf lezen: 1Kor.7:12 t/m 24  indeling 1Korinthe 7  1 t/m 9: over het huwelijk  10 t/m 16: over echtscheiding  16.
13 november 2014 Bodegraven 1. 2 de vorige keer: 1Kor.15:29-34 indien er geen doden opgewekt worden...  vs 29: waarom dopen?  vs.30-32: waarom doodsgevaren.
Transcript van de presentatie:

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

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

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.

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

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.

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.

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)

Chromosomen

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'.

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.

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?

Wat moet er gebeuren

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

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.

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.

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

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.

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.

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.

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” Kind 2 : “0 2 4 6 1 3 5 7 8 9”

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.

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” 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.

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

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.

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

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

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

Ontwerp

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. http://natcomp.liacs.nl/material/LaymanArticle.pdf. Dat zijn alles bij elkaar zoveel mogelijkheden dat die onmogelijk allemaal door een computer uit te rekenen zijn.

Zoeken: Doolhof

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.

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

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.

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.

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!

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

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.

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.

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

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

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