Los parámetros y principios de funcionamiento de varios sistemas se pueden conectar mediante un atributo seleccionado entre ellos con varios tipos de relaciones. Si, digamos, estamos interesados en el efecto del precio de un servicio en su demanda, entonces esta relación puede describirse por una relación del tipo "influencias", "influencias fuertes", "influencias débiles", etc. En este caso, los objetos bastante "discretos" para la descripción pueden no ser suficientes. Para muchos problemas aplicados de la teoría de autómatas, reconocimiento de patrones, toma de decisiones, etc. Tiene sentido generalizar el concepto de la relación entre los objetos a un caso difuso. Además, el modelo, muy posiblemente, describirá de manera más adecuada el sistema, permitiendo un análisis cualitativo de los sistemas sin pérdida de información umbral, en relación con la aparición de nuevos tipos de relaciones: similitud, similitud, disimilitud, ...
El concepto de relaciones difusas (conexiones, asociaciones, relaciones, relaciones son sinónimos), junto con el concepto de conjuntos difusos, se refiere a los fundamentos fundamentales de toda la teoría de los conjuntos difusos. Además del hecho de que ellos mismos han aplicado valor, sobre la base de una serie de conceptos adicionales se determinan que se utilizan para construir modelos difusos de sistemas más complejos.
Relación borrosa
(lo siento)Definición
Como en el caso de los conjuntos difusos (HM), las relaciones difusas generalizan el concepto de la relación habitual a la que estamos acostumbrados en la teoría de conjuntos (ingenua). Y muchos conceptos presentados a continuación para las relaciones serán similares a los conceptos correspondientes para NM.
Introducimos los conceptos de relación difusa y consideramos sus propiedades.
Relación difusa de 2 arios (binario) , . :
n- n- .
, - ( , ..). . . , n- .
.
- ;
- ;
- ;
- , — , — . ( , . , , , xD)
.
Deja en el set relación difusa definida « » ( x>>y ). :


—
:
,
( ) :
:
:
, , — .
, :
, llamar a una relación tan clara En general, se acepta que cuando la función característica de la relación difusa es 0.5, la función para el cierre será 0.
Inversa a llamar a tal actitud , qué Matriz de relaciones en este caso será la matriz transpuesta .
Operaciones
Unión e intersección :
. El conjunto de todas las relaciones difusas forma una red distributiva en relación con las operaciones de unión e intersección; y del cumplimiento de las identidades de idempotencia, conmutatividad, asociatividad, absorción y distributividad para la red. El cumplimiento de estas identidades para todas las relaciones sigue., , « x y / » « x y ». ; , «» , x y , . , .
: ; : .
, . - . , . - . , .
( ) . .
. , . (Max-*)-. , 3 .
- max-min ( ): . .
- min-max ( ): .
- max-• ( ): .
, . :
:
- ;
- ;
- .
. :
:;
: ;
: ;
flexx: ;
: ;
: ;
: ;
: .
… . .
2 NPC-, . , . NPC :
, , .
, , — .
, , :
« »
« »
« »
. : NPC ?
, :
def very(arr: List[set]):
return [(elem[0]**2, elem[1]) for elem in arr]
def no(arr: List[set]):
return [(1 - elem[0], elem[1]) for elem in arr]
def attitude(a: List[set], b: List[set], func = lambda x, y: min(x, y)):
return [[func(i[0], j[0]) for j in b] for i in a]
def attitude_unite(a: List[List], b: List[List]):
return [[max(a[i][j], b[i][j]) for j in range(len(a[i]))] for i in range(len(a))]
def composition(a: List[List], b: List[List]):
result = [[0 for j in range(len(b[0]))] for i in range(len(a))]
for x in range(len(a)):
for z in range(len(b[0])):
maximum = min(a[x][0], b[0][z])
for y in range(0, len(a[0])):
if maximum < min(a[x][y], b[y][z]):
maximum = min(a[x][y], b[y][z])
result[x][z] = maximum
return result
def index_plus(a: List[List]):
maximum = max([elem[1] for elem in a])
result = 0
for i in range(len(a)):
result += a[i][0] * (a[i][1] + maximum) / 2
return result
def ranking_index(a: List[List], b: List[List]):
return index_plus(a) - index_plus(b)
, — -. , , , index_plus ranking_index. . ( ; , ) :
— . . :
A = [(0.8, 3), (0.4, 15), (0.3, 30)]
B = [(0.1, 0.9), (0.5, 0.5), (0.8, 0.1)]
C = [(0.8, 0.9), (0.5, 0.5), (0.3, 0.2)]
— « ». 1 3 :
x = no(very(A))
x = [[elem[0] for elem in x]]
NPC K1R1. R1=UNA×si ∪ UNA¯×si¯:
AonB = attitude(A, B)
notAonnotB = attitude(no(A), no(B))
R1 = attitude_unite(AonB, notAonnotB)
y1, ( ) R1.
y1 = composition(x, R1)
print('y1 = ', y1)
:
notAonC = attitude(no(A), C)
AonnotC = attitude(A, no(C))
R2 = attitude_unite(notAonC, AonnotC)
y2 = composition(x, R2)
print('y2 = ', y2)
y1y2:
y1 = [(y1[0][i], B[i][1]) for i in range(len(y1[0]))]
y2 = [(y2[0][i], C[i][1]) for i in range(len(y2[0]))]
NPC:
print('index = ', ranking_index(y1, y2))
Un pequeño valor negativo indica que K2acepta más objetos con lealtad y es más probable que cuente la búsqueda del jugador que K1.
Y eso es todo por hoy.