Você está na página 1de 12

Caso de Anlisis de Algoritmos

Tema: Teora de Algoritmos


Curso: LP I Prof. Ulises ROMAN C.
La teora de algoritmos (TA) om!rende :anlisis, diseo e implementacin de algoritmos"
las mismas #ue se $asan en la representacin y descubrimiento de algoritmos" $asados en
estructuras iterativas y recursivas. %l desarrollo de un !rograma de om!utadoras !uede
di&idirse en dos eta!as: Diseo de algoritmos que resuelve el problemas y conversin del
algoritmo al programa. Algunas definiiones de algoritmo'A(: )es un on*unto de !asos"
!roedimientos o aiones #ue conducen a la solucin de un problema" )Una seuenias de
!asos e*euta$les no am$iguos" finita de seguir de$e terminar en alg+n momento," )%s un
on*unto de instruiones !ara e*eutar una tarea, Los algoritmos e*eutados en una
Com!utadora se le onoen omo algoritmos om!utaionales.
Las iencias de la computacin() es la disi!lina #ue $usa esta$leer una $ase ientfia
!ara el desarrollo de : -ise.o de om!utadoras" !rogramai/n de om!utadoras" !roeso de
informai/n" ela$orai/n de algoritmos !ara resol&er !ro$lemas 0 el !roeso algortmio en
si. Una de las !rini!a!ales la$ores del am!o de 'CC( es el desarrollo de algoritmos
(Anlisis!Trans"ormacin). Podemos menionar algunos e*em!los : '1( Algoritmos !ara
onstruir aero!lanos a esala" '2( Algoritmos !ara o!erar la&adoras de ro!a" '3( Algoritmos
!ara toar musiales en forma de !artulas" '4(Algoritmos !ara ma#uinas de *uegos 0 '5(
Algoritmos eulidianos !ara o$tener MC-.
#roblema$
% $ Con*untos de !osi$les entradas
&$ Con*untos de salidas !osi$les
'(%,&)$ Relai/n entre entradas 0 salidas deseadas
O!eraiones &alidas
&olucin$
A : Algoritmo orreto
Pro$lema
Pro$lema
Algoritmo
Algoritmo
Programa
Programa
e
s
A
Para #ue un algoritmo !ueda omuniarse on una ma#uina de$emos re!resentarlo :
&inta(is're!resentai/n( 0 &emntica'one!to #ue re!resenta(. %*em!lo: '1( %l aire es tan
solo un on*unto de 4 letras '6inttia(" '2( %s una sustania gaseosa #ue rodea el !laneta
'6emntia(. Un o$*eti&o de la re!resentai/n de 'A( es asegurar #ue la sinta7is refle*e on
!reisi/n la semntia deseada. #rimitivas 'es una estrutura semntia $ien definida unto
on una sinta7is no am$igua !ara re!resentarlo(. %structuras iterativas'Una serie de
instruiones se re!iten de manera lia %*m: 8+s#ueda seuenia 0 ordenai/n(.
%structuras recursivas'son una alternati&a la !aradigma lio en estruturas
re!etiti&as(. %"iciencia'$usar la efiienia de los 'A( (y orreccion'e&aluar la orrei/n
de la solui/n 0 su !otenial omo 9erramienta !ara resol&er !ro$lemas(.
#reguntas$
Teniendo las onsideraiones anteriores 0 de las leturas de Teora de Algoritmos !lantear
las !osi$les soluiones a los siguientes enuniados:
)* %s un algoritmos (si) o (no) +usti"ique su respuesta en ambos casos '3Ptos(
Paso 1: :aga una lista de enteros !ositi&os
Paso 2: -is!onga esta lista en orden desendente
Paso 3: %7traiga el !rimer entero de la lista resultante
Paso 4: Pare
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
,* Un &ia*ero on una adena de oro de < esla$ones de$e #uedarse en un 9otel de Lima
aislado durante < no9es. La renta !or no9e onsiste en un esla$/n de la adena* - ual
es el numero mnimo de eslabones que debe cortar el via+ero para pagar al .otel un
eslabn sin pagar cada maana su alo+amiento por adelantado/ '5 Ptos(
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0* Determinar verdadero(1) o 2also(2) las siguientes e(presiones$ '2 Ptos(
a. =igilania de los signos &itales de un !aiente es un !roeso #ue de$e seguir
reali>ando su tarea indefinidamente. ' (
$. 6istema O!erati&o de un om!utador de$e atender las neesidades de los
usuarios de la ma#uina en forma lia. ' (
3* #roponga un algoritmo o describa las variables y los controles de "lu+o que
intervendran para el problema 4'emoviendo 5ontculo a continuacin se describe$
'3 Pts(
6iem!re !ensando en la e7!erienia de !asteo de las &aas" el ?ran*ero @uan '?@( 9a
enontrado #ue el de$e remo&er N montulos in&isi$les del !asti>al !ues !iensa #ue 9a0
terroristas de$a*o de ellos. Los montulos estn on&enientemente arreglados en una
lnea reta 0 numerados 1...N on ada montulo teniendo alguna altura :i '1 AB :i AB
1C"CCC(. ?@ usara los e7!losi&os tradiionales !ara destruir los montulos !ero a el le
gusta la emoi/n 0 !refiere usar e7!losi&os #ue estn formulados !ara destruir
montulos ad0aentes en tanto estos montulos ad0aentes sean estritamente ms
ortos #ue el montulo ms erano #ue est siendo destruido. La e7!losi/n !uede
ontinuar !asando al montulo ms erano ad0aente al montulo ad0aente siguiente si
es a+n ms orto #ue el montulo ms erano reiDn destruido. Tan !ronto omo un
montulo enontrado !or la e7!losi/n no es ms orto" de*an de destruirse los montulos
9aia ese lado" el otro lado sigue las mismas reglas on uales#uiera montulos #ue
a!are>an a9.
1 2 3 4 5 6 7
Por e*em!lo onsidera una lnea de nue&e montulos on estas alturas: 1 2 5 4 3 3 E E 2
6i ?@ &uela el terer montulo 'on altura 5(" entones el segundo montulo tam$iDn
ser destruido 'altura 2( 0 el !rimer montulo 'altura 1( tam$iDn ser destruido. -e
manera similar" el uarto montulo 'altura 4( 0 el #uinto montulo 'altura 3( sern
destruidos dado #ue ellos son suesi&amente ms ortos" de*ando la lnea omo esto:
F F F F F 3 E E 2
-os e7!losiones ms 'en los montulos < 0 G( destruirn el resto.
#roblema$
-ados N" 0 N alturas a0ude a ?@ a determinar #ue montulos de$e e7!lotar !ara #ue use
el n+mero mnimo de argas de e7!losi&os !ara destruir los montulos.
onsideraciones$
N siem!re es 1 AB N AB 5C"CCC.
%l IH de ?@ es de 1C 'su!o !oner $ien su nom$re(.
Las alturas :i '1 AB :i AB 1C"CCC.
?@ 9a !resentado se&eros asos de es#ui>ofrenia.
%ntrada$
F Lnea 1: Un solo entero" N
F Lneas 2INJ1: La lnea iJ1 ontiene :;i
&alida$
F Lneas 1..K: Cada lnea ontiene un entero el ual es el ndie de un montulo a ser
&olado. Los ndies de$en ser mostrados en orden asendente.
%NTRA-A 6ALI-A
L
1
2
5
4
3
3
E
E
2
3
<
G
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6* Disee un algoritmo que determine el monto a pagar por la compra de cierta
cantidad de unidades de un producto y complete el nombre que le corresponde al
"inal de cada lnea de instruccin con las etapas del algoritmo '3Ptos(
Accion75onto7pagar
2in7Accion
8* Determinar verdadero(1) o 2also(2) Todo pseudo cdigo debe posibilitar la
descripcin de$ ' ( '2 Ptos(
a. Instruiones de %M6
$. Instruiones de Proeso
. 6entenias de ontrol de flu*o de e*eui/n
d. Aiones om!uestas
9* #roponga un algoritmo o describa las variables y los controles de "lu+o que
intervendran para el problema 4ca+as a continuacin se describe$ '3 Ptos(
:istoria
%l enargado de )%m!resa !rodutora de art/n, deidi/ lan>ar una lnea nue&a de a*as.
La lnea onsiste en una olei/n de a*as +$ias de diferentes tama.os. Como
!romoi/n de lan>amiento se 9iieron !a#uetes de a*as de tal forma #ue al a$rir
una !uedas enontrar otra 0 dentro de esta una ms 0 as suesi&amente 9asta a$rir
la a*a ms !e#ue.a inluida en el !a#uete. -e im!ro&iso llega un liente a la f$ria
!idiendo un !a#uete de lan>amientoN desafortunadamente todos los !a#uetes 0a
fueron en&iados a las tiendas. -ado #ue t+ eres el res!onsa$le de armarlos deides
formar uno on el ma0or n+mero !osi$le de a*as e7istentes en la f$ria.
#roblema
:aer un algoritmo #ue lea el tama.o de ada una de las a*as #ue 9a0 en la f$ria 0
esri$a el ma0or n+mero de a*as #ue !uede tener el !a#uete. -entro de una a*a de
tama.o T !uedes meter otra de tama.o t s/lo s t A T.
%ntrada
La !rimer lnea de la entrada ontendr un s/lo n+mero entero n '1 O n O 1CC(. -i9o
n+mero re!resenta el n+mero de asos de !rue$a !ara este !ro$lema. Cada una de
las siguientes n lneas desri$ir un aso de !rue$a. %n ada aso de$es leer !rimero
un entero P '1 O P O 1CCC( #ue india uantas a*as 9a0 en la f$ria 0 des!uDs leer el
tama.o de ada una de las a*as. %l tama.o de ada a*a ser un entero entre 1 0
1CCC.
%+emplo$
4
11 1 2 3 4 5 E < G L 1C 11
1 1C
4 2 2 2 2
5 1 2 2 3 1C
&alida
Para ada aso de !rue$a de$es esri$ir una lnea de te7to on el mensa*e )%l !a#uete
ma0or tiene N a*as.," siendo N el n+mero de a*as en el !a#uete ms grande.
%*em!lo 'estas salidas orres!onden al e*em!lo #ue se da en %ntrada(:
%l !a#uete ma0or tiene 11 a*as.
%l !a#uete ma0or tiene 1 a*as.
%l !a#uete ma0or tiene 1 a*as.
%l !a#uete ma0or tiene 4 a*as.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;* :acer la <nvestigacin de cada uno de los temas y determinar en que
consiste y poner un e+emplo* =os temas aba+o mencionados son para el
e(amen de A5
**************************************************/
Nivel Bsico : 1/2 MES
/**************************************************/
FUNDAMENTOS
1. Introduccin
2. El rol de los algoritmos en computacin
. !reparativos
". Notacion #sintotica
$. %ecurrencias
&. #nlisis pro'a'il(stico ) algoritmos aleatori*ados
+%,EN#-I.N / ES0#,1S0I-#S ,E +%,EN
1. Introduccin
2. +rdenacin por mont(culos
. +rdenacin rpida
". +rdenamiento en tiempo lineal
$. Medianas ) estad(sticas de orden
/**************************************************/
Nivel Intermedio: 1 MESES
/**************************************************/
ES0%2-02%#S ,E ,#0+S
1. Introduccin
2. Estructuras de datos elementales con 3i'reria Standar de !lantillas
. 0a'las 4as5
". #r'oles de '6s7ueda 'inaria
&. Estructuras de datos aumentadas
8. %econocimiento de patrones
9. Su::i; tree
<. tries
1=. su:i;; tries
11. >M!
12. segment trees
1. Interval 0rees
1". Binar) Inde;ed 0rees
1$. #plicacion %ange Minimum ?uer) %M?
%E-+%%I,+ EN #%B+3ES
1. Bus7ueda en pro:undidad
2. Bus7ueda en #nc5ura

,ISE@+ #A#NB#,+ / 0C-NI-#S ,E #ND3ISIS
1. Introduccin
2. BacEtracEing
2. #lgoritmos golosos
. ,ivide ) venceras
". !rogramacin dinmica

/**************************************************/
Nivel #van*ado: 1 MESES
/**************************************************/
ES0%2-02%#S ,E ,#0+S #A#NB#,#S
1. Introduccin
2. #r'oles tipo B
. Mont(culos 'inomiales
". Mont(culos de Fi'onacci
$. Estructuras de datos para conGuntos dispareGos
#3H+%I0M+S !#%# H%#F+S
1. Introduccin
2. #lgoritmos elementales para gra:os
. #pertura m(nima de ar'oles IMinimum Spanning 0reesJ
". Menor camino desde una sola vertiente KKLdiGEstra
$. Menor camino para todo par KKL :lo)d Mars5allN 'ellman :ord
&. FluGo m;imo KKL :ord :ulEersonN Edmond >arp

/**************************************************/
Nivel -omplementario:
/**************************************************/
0.!I-+S SE3E-0+S
1. Heometria computacional
2. +ptimi*acion ,iGEstra con 4euristicas
. #lgoritmos matematicos.
". #lgunos temas del tutorial: 5ttp://MMM.topcoder.com/tcOmodulePStaticQd1PtutorialsQd2PalgRinde;
como :
Minimum Cost Flow
Algorithm Games
Bitwise
Bitwise con Dynamic Programming
L. Disear el algoritmo para los siguientes problemas$ Referenia el Li$ro de
Analisis de Algotimos dado en urso
a. EL PROBLEMA DEL CAMBIO
Suponiendo que el sistema monetario de un pas est formado por monedas de valores v1,v2,...,vn, el
problema del cambio de dinero consiste en descomponer cualquier cantidad dada M en monedas de ese pas
utiliando el menor n!mero posible de monedas.
"n primer lu#ar, es fcil implementar un al#oritmo vido para resolver este problema, que es el que si#ue
el proceso que usualmente utiliamos en nuestra vida diaria. Sin embar#o, tal al#oritmo va a depender del
sistema monetario utiliado $ por ello vamos a plantearnos dos situaciones para las cuales deseamos
conocer si el al#oritmo vido encuentra siempre la soluci%n %ptima&
a' Suponiendo que cada moneda del sistema monetario del pas vale al menos el doble que la moneda de
valor inferior, que e(iste una moneda de valor unitario, $ que disponemos de un n!mero ilimitado de
monedas de cada valor.
b' Suponiendo que el sistema monetario est compuesto por monedas de valores 1, p, p2, p3,..., pn, donde
p ) 1 $ n ) *, $ que tambi+n disponemos de un n!mero ilimitado de monedas de cada valor.
b. EL RECORRIDOS DEL CABALLO DE AJEDREZ
,ado un tablero de a-edre $ una casilla inicial, queremos decidir si es posible que un caballo recorra todos
$ cada uno de los escaques sin duplicar nin#uno. .o es necesario en este problema que el caballo vuelva al
escaque de partida. /n posible al#oritmo vido decide, en cada iteraci%n, colocar el caballo en la casilla
desde la cual domina el menor n!mero posible de casillas a!n no visitadas.
a' 0mplementar dic1o al#oritmo a partir de un tama2o de tablero n(n $ una casilla inicial 3x*,y*'.
b' 4uscar, utiliando el al#oritmo realiado en el apartado anterior, todas las casillas iniciales para los que
el al#oritmo encuentra soluci%n.
c' 4asndose en los resultados del apartado anterior, encontrar el patr%n #eneral de las soluciones del
recorrido del caballo.
c. EL VIAJANTE DE COMERCIO
Se conocen las distancias entre un cierto n!mero de ciudades. /n via-ante debe, a partir de una de ellas,
visitar cada ciudad e(actamente una ve $ re#resar al punto de partida 1abiendo recorrido en total la
menor distancia posible.
"ste problema tambi+n puede ser enunciado ms formalmente como si#ue& dado un #rafo g cone(o $
ponderado $ dado uno de sus v+rtices v*, encontrar el ciclo 5amiltoniano de coste mnimo que
comiena $ termina en v*. 6ara a intentar solucionarlo mediante un al#oritmo vido, nos planteamos
las si#uientes estrate#ias&
a' Sea 3C,v' el camino construido 1asta el momento que comiena en v* $ termina en v. 0nicialmente C
es vaco $ v 7 v*. Si 6 contiene todos los v+rtices de g, el al#oritmo inclu$e el arco 3v,v*' $ termina. Si
no, inclu$e el arco 3v,w' de lon#itud mnima entre todos los arcos desde v a los v+rtices w que no estn
en el camino C.
b' 8tro posible al#oritmo vido esco#era en cada iteraci%n el arco ms corto a!n no considerado que
cumpliera las dos condiciones si#uientes& 3i' no formar un ciclo con los arcos $a seleccionados, e(cepto
en la !ltima iteraci%n, que es donde completa el via-e9 $ 3ii' no es el tercer arco que incide en un mismo
v+rtice de entre los $a esco#idos.
d. LA ASIGNACIN DE TAREAS
Supon#amos que disponemos de n traba-adores $ n tareas. Sea bij ) * el coste de asi#narle el traba-o j
al traba-ador i. /na asi#naci%n de tareas puede ser e(presada como una asi#naci%n de los valores * % 1
a las variables xij, donde xij 7 * si#nifica que al traba-ador i no le 1an asi#nado la tarea j, $ xij 7 1
indica que s. /na asi#naci%n vlida es aquella en la que a cada traba-ador s%lo le corresponde una tarea
$ cada tarea est asi#nada a un traba-ador. ,ada una asi#naci%n vlida, definimos el coste de dic1a
asi#naci%n como&
.
,iremos que una asi#naci%n es %ptima si es de mnimo coste. 6ara a dise2ar un al#oritmo vido para
resolver este problema podemos pensar en dos estrate#ias distintas& asi#nar cada traba-ador la me-or
tarea posible, o bien asi#nar cada tarea al me-or traba-ador disponible. Sin embar#o, nin#una de las dos
estrate#ias tiene por qu+ encontrar siempre soluciones %ptimas. :"s al#una me-or que la otra;
e. LOS FICHEROS Y EL DISQUETE
Supon#amos que disponemos de n fic1eros f1, f2, ..., fn con tama2os l1, l2, ..., ln $ un disquete de
capacidad d < l1 = l2 =... = ln.
a' >ueremos ma(imiar el n!mero de fic1eros que 1a de contener el disquete, $ para eso ordenamos los
fic1eros por orden creciente de su tama2o $ vamos metiendo fic1eros en el disco 1asta que no podamos
meter ms. ,eterminar si este al#oritmo vido encuentra soluci%n %ptima en todos los casos.
b' >ueremos llenar el disquete tanto como podamos, $ para eso ordenamos los fic1eros por orden
decreciente de su tama2o, $ vamos metiendo fic1eros en el disco 1asta que no podamos meter ms.
,eterminar si este al#oritmo vido encuentra soluci%n %ptima en todos los casos.
. EL CAMIONERO CON PRISA
/n camionero conduce desde 4ilbao a ?la#a si#uiendo una ruta dada $ llevando un cami%n que le
permite, con el tanque de #asolina lleno, recorrer n @il%metros sin parar. "l camionero dispone de un
mapa de carreteras que le indica las distancias entre las #asolineras que 1a$ en su ruta. 6omo va con
prisa, el camionero desea pararse a repostar el menor n!mero de veces posible.
,eseamos dise2ar un al#oritmo vido para determinar en qu+ #asolineras tiene que parar $ demostrar
que el al#oritmo encuentra siempre la soluci%n %ptima
!. EL FONTANERO DILIGENTE
/n fontanero necesita 1acer n reparaciones ur#entes, $ sabe de antemano el tiempo que le va a llevar
cada una de ellas& en la tarea iA+sima tardar ti minutos. 6omo en su empresa le pa#an dependiendo de
la satisfacci%n del cliente, necesita decidir el orden en el que atender los avisos para minimiar el
tiempo medio de espera de los clientes.
"n otras palabras, si llamamos Ei a lo que espera el cliente iA+simo 1asta ver reparada su avera por
completo, necesita minimiar la e(presi%n&
.
,eseamos dise2ar un al#oritmo vido que resuelva el problema $ probar su valide, bien mediante
demostraci%n formal o con un contrae-emplo que la refute.
". RECORRIDOS DEL REY DE AJEDREZ
,ado un tablero de a-edre de tama2o n(n, un re$ es colocado en una casilla arbitraria de coordenadas
3x,y'. "l problema consiste en determinar los n2B1 movimientos de la fi#ura de forma que todas las
casillas del tablero sean visitadas una sola ve, si tal secuencia de movimientos e(iste.
#. EL CONTINENTAL
"n el solitario de mesa llamado Continental, treinta $ dos pieas se colocan en un tablero de treinta $
tres casillas tal $ como indica la si#uiente fi#ura, quedando vaca !nicamente la casilla central&
/na piea s%lo puede moverse saltando sobre una de sus vecinas $ ca$endo en una posici%n vaca, al
i#ual que en el -ue#o de las damas, aunque aqu no estn permitidos los saltos en dia#onal. Ca piea
sobre la que se salta se retira del tablero.
"l problema consiste en dise2ar un al#oritmo que encuentre una serie de movimientos 3saltos' que,
partiendo de la confi#uraci%n inicial e(puesta en la fi#ura, lle#ue a una situaci%n en donde s%lo quede
una piea en el tablero, que 1a de estar en la posici%n central.

Você também pode gostar