Вы находитесь на странице: 1из 56

Estocasticidad de un atractor catico

determinista
implementado en FPGA
L. De Micco, O. G. Zabaleta, C. M. Gonzlez , C. M. Arizmendi y H. A. Larrondo

Lab. de Componentes Electrnicos y Lab. de Mecnica Estadstica
Facultad de Ingeniera, UNMDP, Argentina.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
2
Delineamiento
Introduccin


Implementacin




Resultados
Conclusiones
Agradecimientos


Simulacin con Simulink/Matlab
Simulacin con el software de desarrollo Quartus II
Implementacin fsica en la placa Cyclone III EP3C120
(Altera)
Generacin de ruido mediante sistemas caticos
Discretizacin de sistemas caticos continuos
Cuantificacin de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
3
Delineamiento
Introduccin


Implementacin




Resultados
Conclusiones
Agradecimientos


Simulacin con Simulink/Matlab
Simulacin con el software de desarrollo Quartus II
Implementacin fsica en la placa Cyclone III EP3C120
(Altera)
Generacin de ruido mediante sistemas caticos
Discretizacin de sistemas caticos continuos
Cuantificacin de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
4
Generacin de ruido mediante sistemas caticos
Mtodo de multiplexacin por CDMA.
Mejora de la compatibilidad electromagntica en
circuitos electrnicos.
Muestreo aleatorio.
Encriptamiento.
Aplicaciones de ruidos en electrnica:
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
5
Generacin de ruido mediante sistemas caticos
Secuencias de ruido

Sistemas estocsticos.
Ecuaciones alineales simples


Sistemas caticos.
Ecuaciones complejas
Las secuencias caticas son ms simples de implementar
que las estocsticas.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
6
Caractersticas de los sistemas caticos:
>
Sist. continuos 3D Caos.
Sist. discretos 1D Caos.
>
Modelos deterministas simples y conocidos.
Alineales.
Evolucin temporal de sus variables tiene la apariencia de una seal
estocstica.
Gran sensibilidad a las condiciones iniciales.
Sist. continuos o discretos (mapas).
Generacin de ruido mediante sistemas caticos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
7
>
Sist. continuos 3D Caos.
Sist. discretos 1D Caos.
>
Modelos deterministas simples y conocidos.
Alineales.
Evolucin temporal de sus variables tiene la apariencia de una seal
estocstica.
Gran sensibilidad a las condiciones iniciales.
Sist. continuos o discretos (mapas).
Cmo son afectadas las propiedades estocsticas de los
sist. Continuos cuando son discretizados?
Caractersticas de los sistemas caticos:
Generacin de ruido mediante sistemas caticos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
8
Generacin de ruido mediante sistemas caticos
Los sistemas caticos poseen dos caractersticas contrapuestas:

Son sistemas deterministas
Por tener un modelo matemtico que los describe.

Son sistemas estocsticos
Debido la sensibilidad a las condiciones iniciales que presentan, la
predictibilidad a largo plazo se pierde.
Para los cuales el anlisis se realiza por la va estadstica.











I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
9
Los sistemas caticos poseen dos caractersticas contrapuestas:

Son sistemas deterministas
Por tener un modelo matemtico que los describe.

Son sistemas estocsticos
Debido la sensibilidad a las condiciones iniciales que presentan, la
predictibilidad a largo plazo se pierde.
Para los cuales el anlisis se realiza por la va estadstica.

Si fuera posible implementarlos con precisin infinita los sistemas
caticos seran deterministas en sentido estricto.

Esta dualidad determinista-estocstico de los sistemas
caticos los hace especialmente interesantes para la
ingeniera, dado que las seales que generan se pueden
utilizar como ruidos controlados en diversas aplicaciones.

Generacin de ruido mediante sistemas caticos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
10
En este trabajo se investiga el efecto de la
discretizacin sobre la estocasticidad del sistema
catico.

El sistema estudiado es el oscilador de Lorenz
implementado en una Field Programmable Gate Array
(FPGA).

La determinacin del grado de estocasticidad tiene
por objeto proporcionar una metodologa de diseo
optimizada para el uso que se pretenda dar al sistema
catico.
Generacin de ruido mediante sistemas caticos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
11
Delineamiento
Introduccin


Implementacin




Resultados
Conclusiones
Agradecimientos


Simulacin con Simulink/Matlab
Simulacin con el software de desarrollo Quartus II
Implementacin fsica en la placa Cyclone III EP3C120
(Altera)
Generacin de ruido mediante sistemas caticos
Discretizacin de sistemas caticos continuos
Cuantificacin de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
12
Discretizacin de sistemas caticos continuos
En una implementacin real tanto el tiempo como los propios valores de las
seales son discretos.

La discretizacin del tiempo: Algoritmo reemplaza las ecuaciones diferenciales
tericas que modelan el sistema.
Algoritmos:
1) Euler de primer orden: es el ms simple, las derivadas son directamente
reemplazadas por incrementos finitos.
2) Runge-Kutta de orden 4 o mayor, algoritmos de paso variable: permiten un sistema
discreto ms cercano al sistema continuo , son ms elaborados, utilizan ms recursos.










I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
13
En una implementacin real tanto el tiempo como los propios valores de las
seales son discretos.

La discretizacin del tiempo: Algoritmo reemplaza las ecuaciones diferenciales
tericas que modelan el sistema.
Algoritmos:
1) Euler de primer orden: es el ms simple, las derivadas son directamente
reemplazadas por incrementos finitos.
2) Runge-Kutta de orden 4 o mayor, algoritmos de paso variable: permiten un sistema
discreto ms cercano al sistema continuo , son ms elaborados, utilizan ms recursos.

La discretizacin en amplitud: equivale a definir un alfabeto finito y convertir la
serie original en una serie simblica (que en nuestro caso es tambin una
serie numrica).
As por ejemplo la representacin en aritmtica entera con n bits tiene un alfabeto de 2n
smbolos y una representacin punto flotante tiene un alfabeto que depende del
estndar adoptado.
Aritmtica:
1) Entera, 16 bits, 32 bits, etc.
2) Punto flotante: Standard IEEE 754 precisin simple, precisin doble, etc.
Discretizacin de sistemas caticos continuos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
14
En una implementacin real tanto el tiempo como los propios valores de las
seales son discretos.

La discretizacin del tiempo: Algoritmo reemplaza las ecuaciones diferenciales
tericas que modelan el sistema.
Algoritmos:
1) Euler de primer orden: es el ms simple, las derivadas son directamente
reemplazadas por incrementos finitos.
2) Runge-Kutta de orden 4 o mayor, algoritmos de paso variable: permiten un sistema
discreto ms cercano al sistema continuo , son ms elaborados, utilizan ms recursos.

La discretizacin en amplitud: equivale a definir un alfabeto finito y convertir la
serie original en una serie simblica (que en nuestro caso es tambin una
serie numrica).
As por ejemplo la representacin en aritmtica entera con n bits tiene un alfabeto de 2
n

smbolos y una representacin punto flotante tiene un alfabeto que depende del
estndar adoptado.
Aritmtica:
1) Entera, 16 bits, 32 bits, etc.
2) Punto flotante: Standard IEEE 754 precisin simple, precisin doble, etc.
Discretizacin de sistemas caticos continuos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
15
El sistema dinmico de Lorenz est definido por las siguientes ecuaciones
diferenciales ordinarias:
Donde , y son los parmetros constructivos del sistema.
Con:
el sistema presenta comportamiento catico
Discretizacin de sistemas caticos continuos
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
16
Discretizacin temporal
Aplicando el algoritmo de Euler al Sistema de Lorenz:
Algoritmos ms elaborados como el de Runge-Kutta de orden 4 o mayor,
los algoritmos de paso variable, o los de varios pasos permiten un sistema
discreto ms cercano al sistema continuo pero a un mayor costo en
recursos.
Entre los algoritmos usuales el ms simple es el mtodo de Euler de primer
orden en el que las derivadas son directamente reemplazadas por
incrementos finitos.
Donde es el paso
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
17
Discretizacin en amplitud - Aritmtica entera
El sistema resulta:
, en este caso son las ctes de
polarizacin
El hardware puede reducirse significativamente si se adopta una aritmtica entera y
se utilizan divisores potencia de 2. Para esto se polarizan las variables aleatorias para
emplear nmeros naturales:
usando

y la funcin floor()
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
18
Las operaciones aritmticas con nmeros en punto flotante:
insumen ms tiempo y
requieren un hardware ms complejo.

Por otra parte, se consigue:
alto margen dinmico y
mayor precisin.

Actualmente existen FPGAs, capaces de trabajar en punto flotante a frecuencias
muy altas, lo que disminuye considerablemente las desventajas de trabajar con
punto flotante.


31 30 23 22 0
23 bits de mantisa
8 bits de exponente bit de signo
En el estndar IEEE 754 de 32 bits:
Discretizacin en amplitud Punto flotante
(-2 * signo + 1) * 1,mantisa * 2
exponente
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
19
Delineamiento
Introduccin


Implementacin




Resultados
Conclusiones
Agradecimientos


Simulacin con Simulink/Matlab
Simulacin con el software de desarrollo Quartus II
Implementacin fsica en la placa Cyclone III EP3C120
(Altera)
Generacin de ruido mediante sistemas caticos
Discretizacin de sistemas caticos continuos
Cuantificacin de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
20
Cuantificacin de estocasticidad - Cuantificadores
Hay infinitas posibilidades para asignar una PDF a una
dada secuencia de datos.
1) PDF basada en el histograma (hist):
Solo cuenta el nmero de veces en que aparece cada elemento de la serie.
No tiene en cuenta el orden temporal de los mismos.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
21
Hay infinitas posibilidades para asignar una PDF a una
dada secuencia de datos.
1) PDF basada en el histograma (hist).
2) PDF de Bandt y Pompe (BP).
Cuantificacin de estocasticidad - Cuantificadores
{ }
{ } { }
{ } { }
{ } { }
1 2
1 2 1
2 3 1 2
1
, ,...,
embedding dimension
, ,..., 1, 2,... !
, ,..., 1, 2,... !
, ,..., 1, 2,... !
N i
D
D
N D N D N N D
X x x x x R
D
x x x D
x x x D
x x x D
t
t
t
+
+
= e
e
e
e
dimensin de embedding
...
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
22
{ } N i p P
i
,..., 1 ; = = Caracterizan una dada PDF.

Entropa de Shannon (H)
Complejidad Estadstica (C)
] , [ ] [ ] [
e
P P Q P H P C =
] , [ ] , [
0 e e
P P D Q P P Q =
Orden erfecto
Q
LMPR
P. W. Lamberti, M. T. Martn, A. Plastino y O. A.Rosso,
Physica A 334, 119 (2004).
( )
2
) ( ) (
2
] , [
e e
e
P S P S P P
S P P D
+

+
=
Divergencia de Jensen-Shannon:
( ) | |
( ) ( )
max
1
2
/
log
S P S P H
p p P S
N
i
i i
=
=

=
) ( log
2 max
N S =
{ } N N P
e
/ 1 ,..., / 1 =
0 = S
Mxima aleatoriedad
Histograma Band y Pompe
Cuantificacin de estocasticidad - Cuantificadores
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
23
Se generaron las series X, Y y Z de ms de 150000 valores de forma
de cubrir siempre la misma zona del atractor.
Con en el rango [0,003; 0,0045].
Para cada serie se calcul el valor de H y C con la PDF de Bandt y Pompe con
D=6, y se los represent en el plano entropa-complejidad (H-C)


Cuantificacin de estocasticidad - Representacin plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
24
La regin accesible, que para el caso D = 6 est limitada por las
curvas puntedas en azul, puede dividirse en dos subregiones
indicadas como determinista (de baja entropa) y estocstica (de
alta entropa) respectivamente.
Cuantificacin de estocasticidad - Representacin plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
25
= 0,003; 0,004 y 0,0045
El incremento de produce un incremento de H y C pero el sistema se mantiene
dentro de la regin determinista. Si se intenta superar el valor = 0,0045 el
sistema deja de ser catico y alcanza un estado final con H = 0 y C = 0.
Cuantificacin de estocasticidad - Representacin plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
26
= 0,003; 0,004 y 0,0045
Si se intenta superar el valor = 0,0045 el sistema deja de ser catico y alcanza
un estado final con H = 0 y C = 0.
Cuantificacin de estocasticidad - Representacin plano H-C
0,0045
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
27
Skipping de 2, 3, 5, 7, 9, 11, 20 y 23
Puede verse que, mediante esta tcnica, se obtienen secuencias cuyo punto
representativo en el plano C - H se encuentra en la regin estocstica.
= 0,0045
Skipping: Saltear valores de la serie
Cuantificacin de estocasticidad - Representacin plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
28
Skipping de 2, 3, 5, 7, 9, 11, 20 y 23
Puede verse que, mediante esta tcnica, se obtienen secuencias cuyo punto
representativo en el plano C - H se encuentra en la regin estocstica.
= 0,0045
Entran en
zona
estocstica
Cuantificacin de estocasticidad - Representacin plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
29
Aritmtica entera
Con aritmtica entera usando 16 bits se obtiene un punto en la zona determinista.
Cuantificacin de estocasticidad - Representacin plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
30
Randomizando
con bit ms
significativo
Con aritmtica entera usando 16 bits se obtiene un punto en la zona determinista.
Para acercarse a la zona estocstica se utilizan tcnicas de randomizacin sobre
la serie, tcnica del bit ms significativo y menos significativo.
Cuantificacin de estocasticidad - Representacin plano H-C
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
31
Cuantificacin de estocasticidad - Representacin plano H-C
Randomizando
con bit menos
significativo
Con aritmtica entera usando 16 bits se obtiene un punto en la zona determinista.
Para acercarse a la zona estocstica se utilizan tcnicas de randomizacin sobre
la serie, tcnica del bit ms significativo y menos significativo.
La tcnica del bit menos significativo permite un salto a la regin estocstica En
este ultimo caso el punto representativo corresponde a un PRNG.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
32
Delineamiento
Introduccin


Implementacin




Resultados
Conclusiones
Agradecimientos


Simulacin con Simulink/Matlab
Simulacin con el software de desarrollo Quartus II
Implementacin fsica en la placa Cyclone III EP3C120
(Altera)
Generacin de ruido mediante sistemas caticos
Discretizacin de sistemas caticos continuos
Cuantificacin de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
33
Simulacin con Simulink/Matlab - Herramientas utilizadas
DSPBuilder
Entorno Simulink
MATLAB
Altera DSP Builder Blockset
IP MegaCores
Herramientas Matlab
Simulacin sin retardos
Funcionamiento


Quartus II
ALTERA
Altera DSP Builder Blockset
IP Mega Cores
Bloques VHDL
Simulacin con retardos



Bloques VHDL
Proyectos
Trabajamos con el software Quartus que provee la
empresa ALTERA.
Tambin trabajamos en el entorno simulink de matlab
gracias al programa DSPBuilder que permite llevar
bloques y proyectos de un entorno a otro.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
34
Simulacin con Simulink/Matlab - Esquema simplificado de
Sist. de Lorenz
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
35
Simulacin con Simulink/Matlab - Simulink
Ejemplo de la implementacin en Simulink de una de las ramas del Sistema de
Lorenz (Rama x)
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
36
Simulacin con Simulink/Matlab - Simulink
Rama X del sistema que consta de un sumador, un restador y un multiplicador
en punto flotante (bloques de la librera de Altera).
Restador en
punto flotante
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
37
Simulacin con Simulink/Matlab - Simulink
Rama X del sistema que consta de un sumador, un restador y un multiplicador
en punto flotante (bloques de la librera de Altera).
Multiplicador en
punto flotante
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
38
Simulacin con Simulink/Matlab - Simulink
Rama X del sistema que consta de un sumador, un restador y un multiplicador
en punto flotante (bloques de la librera de Altera).
Sumador en punto
flotante
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
39
Simulacin con Simulink/Matlab - Simulink
El bloque Registro es un latch que retarda un ciclo la salida del
sistema. Fue programado en VHDL e importado al Simulink.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
40
Simulacin con Simulink/Matlab -Simulink
A la entrada del latch fue necesario insertar un bloque z
-1
para
evitar un problema propio de Simulink que surge cuando se
trabaja con lazos realimentados. Este retardo no afecta al diseo.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
41
Simulacin con Simulink/Matlab - Simulink
La salida del registro es tomada por el subsistema Floating Point
(FP) que se encarga de separar los bits de signo, exponente y
mantisa, y realizar la operacin:
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
42
Simulacin con Simulink/Matlab - Simulink
El mismo procedimiento se aplica a las tres ramas. El osciloscopio virtual permite
visualizar los datos, que almacenados quedan disponibles para ser procesados y
graficados en Matlab, para una verificacin preliminar del diseo.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
43
Delineamiento
Introduccin


Implementacin




Resultados
Conclusiones
Agradecimientos


Simulacin con Simulink/Matlab
Simulacin con el software de desarrollo Quartus II
Implementacin fsica en la placa Cyclone III EP3C120
(Altera)
Generacin de ruido mediante sistemas caticos
Discretizacin de sistemas caticos continuos
Cuantificacin de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
44
Simulacin con el software de desarrollo Quartus II
La implementacin se realiz con el software de desarrollo de la
placa Cyclone III EP3C120 de Altera, es especial para el desarrollo
de sistemas que involucran el procesamiento de seales, ya que
cuenta con una interesante cantidad de memoria y multiplicadores.

El diseo se realiz en Quartus II ; si bien Matlab permite exportar el
proyecto, y programar el dispositivo desde el propio Simulink
presenta ciertas limitaciones, tales como la imposibilidad de
simulacin con retardos reales.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
45
Rama x
Simulacin con el software de desarrollo Quartus II
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
46
Diagrama temporal de simulacin en entorno Quartus II 7.2
Simulacin con el software de desarrollo Quartus II
Las seales x, y, z corresponden a las salidas de los
registros. Los datos estn expresados como unsigned
integer y corresponden a nmeros en punto flotante.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
47
Delineamiento
Introduccin


Implementacin




Resultados
Conclusiones
Agradecimientos


Simulacin con Simulink/Matlab
Simulacin con el software de desarrollo Quartus II
Implementacin fsica en la placa Cyclone III EP3C120
(Altera)
Generacin de ruido mediante sistemas caticos
Discretizacin de sistemas caticos continuos
Cuantificacin de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
48
Resultados
Salida Signal Tap II
Signal Tap: Mientras que el diseo corre en la FPGA,
esta herramienta permite almacenar las seales
deseadas en la memoria del dispositivo.
Luego, la placa enva los datos a la PC para ser
analizados.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
49
Resultados
Datos tomados con Signal Tap y graficados en Matlab
Series temporales obtenidas con la placa para
t = 0,0045.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
50
Resultados
Datos tomados con Signal Tap y graficados en Matlab
Atractor obtenido con la placa para t = 0,0045.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
51
Delineamiento
Introduccin


Implementacin




Resultados
Conclusiones
Agradecimientos


Simulacin con Simulink/Matlab
Simulacin con el software de desarrollo Quartus II
Implementacin fsica en la placa Cyclone III EP3C120
(Altera)
Generacin de ruido mediante sistemas caticos
Discretizacin de sistemas caticos continuos
Cuantificacin de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
52
Conclusiones
1. Si el sistema catico va a ser utilizado en aplicaciones que
requieran predictibilidad a largo plazo el diseo debe ser tal que
el punto representativo se encuentre en la regin determinista
del plano C-H, que corresponde a sistemas con una fuerte
correlacin (no lineal) entre los valores sucesivos de las series
temporales.


2. Si el sistema catico va a reemplazar a un sistema estocstico el
punto representativo debe encontrarse en la zona estocstica.
En particular para el caso de un PRNG, debe encontrarse lo ms
cerca posible del punto H=1, C=0.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
53
Conclusiones
3. Las secuencias generadas utilizando aritmtica de punto
flotante, si bien reproducen ms exactamente y con mayor
precisin el atractor de Lorenz, no tienen acceso a la zona
estocstica. Para lograr acceder a esta zona se utiliz la tcnica
de skipping.


4. Otra alternativa para acceder a la regin estocstica es utilizar
una implementacin en aritmtica entera que tiene la ventaja de
utilizar recursos significativamente menores y adems permite
un salto a la regin estocstica mediante la sencilla tcnica de
randomizacin de uso del bit menos significativo.
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
54
Delineamiento
Introduccin


Implementacin




Resultados
Conclusiones
Agradecimientos


Simulacin con Simulink/Matlab
Simulacin con el software de desarrollo Quartus II
Implementacin fsica en la placa Cyclone III EP3C120
(Altera)
Generacin de ruido mediante sistemas caticos
Discretizacin de sistemas caticos continuos
Cuantificacin de estocasticidad
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
55


Este trabajo ha sido parcialmente financiado
por CONICET (PIP2004),
ANPCyT (PICT 04) y UNMDP

AGRADECIMIENTOS
I B E R C H I P XVI Workshop 23 a 25 de febrero 2010
56
e-mail: ldemicco@fi.mdp.edu.ar
Gracias!

Вам также может понравиться