Algoritmi e giochi combinatori

Размер: px
Начинать показ со страницы:

Download "Algoritmi e giochi combinatori"

Транскрипт

1 Algoritmi e giochi combinatori Panoramica Giochi combinatori Programmi che giocano Albero di un gioco L algoritmo Minimax 1

2 Perché studiare i giochi? Problemi che coinvolgono agenti in competizione tra loro Problemi interessanti e ardui, facili da descrivere Definiscono spesso spazi di ricerca molto ampi Divertente Giochi combinatori Giochi a 2 giocatori I giocatori alternano le proprie mosse Somma zero: un giocatore vince nella misura in cui l altro perde Informazione perfetta: i due giocatori conoscono completamente lo stato del gioco ogni volta che muovono; nessuna informazione è nascosta ad uno dei due giocatori. Deterministici: nessun elemento di casualità Finiti: il numero di scelte possibili ad ogni mossa è finito, e il gioco dura un numero finito di mosse 2

3 Giochi combinatori e non Non è finito Non è deterministico Solitario Informazione incompleta Ok Troppi giocatori Ok Stato dell arte Che livello raggiungono i migliori algoritmi? Scacchi: Deep Blue batte Garry Kasparov nel 1997 Garry Kasparov vs. Deep Junior (Feb 2003): patta! Kasparov vs. X3D Fritz (Nov 2003): patta! Dama: Chinook è stato campione del mondo. Go: programmi appena sufficienti 3

4 Come giocare Un possibile approccio ad un gioco combinatorio: Considera tutte le mosse ammissibili nello stato attuale Calcola la nuova posizione risultante da ogni mossa Valuta ogni posizione risultante e determina la migliore Gioca la mossa corrispondente Attendi la mossa dell avversario e ricomincia Difficoltà: Rappresentazione della scacchiera Generazione di tutte le posizioni risultanti Valutazione di una posizione Funzione di valutazione Una funzione di valutazione viene usata per stimare la bontà di una situazione di gioco Per l assunzione di somma nulla, una singola funzione è sufficiente a valutare la situazione di entrambi i giocatori f(s) > 0: la posizione s è buona per il primo giocatore e cattiva per il secondo f(s) < 0: la posizione s è cattiva per il primo giocatore e buona per il secondo f(s) = 0: la posizione s è neutra 4

5 Esempi di funzioni di valutazione Esempio di funzione di valutazione per il gioco del Tris: f(s) = [# di tris possibili per A] - [# di tris possibili per B] Una funzione di valutazione per gli scacchi: f(s) = w(s)/b(s) dove w(s) = somma del valore dei punti dei pezzi bianchi b(s) = somma del valore dei punti dei pezzi neri Spesso le funzioni di valutazione sono la somma pesata di singole caratteristiche della posizione: f(s) = w 1 *car 1 (s) + w 2 *car 2 (s) w k *car k (s) Esempi di caratteristiche per gli scacchi: numero di pezzi, piazzamento dei pezzi, caselle controllate, ecc. Deep Blue aveva oltre 8000 caratteristiche nella sua funzione di valutazione Albero di un gioco Lo spazio di ricerca di un gioco è rappresentabile da un albero Un nodo rappresenta una posizione di gioco; il giocatore decide quale singola mossa eseguire portando così ad un determinato nodo figlio La funzione di valutazione assegna un valore ad ogni nodo Gli archi rappresentano le mosse ammissibili per un giocatore Se è il turno del primo giocatore, il nodo è etichettato MAX, altrimenti MIN Dato che i giocatori alternano le proprie mosse, su ogni cammino dalla radice ad una foglia le etichette si alternano 5

6 L algoritmo Minimax Crea un nodo radice di tipo MAX con la posizione iniziale Espandi i nodi fino ad una certa profondità nel gioco Applica la funzione di valutazione ai nodi foglia Calcola induttivamente all indietro i valori dei nodi interni fino ad arrivare alla radice: Ai nodi MIN, poni il valore al minimo dei valori associati a ciascun nodo figlio. Ai nodi MAX, poni il valore al massimo dei valori associati a ciascun nodo figlio. L arco (=mossa) scelto a ciascuno nodo è quello il cui figlio ha valore pari al valore del nodo L algoritmo Minimax Valutazione delle posizioni Mossa selezionata da Minimax MAX MIN

7 L albero del gioco del Tris f(s) = +1 se la posizione è vincente per X. f(s) = -1 se la posizione è vincente per O. f(s) = 0 se la posizione è una patta. Pseudocodice per Minimax function MAX-VALUE (state) if TERMINAL(state) then return UTILITY(state) v := - for each s in SUCCESSORS (state) do v := MAX (v, MIN-VALUE (s)) end return v function MIN-VALUE (state) if TERMINAL(state) then return UTILITY(state) v := + for each s in SUCCESSORS (state) do v := MIN (v, MAX-VALUE (s)) end return v 7

8 Potatura alfa-beta Possiamo migliorare l efficienza dell algoritmo minimax con la potatura alfa-beta Idea di base: Se hai un idea che di certo non è buona, non perdere tempo per capire quanto sia cattiva. MAX >=2 MIN =2 MAX <=1? Non abbiamo bisogno di valutare questo nodo. A prescindere dal suo valore, non potrà influenzare il valore della radice. Potatura alfa-beta Visita l albero del gioco in profondità Ad ogni nodo MAX s, alfa(s) = massimo valore trovato finora Ad ogni nodo MIN s, beta(s) = minimo valore trovato finora I valori alfa partono da -infinito e possono solo crescere, mentre i valori beta partono da +infinito e possono solo diminuire. Soglia Alfa: taglia la ricerca su un nodo s di tipo MIN se beta(s) <= alfa(i) per qualche nodo i di tipo MAX che sia antenato di s. Soglia Beta: taglia la ricerca su un nodo s di tipo MAX se alfa(s) >= beta(i) per qualche nodo i di tipo MIN che sia antenato di s. 8

9 Potatura alfa-beta: esempio MAX 3 MIN taglia taglia L algoritmo alfa-beta function MAX-VALUE (state, α, β) // α = MAX attuale; β = MIN attuale if TERMINAL-TEST (state) then return UTILITY(state) v := - for each s in SUCCESSORS (state) do v := MAX (v, MIN-VALUE (s, α, β)) if v >= β then return v α := MAX (α, v) end return v function MIN-VALUE (state, α, β) if TERMINAL-TEST (state) then return UTILITY(state) v := for each s in SUCCESSORS (state) do v := MIN (v, MAX-VALUE (s, α, β)) if v <= α then return v β := MIN (β, v) end return v 9

10 L efficacia di alfa-beta Alfa-beta calcola sempre lo stesso valore di Minimax Caso peggiore: nessuna potatura, esamina O(b d ) nodi dove d è la profondità della ricerca e b il numero massimo di figli di ogni nodo Nel caso migliore, esamina solo O(b d/2 ) nodi In Deep Blue, l uso della potatura alfa-beta ha portato il fattore di branching medio da 35 a 6! 10

I giochi con avversario. I giochi con avversario. Introduzione. Giochi come problemi di ricerca. Il gioco del NIM.

I giochi con avversario. I giochi con avversario. Introduzione. Giochi come problemi di ricerca. Il gioco del NIM. I giochi con avversario I giochi con avversario Maria Simi a.a. 26/27 Regole semplici e formalizzabili eterministici, due giocatori, turni alterni, zero-sum, informazione perfetta (ambiente accessibile)

Подробнее

La strategia MiniMax e le sue varianti

La strategia MiniMax e le sue varianti La strategia MiniMax e le sue varianti Paolo Boldi 29 gennaio 2002 1 Preliminari In questa dispensa studieremo una strategia per l analisi di alcuni giochi deterministici (cioè, giochi di pura abilità

Подробнее

Intelligenza Artificiale. Lezione 6bis. Sommario. Problemi di soddisfacimento di vincoli: CSP. Vincoli CSP RN 3.8, 4.3, 4.5.

Intelligenza Artificiale. Lezione 6bis. Sommario. Problemi di soddisfacimento di vincoli: CSP. Vincoli CSP RN 3.8, 4.3, 4.5. Sommario Intelligenza Artificiale CSP RN 3.8, 4.3, 4.5 Giochi RN 5 Lezione 6bis Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 0 Intelligenza Artificiale Daniele Nardi, 2004 Lezione 6bis 1 Problemi

Подробнее

... Max. Max. ... Min ... Albero di gioco

... Max. Max. ... Min ... Albero di gioco Ricerca con avversari: GIOCHI Ambiente multi-agente che deve tenere conto della presenza di un avversario Teoria dei giochi branca dell economia Giochi formali (più che reali), anche se esiste una competizione

Подробнее

ESERCIZIO MIN-MAX Si consideri il seguente albero di gioco dove i punteggi sono tutti dal punto di vista del primo giocatore.

ESERCIZIO MIN-MAX Si consideri il seguente albero di gioco dove i punteggi sono tutti dal punto di vista del primo giocatore. ESERCIZIO MIN- Si consideri il seguente albero di gioco dove i punteggi sono tutti dal punto di vista del primo giocatore. B C D E F G H I J K L M N O P Q R S T U (6) (8) (5) (0) (-2) (2) (5) (8) (9) (2)

Подробнее

Alfa. Il GO tra gioco, matematica ed economia. Alla ricerca della strategia ottimale

Alfa. Il GO tra gioco, matematica ed economia. Alla ricerca della strategia ottimale Alfa Il GO tra gioco, matematica ed economia Alla ricerca della strategia ottimale (ovvero il famoso collegamento tra GO ed informatica promesso nei poster) Pescara, Ottobre 2008 Invincibile Scopo del

Подробнее

Intelligenza Artificiale. Risoluzione dei Problemi

Intelligenza Artificiale. Risoluzione dei Problemi Intelligenza Artificiale Risoluzione dei Problemi Ricerca con avversari I Giochi I giochi sono stati uno dei primi campi in cui è stata applicata l IA. La presenza di un avversario rende più complicato

Подробнее

INTRODUZIONE ALLA TEORIA DEI GIOCHI

INTRODUZIONE ALLA TEORIA DEI GIOCHI Corso di Identificazione dei Modelli e Controllo Ottimo Prof. Franco Garofalo INTRODUZIONE ALLA TEORIA DEI GIOCHI A cura di Elena Napoletano [email protected] Teoria dei Giochi Disciplina che studia

Подробнее

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Подробнее

Algoritmi di Ricerca

Algoritmi di Ricerca Algoritmi e Strutture Dati Autunno 01 Algoritmi di Ricerca Dip. Informatica ed Appl. Prof. G. Persiano Università di Salerno 1 Ricerca esaustiva 1 2 Backtrack 3 2.1 Backtrack per enumerazione......................................

Подробнее

Intelligenza artificiale

Intelligenza artificiale Intelligenza artificiale Appunti NON UFFICIALI del corso del prof. Francesco Amigoni Politecnico di Milano Marcello Pogliani marcello.pogliani - at - gmail - dot - com A.A. 2012 2013 Questo documento raccoglie

Подробнее

Cercare il percorso minimo Ant Colony Optimization

Cercare il percorso minimo Ant Colony Optimization Cercare il percorso minimo Ant Colony Optimization Author: Luca Albergante 1 Dipartimento di Matematica, Università degli Studi di Milano 4 Aprile 2011 L. Albergante (Univ. of Milan) PSO 4 Aprile 2011

Подробнее

Minimo albero di copertura

Minimo albero di copertura apitolo 0 Minimo albero di copertura efinizione 0.. ato un grafo G = (V, E) non orientato e connesso, un albero di copertura di G è un sottoinsieme T E tale che il sottografo (V, T ) è un albero libero.

Подробнее

Alberi ed Alberi Binari

Alberi ed Alberi Binari Alberi ed Alberi Binari Il tipo di dato Albero Un albero è una struttura di data organizzata gerarchicamente. È costituito da un insieme di nodi collegati tra di loro: ogni nodo contiene dell informazione,

Подробнее

I giochi con avversario

I giochi con avversario I giochi con avversario Alessio Micheli a.a. 2015/2016 Credits: Maria Simi Russell-Norvig I giochi con avversario Cavallo di battaglia storico dell AI, natura astratta Regole semplici e formalizzabili

Подробнее

Algoritmi e Strutture Dati. HeapSort

Algoritmi e Strutture Dati. HeapSort Algoritmi e Strutture Dati HeapSort Selection Sort: intuizioni L algoritmo Selection-Sort scandisce tutti gli elementi dell array a partire dall ultimo elemento fino all inizio e ad ogni iterazione: Viene

Подробнее

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla [email protected] Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi

Подробнее

Note per la Lezione 4 Ugo Vaccaro

Note per la Lezione 4 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che

Подробнее

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore

Подробнее

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione Grammatiche Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione Esempio dei numeri interi Si consideri il linguaggio

Подробнее

Albero di Riscorsione

Albero di Riscorsione Albero di Riscorsione Albero di ricorsione Un albero di ricorsione è un modo di visualizzare cosa accade in un algoritmo divide et impera L etichetta della radice rappresenta il costo non ricorsivo della

Подробнее

Informatica Generale Homework di Recupero 2016

Informatica Generale Homework di Recupero 2016 Informatica Generale Homework di Recupero 016 docente: Ivano Salvo Sapienza Università di Roma Gruppo 1 Esercizio 1.1 Scrivere un programma C che presi in input due interi positivi a ed b (a, b > 0) calcola

Подробнее

Intelligenza Artificiale. Ricerca euristica Algoritmo A*

Intelligenza Artificiale. Ricerca euristica Algoritmo A* Intelligenza Artificiale Ricerca euristica Algoritmo A* Marco Piastra Metodi di ricerca - Ricerca non informata Ricerca nello spazio degli stati Definizione di un grafo come spazio degli stati I nodi rappresentano

Подробнее

REGOLE DI BASE. Quando orientiamo la scacchiera la casa posta nell'angolo a destra di ogni giocatore deve essere di colore chiaro.

REGOLE DI BASE. Quando orientiamo la scacchiera la casa posta nell'angolo a destra di ogni giocatore deve essere di colore chiaro. REGOLE DI BASE La partita a scacchi si disputa tra due giocatori che muovono i loro pezzi, a turno, su una scacchiera. Vince chi riesce a catturare il Re avversario. La scacchiera è una superficie quadrata

Подробнее

Economia Industriale

Economia Industriale Università del Piemonte Orientale Amedeo Avogadro Facoltà di Economia A.A. 2005/2006 Economia Industriale Dott. Massimiliano Piacenza Lezione 2 L impresa come rapporto principale-agente (cenni, Cabral

Подробнее

Grammatiche Parse trees Lezione del 17/10/2012

Grammatiche Parse trees Lezione del 17/10/2012 Fondamenti di Programmazione A.A. 2012-2013 Grammatiche Parse trees Lezione del 17/10/2012 AUTILI MARCO http://www.di.univaq.it/marco.autili/ Riassunto lezione precedente Sintassi vs Semantica Stringhe,

Подробнее

Alberi e alberi binari I Un albero è un caso particolare di grafo

Alberi e alberi binari I Un albero è un caso particolare di grafo Alberi e alberi binari Un albero è un caso particolare di grafo È costituito da un insieme di nodi collegati tra di loro mediante archi Gli archi sono orientati (ogni arco esce da un nodo origine ed entra

Подробнее

Problema del cammino minimo

Problema del cammino minimo Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento

Подробнее

Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo

Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo 1 Cos è l informatica? L informatica è la scienza della rappresentazione e dell elaborazione dell informazione Algoritmi e loro proprietà Proprietà formali degli Algoritmi Efficienza rispetto al tempo

Подробнее

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di

Подробнее

c) 64 caselle, identificate prima da una lettera, poi da un numero.

c) 64 caselle, identificate prima da una lettera, poi da un numero. La Notazione algebrica: caratteristiche e terminologia La scacchiera e a forma di quadrato, ed e composta da: a) 8 colonne, identificate da lettere b) 8 righe, identificate da numeri, e chiamate traverse

Подробнее

2.1) Ogni pietra avversaria catturata vale un punto.

2.1) Ogni pietra avversaria catturata vale un punto. Le regole del go 1)I due giocatori, bianco e nero, giocano una mossa ciascuno, per convenzione inizia nero. Si gioca sulle intersezioni. Le pietre possono essere messe in qualunque posizione libera. Entrambi

Подробнее

Esercitazione gennaio 2015

Esercitazione gennaio 2015 Esercitazione 10 19 gennaio 2015 Termine per la consegna dei lavori: martedì 26 gennaio ore 23.59. Istruzioni I lavori dovranno essere salvati in una cartella che deve contenere tutto e solo ciò che volete

Подробнее

Intelligenza Artificiale Ing. Tiziano Papini

Intelligenza Artificiale Ing. Tiziano Papini Intelligenza Artificiale Ing. Tiziano Papini Email: [email protected] Web: http://www.dii.unisi.it/~papinit Game Playing Intelligenza Artificiale - Game Playing Tiziano Papini - 2011 2 Cosa vedremo

Подробнее

MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI. Anna TORRE

MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI. Anna TORRE MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI Anna TORRE Dipartimento di Matematica, Università di Pavia, Via Ferrata 1, 27100, Pavia, Italy. E-mail: [email protected] GIOCHI

Подробнее

Roberto Messa e Maria Teresa Mearini. Il Gioco degli Scacchi

Roberto Messa e Maria Teresa Mearini. Il Gioco degli Scacchi Roberto Messa e Maria Teresa Mearini Il Gioco degli Scacchi Indice La scacchiera e i pezzi 5 La scacchiera 5 I pezzi 6 Come si muovono i pezzi 8 Il Re 8 La Donna 11 La Torre 13 L Alfiere 13 Il Cavallo

Подробнее

Il metodo dei Piani di Taglio (Cutting Planes Method)

Il metodo dei Piani di Taglio (Cutting Planes Method) Il metodo dei Piani di Taglio (Cutting Planes Method) E un metodo di soluzione dei problemi (IP) di tipo generale. L idea di base: Se la soluzione di (RL) non è intera allora la soluzione ottima intera

Подробнее

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione con i diagrammi di flusso (Flow - chart) Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo

Подробнее

Algoritmo basato su cancellazione di cicli

Algoritmo basato su cancellazione di cicli Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile

Подробнее

Progetto: Dama. 1 - Descrizione. 2 - Regole del gioco. Appello di febbraio 2003

Progetto: Dama. 1 - Descrizione. 2 - Regole del gioco. Appello di febbraio 2003 Appello di febbraio 2003 Progetto: Dama Laurea triennale in Comunicazione Digitale Laboratorio di Informatica Generale 1 - Descrizione Il progetto consiste nell implementare un rudimentale programma di

Подробнее

Breve guida iniziale all'uso degli scacchi

Breve guida iniziale all'uso degli scacchi Breve guida iniziale all'uso degli scacchi Posizione e Notazione L'ultima casella di destra della prima fila ("casa d'angolo") è bianca. Le caselle sono definite in base alla lettera della colonna e al

Подробнее

Progettazione di algoritmi

Progettazione di algoritmi Progettazione di algoritmi Discussione dell'esercizio [labirinto] Nel testo dell'esercizio abbiamo considerato come lunghezza del percorso il numero di bivi ma possiamo stimare meglio la lunghezza reale

Подробнее

ThreeChess. Ovvero, come giocare a scacchi in tre.

ThreeChess. Ovvero, come giocare a scacchi in tre. ThreeChess Ovvero, come giocare a scacchi in tre http://otto.lorenzo.click/?p=823 Riferimenti e note Questo libricino nasce per lo più come un riassunto, una traduzione ed una impaginazione di testo tratto

Подробнее

ThreeChess. Ovvero, come giocare a scacchi in tre

ThreeChess. Ovvero, come giocare a scacchi in tre ThreeChess Ovvero, come giocare a scacchi in tre Gli scacchi sono lo sport delle meningi. In altri sport si esercitano i muscoli, qui si allena il cervello. Nicola Palladino Le regole di base sono le

Подробнее

Algoritmi di Ricerca ad Albero Monte Carlo Applicati all Intelligenza Artificiale nel Gioco della Briscola a Cinque

Algoritmi di Ricerca ad Albero Monte Carlo Applicati all Intelligenza Artificiale nel Gioco della Briscola a Cinque POLITECNICO DI MILANO Corso di Laurea Magistrale in Ingegneria Informatica Facoltà di Ingegneria Industriale e dell Informazione Algoritmi di Ricerca ad Albero Monte Carlo Applicati all Intelligenza Artificiale

Подробнее

2. STORIA E PERSONAGGI

2. STORIA E PERSONAGGI INDICE XIII XVII Introduzione Il gioco più difficile del mondo? 1 1. REGOLE 3 Le regole 3 Scacchiera e pezzi 4 Schieramento iniziale 6 Il gioco 7 Il movimento dei pezzi 14 Arrocco 16 Scacco e scacco matto

Подробнее

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 . Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,

Подробнее

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Подробнее

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire: Sviluppo di programmi Per scrivere un programma C corretto bisogna: E ora, finalmente Si comincia! DD Cap. pp.4974 Analizzare il problema (input, output, casi estremali) 2. Progettare una soluzione (algoritmo)

Подробнее

Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012

Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012 Implementazione del gioco del Bantumi Corso di Intelligenza Artificiale 2012 Nicola Febbrari Università degli Studi di Verona Facoltà MM.FF.NN. [email protected] 22 gennaio 2013 1 Introduzione

Подробнее

Grafi pesati Minimo albero ricoprente

Grafi pesati Minimo albero ricoprente Algoritmi e Strutture Dati Definizioni Grafi pesati Minimo albero ricoprente Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è un albero; T contiene

Подробнее

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve LE STRUTTURE DATI DINAMICHE: GLI ALBERI Cosimo Laneve 1 argomenti 1. definizione di alberi e nozioni relative 2. implementazione degli alberi, creazione, visita 3. algoritmo di visita iterativa e sua implementazione

Подробнее

Ricerca con avversari

Ricerca con avversari Ricerca con avversari Roberto Tagliaferri Dipartimento di Informatica Università di Salerno ( Sa ) 84084 Fisciano [email protected] Indice I giochi Decisioni ottime nei giochi L algoritmo minimax Potatura

Подробнее

Giochi e dilemmi Parte I Giochi ad informazione completa

Giochi e dilemmi Parte I Giochi ad informazione completa Giochi e dilemmi Parte I Giochi ad informazione completa Alberto Abbondandolo Elena Visibelli Pietro Battiston Università di Pisa Stage di orientamento in Matematica 2008 Cosa è un gioco ad informazione

Подробнее

Tecniche Algoritmiche /2 Paradigma selettivo: la tecnica enumerativa e la tecnica di backtracking

Tecniche Algoritmiche /2 Paradigma selettivo: la tecnica enumerativa e la tecnica di backtracking Tecniche Algoritmiche /2 Paradigma selettivo: la tecnica enumerativa e la tecnica di backtracking Algoritmi e Strutture Dati + Lab A.A. 14/15 Informatica Università degli Studi di Bari Aldo Moro Nicola

Подробнее

Sommario. Rappresentazione dei grafi. Ordinamento topologico. Visita in ampiezza Visita in profondità

Sommario. Rappresentazione dei grafi. Ordinamento topologico. Visita in ampiezza Visita in profondità Visite Grafi Sommario Rappresentazione dei grafi Visita in ampiezza Visita in profondità Ordinamento topologico Visita in ampiezza La visita in ampiezza breadth-first-search (BFS) di un grafo dato un vertice

Подробнее

Dati e Algoritmi I (Pietracaprina) Esercizi sugli Alberi

Dati e Algoritmi I (Pietracaprina) Esercizi sugli Alberi Dati e Algoritmi I (Pietracaprina) Esercizi sugli Alberi Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1 Dimostrare che un albero non vuoto con n nodi interni, dove ogni nodo interno ha almeno

Подробнее

MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI. Anna TORRE

MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI. Anna TORRE MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI Anna TORRE Dipartimento di Matematica, Università di Pavia, Via Ferrata 1, 27100, Pavia, Italy. E-mail: [email protected] 1 GIOCHI

Подробнее

Cos è la teoria dei giochi

Cos è la teoria dei giochi Cos è la teoria dei giochi Teoria matematica che intende descrivere la scelta razionale dei giocatori (individui, famiglie, imprese, ) in situazioni di interazione strategica, cioè in situazioni in cui

Подробнее

Progettazione di Algoritmi

Progettazione di Algoritmi Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 0/06/06 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via avrai

Подробнее

La Talpa del Perú. G. Mezzetti 27 novembre 2004

La Talpa del Perú. G. Mezzetti 27 novembre 2004 La Talpa del Perú G. Mezzetti 27 novembre 2004 Quello che viene qui presentato è un gioco non nuovo e abbastanza noto, descritto sia in libri di giochi matematici, sia in libri per ragazzi (se non ricordo

Подробнее

Esempio : i numeri di Fibonacci

Esempio : i numeri di Fibonacci Esempio : i numeri di Fibonacci La successione di Fibonacci F 1, F 2,... F n,... è definita come: F 1 =1 F 2 =1 F n =F n 1 F n 2,n 2 Leonardo Fibonacci (Pisa, 1170 Pisa, 1250) http://it.wikipedia.org/wiki/leonardo_fibonacci

Подробнее

Breve corso per i bambini che apprendono gli scacchi Relazione di fine Corso per Istruttori di Scacchi UISP - FSI Perugia 25 e 26 Giugno 2005

Breve corso per i bambini che apprendono gli scacchi Relazione di fine Corso per Istruttori di Scacchi UISP - FSI Perugia 25 e 26 Giugno 2005 Breve corso per i bambini che apprendono gli scacchi Relazione di fine Corso per Istruttori di Scacchi UISP - FSI Perugia e Giugno 00 Antonio Misericordia [email protected] Luglio 00 Sommario

Подробнее

3.4 Metodo di Branch and Bound

3.4 Metodo di Branch and Bound 3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land

Подробнее