Jump to content


Photo

Grupo - Desfio -


  • Faça o login para participar
12 replies to this topic

#1 cristiano_cds

cristiano_cds

    Normal

  • Usuários
  • 85 posts
  • Sexo:Não informado

Posted 26/01/2007, 16:11

Opa,
Ex.: Tenho 4 grupos.

A -
01
02 <
15 <
04

B-
15 <
06
16 <
08

C-
09
10
11
01

D-
02 <
14
15 <
16 <
=================
Adianto que o melhor grupo que eu quero que o sistema indique eh o grupo D.
Como fazer com que o sistema indique que o grupo D eh a melhor escolha para formar um grupo entre os numeros 02 - 05 - 16 ??

tenho os dados salvos em BD .. o que quero eh poder, atraves de algum tipo de consulta.. nao sei bem.. gerar uma rotina para o sistema reconhecer os semelhantes, e setar qual eh o grupo que melhor comporta as semelhancas entre eles .. deu pra entender????? :\ fico no aguardo.. qualquer luz sobre esse assunto seria otimo.. ainda estou desenvolvendo as rotinas... ja consegui identificar quais dos grupos se repetem. mas nao estou conseguindo fazer a indicacao do melhor grupo. Ex.: D.

#2 MarviN*

MarviN*

    nw . newton web

  • Usuários
  • 780 posts
  • Sexo:Não informado
  • Localidade:Brasília - DF

Posted 26/01/2007, 16:22

Isso vai variar muito de como está o seu banco de dados... e se vc ainda não tem o banco, vai variar do que exatamente você precisa, e não de um exemplo vago!! :P.

Tenta especificar um pouco melhor que vc vai conseguir ajuda mais rápido.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
[ Blog Desenvolvimento Web: http://www.newtonwagner.net/blog ]
[ Diário da Selva: http://www.diariodaselva.com/ ]

[ "Não existe um caminho para a paz; a paz é o caminho." Mahatma Gandhi ]

#3 cristiano_cds

cristiano_cds

    Normal

  • Usuários
  • 85 posts
  • Sexo:Não informado

Posted 26/01/2007, 17:04

Rapaz.... olha soh..

os dados ja estao em um banco.. do jeito que estao sendo mostrados... a unica coisa que eu quero eh que, de algum modo, rotina, variavel, funcao ... enfim... alguma coisa possa me retornar que a melhor uniao de conjuntos se encontra na D.

estou mostrando esses dados por um WHILE atraves de um SELECT trazendo os dados do banco de dados.. o basico, mas nao estou conseguindo fazer uma rotina para indicar justamente qual seria o melhor conjunto para determinado cadastrado. entendeu?

Justamente como mostrei no EX acima... quero algo pra mostrar pra mim.. que o melhor conjunt seria o D.

Por que?
R.: Pq eh o unico que reune o 02, 15, 16 em um soh. sendo assim a melhor uniao entre os "amigos".

Quero alguma coisa pra fazer justamente isso... alguma rotina de leitura do BD ... uma funcao.. enfim... ok? nao sei o que posso fornecer mais de informacoes percistentes pra esse caso...

mas estou no aguardo.. no que eu possa fornecer

#4 cristiano_cds

cristiano_cds

    Normal

  • Usuários
  • 85 posts
  • Sexo:Não informado

Posted 29/01/2007, 12:33

BOm, acho que achei uma explicacao melhor para a minha questao.

DEI UMA EDITADA.. A IDEIA QUE SE RETRATA MELHOR PRO QUE EU QUERO EH A QUE POSTEI PRIEMRIO MESMO FALOPA

Edição feita por: cristiano_cds, 30/01/2007, 18:14.


#5 hostdesigner

hostdesigner

    Super Veterano

  • Usuários
  • 2910 posts
  • Sexo:Masculino
  • Localidade:Quirinópolis-GO
  • Interesses:Programação, Mulheres, Diversão, Mulheres, Música, Mulheres, Meu Carro, Mais mulheres, Internet, Outras Mulheres, Quase por último PAZ e por ultimo Outras Váááárias Mulheres...

Posted 30/01/2007, 18:19

Não entendi direito mas acho que seria algo baseado nesta POGambiarração aqui.

Verifique quais usuários possuem o grupo B depois verifique quais destes usuários possuem campo cpf_sec repetidos...

Acho que seria isso...

Falopa!

#6 cristiano_cds

cristiano_cds

    Normal

  • Usuários
  • 85 posts
  • Sexo:Não informado

Posted 31/01/2007, 15:47

:assobio: HAAAAAAAA... e o melhor.. essa logica tem que funcionar com X grupos formados.. aqui eu exemplifiquei soh com 4 grupos distintos.... o negocio eh fazer isso funcionar com a quantidade de grupos que seja nescessario. heheh

Mas fica a promessa, tou trabalhando nisso pq estou precisando para uma empresa de turismo. que faz pacotes e grupos ... e precisa automatizar algumas coisas.

Assim que ficar pronto mando ver um tuto pra galera.

Mas quem tiver alguma coisa pra acrescentar aqui. manda ver.

Abracao.

#7 aimola

aimola

    Webdeveloper

  • Usuários
  • 471 posts
  • Sexo:Masculino
  • Localidade:Sampa

Posted 31/01/2007, 16:10

Nossa.... estou me sentindo uma kk diante do problema, não entendí bulufas. rs
Que os passos de hoje sejam maiores que os de ontem
e que os passos de amanhã sejam mais largos que os de hoje.

#8 cristiano_cds

cristiano_cds

    Normal

  • Usuários
  • 85 posts
  • Sexo:Não informado

Posted 01/02/2007, 13:06

:) Imagino brow..

Olha esse historinha.

vamos formar apenas tres grupos.

A
eu
tu
ele

B
nos
vos
tu

C
tu
eu
nos
--------------------------------
bom, alguns que formaram grupos se conhecem. outros nao.
O que tenho que fazer, e fazer com que as pessoas que se encontrem mais vezes em grupos diferentes, fiquem no grupo mais adequado para cada integrante.

Como??!! vc pergunta.

eu faz par com tu, pq se contram em A e C, entao dai ja posso dizer que eu e tu nao irao se separar. OTIMO... SOH ISSO???? Nao eheheh.


ja que temos dois conjuntos em comum entre tu e eu, quais desses dois grupos devem ficar os dois, para que eles nao fiquem em dois grupos ao mesmo tempo. OBVIO eheh.. tenho que ver quem mais em comum existe entre os dois, (tu e eu).

Puxa.. olha soh.. tu e eu conhecem nos, tu faz par com nos em B e eu faz par com nos em C, coincidentemente ... os dois fazem um trio em C. Posso dizer entao que o melhor grupo para eu, tu e nos eh C. :)

Agora o X da questao... como fazer isso dinamicamente com N numeros de grupos e pessoas???


eheheh agora ficou menos escuro... opss.. mais claro hehehe :P

abracao galera.. se tiverem alguma outra ideia... fala ai.. eu tou andando aqui devagarinho com esse sistema.. ainda nao finalizei.. mas acho que tou perto

Edição feita por: cristiano_cds, 01/02/2007, 13:09.


#9 frlouzada

frlouzada

    Normal

  • Usuários
  • 98 posts
  • Sexo:Não informado
  • Localidade:Vitória - ES

Posted 01/02/2007, 14:42

Cara...
não ficou muito claro não...
O que você acha de explicar exatamente quais coisas a empresa está querendo automatizar para você ter que fazer esse algoritmo?!
Dê o exemplo exato do que eles querem.

Pelo pouco que entendi isso envolve otimização.

Acho que uma outra saída (não a melhor) seria um algoritmo que detectasse (A ∩ B ∩ C) U (A ∩ B ) U (A ∩ C) U (B ∩ C) (Isso com 3 conjuntos).
Algoritmo de intersecção de conjuntos deve ter pronto pela internet.

Edição feita por: frlouzada, 01/02/2007, 15:20.


#10 cristiano_cds

cristiano_cds

    Normal

  • Usuários
  • 85 posts
  • Sexo:Não informado

Posted 01/02/2007, 19:04

Cara...
não ficou muito claro não...
O que você acha de explicar exatamente quais coisas a empresa está querendo automatizar para você ter que fazer esse algoritmo?!
Dê o exemplo exato do que eles querem.

Pelo pouco que entendi isso envolve otimização.

Acho que uma outra saída (não a melhor) seria um algoritmo que detectasse (A ∩ B ∩ C) U (A ∩ B ) U (A ∩ C) U (B ∩ C) (Isso com 3 conjuntos).
Algoritmo de intersecção de conjuntos deve ter pronto pela internet.



PRONNNTOO ..a ideia da empresa eh soh essa mesmo.. o resto eh basicao.. cadastro busca.. bla bla bla... o que tira o sono eh esse esquema de combinar os grupos.. e criar realmente interceccoes entre eles.

Mas o quadro se agrava quando vc deixa isso com valores indefinidos... tipo a quantidade de grupos ... eu estou fazendo meus testes com a quantidade de pessoas limitada a quatro.. pq eh um grupo fechado pra empresa. mas a quantidade de grupos de ser ilimitada. e ai vem a pequena complicacao.. fazer o sistema escolher um grupo adequado para cada individou. Do jeito que vc arrumou ali em cima.

#11 frlouzada

frlouzada

    Normal

  • Usuários
  • 98 posts
  • Sexo:Não informado
  • Localidade:Vitória - ES

Posted 02/02/2007, 11:40

Cara...
será que não dá pra fazer essa intersecção direto do banco de dados?!

Tipo, faz os select's só das intersecções...

dá uma olhada nesse tópico
http://forum.wmonlin...
aí no caso vc faria o inverso, com o numero indefinido de grupos.

Se quiser dá pra desenvolver algoritmicamente também. Veja a Resolução do exercício nº 1 do exame de recurso de algoritmos de 1999.
http://w3.ualg.pt/~h...aula_n_15 2.htm
é só tentar adaptar para um numero indeterminado de conjuntos.

Edição feita por: frlouzada, 02/02/2007, 14:27.


#12 cristiano_cds

cristiano_cds

    Normal

  • Usuários
  • 85 posts
  • Sexo:Não informado

Posted 02/02/2007, 17:26

RAAAPZZZZZZZZZZZZZZ ..
ehehe.. esse exercicio tah otimo.. dei uma lida rapida.. mas tah otimo

Bom.. que tenho pra adiantar eh que terminei o filtro. FINALLLMENTENEEEEEE ...
A coisa ficou muito na POG .. mas esta rodando redondo.. e trabalha com numeros N de grupos e pessoas.

O unico problema que achei, ou melhor.. a unica deficiencia do sistema no caso de organizar gurpos.. eh que ignora totalmente a questao humana. Ou seja.. o sistema eh frio ao maximo pra unir as pessoas.

No quadro geral, o sistema uni sempre os mais populares aos grupos, e os populares acabam sendo um tipo de imah .. sakou? atrai sempre as pessoas soltas avulsamente a grupos que tenham a quantidade de pessoas que mais estao sendo populares entre os grupos. (leia de novo se nao entendeu ehehe :blink: )

Ex.:

amigos entre si
GRUPO A
LALA <-
LELE <-
LILI <-
LOLO <-

GRUPO B
LALA
TEREZA
JOAO
EU
-------> Imaginemos que TEREZA forma grupo com mais um 3 grupos. D, E, F.
Automaticamente, o sistema julga que o melhor grupo pra LALA .. deve ser o grupo B, pq TEREZA EH UMA PESSOA POPULAR ENTRE OUTROS GRUPOS.

Ou seja.. o sistema esta ignorando o grupo de amigos entre si.
Mas deixo dito que o sistema nao sabe o que sao amigos ou coisa parecida.. ele julga pelos populares. e procura unificar os avulsos justamente em grupos populares.

Porem tambem notei que os populares.. nao se unem entre si, mas sim a grupos que eles mesmo sao populares mais populares separadamente.

heeheh .. bom ja tah bom.. dei um no na cabeca de vcs .. mas vou por aqui a gambiarra que fiz pra isso acontecer.. tudo se divide em 5 passo,..

0 - ACHAR REPETIDOS
1 - VERIFICAR PROVAVEIS GRUPOS PARA CADA INDIVIDUO
2 - DEFINIR O GRUPO E A PESSOA PARA SE UNIR
3 - RETIRAR OS GRUPOS DE MENOR UNIAO ENTRE POPULARES E AVULSOS
4 - EXCLUIR OS GRUPOS MENOS VOTADOS
5 - RETORNAR PARA O GRUPO E EXCLUIR OS INDIVIDUOS DEFINITIVOS DE GRUPOS QUE ELES NAO DEVEM MAIS FAZER PARTE.
===============================================================
Feito isso.. a pessoa pode executar os passos novamente, que o sistema vai filtrando, filtrando, filtrando... ate que existam pessoas em dois ou mais grupos.. porem que nao tenham mais pessoas para fazerem peso para uma definicao automatica.. desse modo o processo fica manual, porem.. o numero de pessoas para uma filtragem manual.. cai drasticamente... em media.. a empresa vai organizar manualemnte.. 10 registros.. o sistema ja organizou os outros 500. :rolleyes:

no mais .. eh isso .. fica um abraco pra essa galera do wm.. e uma promessa de um tuto pra vcs ..

falloowwppa

#13 victorhb

victorhb

    24 Horas

  • Usuários
  • 489 posts
  • Sexo:Masculino
  • Localidade:Brasília-DF

Posted 02/02/2007, 17:41

Cara...
não ficou muito claro não...
O que você acha de explicar exatamente quais coisas a empresa está querendo automatizar para você ter que fazer esse algoritmo?!
Dê o exemplo exato do que eles querem.

Pelo pouco que entendi isso envolve otimização.

Acho que uma outra saída (não a melhor) seria um algoritmo que detectasse (A ∩ B ∩ C) U (A ∩ B ) U (A ∩ C) U (B ∩ C) (Isso com 3 conjuntos).
Algoritmo de intersecção de conjuntos deve ter pronto pela internet.


array_intersect();




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq