C/Visual C - Arbol Binario. Programa inteligente

 
Vista:

Arbol Binario. Programa inteligente

Publicado por Nei (2 intervenciones) el 06/04/2003 20:36:54
Hola! tengo que realizar un programa basado en arbol binario que debe ir preguntando (con solo de posibles respuestas SI/No) e ir aprendiendo de sus respuestas. Alguien podria ayudarme a plantearlo? Si alguien pudiera facilitarme algo similar le estaria muy agradecida.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Arbol Binario. Programa inteligente

Publicado por chuidiang (677 intervenciones) el 07/04/2003 11:35:04
Es un problema bastante antiguo, te cuento como lo hice en su dia en basica (basic de ibm de antes de windows).

Haz un nodo que tiene una cadena de caracteres (que puede ser la pregunta o una respuesta). El nodo tiene dos enlaces a otros nodos, uno para cuando se contesta a si y otro para cuando se contesta a no
(Supongo que en C. Si vale en C++ puedes hacer clases)
typedef struct _nodo
{
char texto[256]; /* todos los caracteres que consideres adecuados */
nodo *si;
nodo *no;
} nodo;

Inicialmente creas un arbol con una raiz y dos hijos. La pregunta puede ser "¿es un ser vivo?". El nodo "si" pone "tigre". El nodo "no" pone "coche".

A partir de ahi, en cada "sesión" con un usuario, empiezas por el nodo raíz, haciendo la pregunta en él contenida, recogiendo su respuesta si/no y recorriendo el arbol hacia abajo según la respuesta, hasta llegar a una "hoja". En la hoja se supone que hay una respuesta (los nodos si y no deben ser NULL), asi que dices "La respuesta es ..."p-Alive
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arbol Binario. Programa inteligente

Publicado por chuidiang (677 intervenciones) el 07/04/2003 11:35:14
Es un problema bastante antiguo, te cuento como lo hice en su dia en basica (basic de ibm de antes de windows).

Haz un nodo que tiene una cadena de caracteres (que puede ser la pregunta o una respuesta). El nodo tiene dos enlaces a otros nodos, uno para cuando se contesta a si y otro para cuando se contesta a no
(Supongo que en C. Si vale en C++ puedes hacer clases)
typedef struct _nodo
{
char texto[256]; /* todos los caracteres que consideres adecuados */
nodo *si;
nodo *no;
} nodo;

Inicialmente creas un arbol con una raiz y dos hijos. La pregunta puede ser "¿es un ser vivo?". El nodo "si" pone "tigre". El nodo "no" pone "coche".

A partir de ahi, en cada "sesión" con un usuario, empiezas por el nodo raíz, haciendo la pregunta en él contenida, recogiendo su respuesta si/no y recorriendo el arbol hacia abajo según la respuesta, hasta llegar a una "hoja". En la hoja se supone que hay una respuesta (los nodos si y no deben ser NULL), asi que dices "La respuesta es ..."%0UnixShellScripting=2003-02-17 14:56:11;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arbol Binario. Programa inteligente

Publicado por chuidiang (677 intervenciones) el 07/04/2003 11:35:33
Es un problema bastante antiguo, te cuento como lo hice en su dia en basica (basic de ibm de antes de windows).

Haz un nodo que tiene una cadena de caracteres (que puede ser la pregunta o una respuesta). El nodo tiene dos enlaces a otros nodos, uno para cuando se contesta a si y otro para cuando se contesta a no
(Supongo que en C. Si vale en C++ puedes hacer clases)
typedef struct _nodo
{
char texto[256]; /* todos los caracteres que consideres adecuados */
nodo *si;
nodo *no;
} nodo;

Inicialmente creas un arbol con una raiz y dos hijos. La pregunta puede ser "¿es un ser vivo?". El nodo "si" pone "tigre". El nodo "no" pone "coche".

A partir de ahi, en cada "sesión" con un usuario, empiezas por el nodo raíz, haciendo la pregunta en él contenida, recogiendo su respuesta si/no y recorriendo el arbol hacia abajo según la respuesta, hasta llegar a una "hoja". En la hoja se supone que hay una respuesta (los nodos si y no deben ser NULL), asi que dices "La respuesta es ..."%0nixShellScripting=2003-02-17 14:56:11;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arbol Binario. Programa inteligente

Publicado por chuidiang (677 intervenciones) el 07/04/2003 11:35:36
Es un problema bastante antiguo, te cuento como lo hice en su dia en basica (basic de ibm de antes de windows).

Haz un nodo que tiene una cadena de caracteres (que puede ser la pregunta o una respuesta). El nodo tiene dos enlaces a otros nodos, uno para cuando se contesta a si y otro para cuando se contesta a no
(Supongo que en C. Si vale en C++ puedes hacer clases)
typedef struct _nodo
{
char texto[256]; /* todos los caracteres que consideres adecuados */
nodo *si;
nodo *no;
} nodo;

Inicialmente creas un arbol con una raiz y dos hijos. La pregunta puede ser "¿es un ser vivo?". El nodo "si" pone "tigre". El nodo "no" pone "coche".

A partir de ahi, en cada "sesión" con un usuario, empiezas por el nodo raíz, haciendo la pregunta en él contenida, recogiendo su respuesta si/no y recorriendo el arbol hacia abajo según la respuesta, hasta llegar a una "hoja". En la hoja se supone que hay una respuesta (los nodos si y no deben ser NULL), asi que dices "La respuesta es ..."%0sualC=2003-01-14 15:01:02;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Arbol Binario. Programa inteligente

Publicado por chuidiang (677 intervenciones) el 07/04/2003 11:36:13
Es un problema bastante antiguo, te cuento como lo hice en su dia en basica (basic de ibm de antes de windows).

Haz un nodo que tiene una cadena de caracteres (que puede ser la pregunta o una respuesta). El nodo tiene dos enlaces a otros nodos, uno para cuando se contesta a si y otro para cuando se contesta a no
(Supongo que en C. Si vale en C++ puedes hacer clases)
typedef struct _nodo
{
char texto[256]; /* todos los caracteres que consideres adecuados */
nodo *si;
nodo *no;
} nodo;

Inicialmente creas un arbol con una raiz y dos hijos. La pregunta puede ser "¿es un ser vivo?". El nodo "si" pone "tigre". El nodo "no" pone "coche".

A partir de ahi, en cada "sesión" con un usuario, empiezas por el nodo raíz, haciendo la pregunta en él contenida, recogiendo su respuesta si/no y recorriendo el arbol hacia abajo según la respuesta, hasta llegar a una "hoja". En la hoja se supone que hay una respuesta (los nodos si y no deben ser NULL), asi que dices "La respuesta es ..."%0sualC=2003-01-14 15:01:02;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar