CS 343H: Honors Artificial Intelligencepstone/Courses/343Hfall17/... · 2017. 9. 19. · Varieties...

37
CS 343H: Honors Artificial Intelligence Constraint Satisfaction Problems Prof. Peter Stone The University of Texas at Austin [These slides are based on those of Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley. All CS188 materials are available at http://ai.berkeley.edu.]

Transcript of CS 343H: Honors Artificial Intelligencepstone/Courses/343Hfall17/... · 2017. 9. 19. · Varieties...

  • CS343H:HonorsArtificialIntelligence
ConstraintSatisfactionProblems

    Prof.PeterStone

    TheUniversityofTexasatAustin[TheseslidesarebasedonthoseofDanKleinandPieterAbbeelforCS188IntrotoAIatUCBerkeley.AllCS188materialsareavailableathttp://ai.berkeley.edu.]

  • WhatisSearchFor?

    ▪ Assumptionsabouttheworld:asingleagent,deterministicactions,fullyobservedstate,discretestatespace

    ▪ Planning:sequencesofactions▪ Thepathtothegoalistheimportantthing▪ Pathshavevariouscosts,depths▪ Heuristicsgiveproblem-specificguidance

    ▪ Identification:assignmentstovariables▪ Thegoalitselfisimportant,notthepath▪ Allpathsatthesamedepth(forsomeformulations)▪ CSPsarespecializedforidentificationproblems

  • ConstraintSatisfactionProblems

  • ConstraintSatisfactionProblems

    ▪ Standardsearchproblems:▪ Stateisa“blackbox”:arbitrarydatastructure▪ Goaltestcanbeanyfunctionoverstates▪ Successorfunctioncanalsobeanything

    ▪ Constraintsatisfactionproblems(CSPs):▪ Aspecialsubsetofsearchproblems▪ StateisdefinedbyvariablesXiwithvaluesfroma

    domainD (sometimesDdependsoni)▪ Goaltestisasetofconstraintsspecifyingallowable

    combinationsofvaluesforsubsetsofvariables

    ▪ Allowsusefulgeneral-purposealgorithmswithmorepowerthanstandardsearchalgorithms

  • CSPExamples

  • Example:MapColoring

    ▪ Variables:

    ▪ Domains:

    ▪ Constraints:adjacentregionsmusthavedifferentcolors

    ▪ Solutionsareassignmentssatisfyingallconstraints,e.g.:

    Implicit:

    Explicit:

  • Example:N-Queens

    ▪ Formulation1:▪ Variables:▪ Domains:▪ Constraints

  • Example:N-Queens

    ▪ Formulation2:▪ Variables:

    ▪ Domains:

    ▪ Constraints:Implicit:

    Explicit:

  • ConstraintGraphs

  • ConstraintGraphs

    ▪ BinaryCSP:eachconstraintrelates(atmost)twovariables

    ▪ Binaryconstraintgraph:nodesarevariables,arcsshowconstraints

    ▪ General-purposeCSPalgorithmsusethegraphstructuretospeedupsearch.E.g.,Tasmaniaisanindependentsubproblem!

  • Example:Cryptarithmetic

    ▪ Variables:

    ▪ Domains:

    ▪ Constraints:

  • Example:Sudoku

    ▪ Variables:▪ Each(open)square

    ▪ Domains:▪ {1,2,…,9}

    ▪ Constraints:

    9-wayalldiffforeachrow

    9-wayalldiffforeachcolumn

    9-wayalldiffforeachregion

    (orcanhaveabunchofpairwiseinequalityconstraints)

  • VarietiesofCSPs

    ▪ DiscreteVariables▪ Finitedomains

    ▪ SizedmeansO(dn)completeassignments▪ E.g.,BooleanCSPs,includingBooleansatisfiability(NP-complete)

    ▪ Infinitedomains(integers,strings,etc.)▪ E.g.,jobscheduling,variablesarestart/endtimesforeachjob▪ Linearconstraintssolvable,nonlinearundecidable

    ▪ Continuousvariables▪ E.g.,start/endtimesforHubbleTelescopeobservations▪ LinearconstraintssolvableinpolynomialtimebyLPmethods

  • VarietiesofConstraints

    ▪ VarietiesofConstraints▪ Unaryconstraintsinvolveasinglevariable(equivalenttoreducing

    domains),e.g.:

    ▪ Binaryconstraintsinvolvepairsofvariables,e.g.:

    ▪ Higher-orderconstraintsinvolve3ormorevariables: e.g.,cryptarithmeticcolumnconstraints

    ▪ Preferences(softconstraints):▪ E.g.,redisbetterthangreen▪ Oftenrepresentablebyacostforeachvariableassignment▪ Givesconstrainedoptimizationproblems▪ (We’llignoretheseuntilwegettoBayes’nets)

  • Real-WorldCSPs

    ▪ Assignmentproblems:e.g.,whoteacheswhatclass▪ Timetablingproblems:e.g.,whichclassisofferedwhenandwhere?▪ Hardwareconfiguration▪ Transportationscheduling▪ Factoryscheduling▪ Circuitlayout▪ Faultdiagnosis▪ …lotsmore!

    ▪ Manyreal-worldproblemsinvolvereal-valuedvariables…

  • SolvingCSPs

  • StandardSearchFormulation

    ▪ StandardsearchformulationofCSPs

    ▪ Statesdefinedbythevaluesassignedsofar(partialassignments)▪ Initialstate:theemptyassignment,{}▪ Successorfunction:assignavaluetoanunassignedvariable

    ▪ Goaltest:thecurrentassignmentiscompleteandsatisfiesallconstraints

    ▪ We’llstartwiththestraightforward,naïveapproach,thenimproveit

  • SearchMethods

    ▪ WhatwouldBFSdo?

    ▪ WhatwouldDFSdo?

  • Demo:DFSCSP

  • SearchMethods

    ▪ WhatwouldBFSdo?

    ▪ WhatwouldDFSdo?

    ▪ Whatproblemsdoesnaïvesearchhave?

  • BacktrackingSearch

  • BacktrackingSearch

    ▪ BacktrackingsearchisthebasicuninformedalgorithmforsolvingCSPs

    ▪ Idea1:Onevariableatatime▪ Variableassignmentsarecommutative,sofixordering▪ I.e.,[WA=redthenNT=green]sameas[NT=greenthenWA=red]▪ Onlyneedtoconsiderassignmentstoasinglevariableateachstep

    ▪ Idea2:Checkconstraintsasyougo▪ I.e.consideronlyvalueswhichdonotconflictpreviousassignments▪ Mighthavetodosomecomputationtochecktheconstraints▪ “Incrementalgoaltest”

    ▪ Depth-firstsearchwiththesetwoimprovements iscalledbacktrackingsearch(notthebestname)

    ▪ Cansolven-queensforn≈25

  • BacktrackingExample

  • BacktrackingSearch

    ▪ Backtracking=DFS+variable-ordering+fail-on-violation

  • Demo:Backtracking

  • ImprovingBacktracking

    ▪ General-purposeideasgivehugegainsinspeed

    ▪ Ordering:▪ Whichvariableshouldbeassignednext?▪ Inwhatordershoulditsvaluesbetried?

    ▪ Filtering:Canwedetectinevitablefailureearly?

    ▪ Structure:Canweexploittheproblemstructure?

  • ▪ Filtering:Keeptrackofdomainsforunassignedvariablesandcrossoffbadoptions▪ Forwardchecking:Crossoffvaluesthatviolateaconstraintwhenaddedtotheexisting

    assignment

    Filtering:ForwardChecking

    WASANT Q

    NSW

    V

  • Demo:BacktrackingwithForwardChecking

  • Filtering:ConstraintPropagation

    ▪ Forwardcheckingpropagatesinformationfromassignedtounassignedvariables,butdoesn'tprovideearlydetectionforallfailures:

    ▪ NTandSAcannotbothbeblue!▪ Whydidn’twedetectthisyet?▪ Constraintpropagation:reasonfromconstrainttoconstraint

    WA SA

    NT Q

    NSW

    V

  • ConsistencyofASingleArc

    ▪ AnarcX→ Yisconsistentiffforeveryxinthetailthereissomeyintheheadwhichcouldbeassignedwithoutviolatingaconstraint

    ▪ Forwardchecking:Enforcingconsistencyofarcspointingtoeachnewassignment

    Deletefromthetail!

    WA SA

    NT Q

    NSW

    V

  • ArcConsistencyofanEntireCSP

    ▪ Asimpleformofpropagationmakessureallarcsareconsistent:

    ▪ Important:IfXlosesavalue,neighborsofXneedtoberechecked!▪ Arcconsistencydetectsfailureearlierthanforwardchecking▪ Canberunasapreprocessororaftereachassignment▪ What’sthedownsideofenforcingarcconsistency?

    Remember:Deletefromthetail!

    WA SA

    NT Q

    NSW

    V

  • EnforcingArcConsistencyinaCSP

    ▪ Runtime:O(n2d3),canbereducedtoO(n2d2)▪ …butdetectingallpossiblefutureproblemsisNP-hard–why?

  • Demo:Arcconsistency

  • LimitationsofArcConsistency

    ▪ Afterenforcingarcconsistency:▪ Canhaveonesolutionleft▪ Canhavemultiplesolutionsleft▪ Canhavenosolutionsleft(andnotknowit)

    ▪ Arcconsistencystillrunsinsideabacktrackingsearch! Whatwent

    wronghere?

  • Ordering

  • Ordering:MinimumRemainingValues

    ▪ VariableOrdering:Minimumremainingvalues(MRV):▪ Choosethevariablewiththefewestlegalleftvaluesinitsdomain

    ▪ Whyminratherthanmax?▪ Alsocalled“mostconstrainedvariable”▪ “Fail-fast”ordering

  • Ordering:LeastConstrainingValue

    ▪ ValueOrdering:LeastConstrainingValue▪ Givenachoiceofvariable,choosetheleastconstrainingvalue

    ▪ I.e.,theonethatrulesoutthefewestvaluesintheremainingvariables

    ▪ Notethatitmaytakesomecomputationtodeterminethis!(E.g.,rerunningfiltering)

    ▪ Whyleastratherthanmost?

    ▪ Combiningtheseorderingideasmakes 1000queensfeasible