elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  IA
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: IA  (Leído 1,526 veces)
Wexex5

Desconectado Desconectado

Mensajes: 14


Ver Perfil
IA
« en: 25 Agosto 2015, 17:55 pm »

Estoy ultimamente pensando en crear una IA algo complicado si...
Esta IA estara mas enfocado a la asistencia del usuario que en el leguaje humano.
Mi idea es crear una IA en el que pueda ejecutar aplicaciones, tareas y hablar con ella.

Un ejemplo seria:

IA: Usuario, la conexion cableada se a desconectado...
Usuario: conecta la inalambrica
IA: Conectando por la inalambrica...


Algo asi que te notifique la IA de todo lo que pasa o simplemente que te hiciera el trabajo.

copia del pen proyectos
IA: Copiando...
IA: A donde lo pego?
a mi escritorio

Solo tendras que darle instrucciones a la IA.
Como veis mi idea?





En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: IA
« Respuesta #1 en: 25 Agosto 2015, 18:52 pm »

Al final es convertir lenguaje humano a comandos.


En línea

Br1ant


Desconectado Desconectado

Mensajes: 791


Incluso la "nada" es un "algo"


Ver Perfil WWW
Re: IA
« Respuesta #2 en: 26 Agosto 2015, 02:41 am »

Algo así como un reconocedor de voz, no muy extraño en estos tiempos.

En vez de:

Citar
IA: Copiando...
IA: A donde lo pego?
a mi escritorio

Diría:

Citar
Usuario: Copia X archivo a escritorio.
IA: Copiando...

Repito, no es algo nuevo, pero ánimo!

:D

En línea

Namasté, criatura.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.809



Ver Perfil
Re: IA
« Respuesta #3 en: 6 Septiembre 2015, 20:28 pm »

Un ejemplo seria:

IA: Usuario, la conexion cableada se a desconectado...
Usuario: conecta la inalambrica
IA: Conectando por la inalambrica...

Imagino que será para Windows (no has explicado nada, ni siquiera en que lenguaje lo piensas hacer, odio las preguntas que ni siquiera comentan ese detalle tan esencial), pues entonces deberás desenvolverte cómo un experto con la API de Windows, para escuchar ese tipo de eventos.

¿Y en que lenguaje?, por que eso en cualquier lenguaje limitado no lo vas a poder hacer, a menos que hagas una cutrez con un timer/temporizador para comprobar cada X intervalo si el adaptador de red (de entre los que puedan haber) está conectado o no.

Tu idea es bastante más compleja de lo que seguramente en un principio a ti te parece, o mejor dicho es muy laboriosa ...mucho, ya que solamente el primer "comando" que se te ha ocurrido para darnos de ejemplo ya conlleva mucho trabajo de desarrollo (a menos que se opte por hacer la cutrez mencionada de arriba, en apenas 5 minutos), y se te ocurrirán muchos más "comandos" que implementar, idear y desarrollar, sobre todo investigar.

En resumen tendrías que estar suscrito a los eventos del sistema e informar de ellos, tal vez incluso para algunas futuras ideas "comunes" necesites aplicar técnicas de API hooking o API override en las funciones de la API de Windows, pero bueno, aquí tienes algo de info para empezar con ese "comando" de la conectividad de red de la forma en la que debería hacerse, usando la API NLM (Network List Manager):

Using the NLM API to make your applications network-aware

Understanding what type of decisions your application needs to make based on connectivity information will determine how you go about using the NLM API. Which of the following best describes your application needs?

    My application needs to be quickly informed of changing networking conditions.
    My application needs to perform a quick check of what the network conditions are just once.
    My application needs to do both.
Network Awareness in Windows Vista and Windows 7 - MSDN

Y aquí la documentación y definiciones de los miembros que la componen:
Network List Manager API Reference - MSDN

Aunque por otro lado, si eliges la plataforma .Net entonces Microsoft  pone muuuuy fácil con los eventos públicos compartidos System.Net.NetworkInformation.NetworkChange.NetworkAvailabilityChanged y System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged que puedes encontrar en la librería de clases de .Net Framework, los cuales no te informan del estado de la red, pero si del cambio, y con eso ya puedes implementar una lógica personalizada sin recurrir forzosamente a la WinAPI.

Aquí un ejemplo de uso en C#, el cual se suscribe a dichos eventos y, cuando se disparan, se llama a la función personalizada "IsNetworkAvailable" donde emplea una sencilla lógica para determinar si hay al menos una conexión activa:
http://www.codeproject.com/Articles/64975/Detect-Internet-Network-Availability



Como veis mi idea?

Toda idea que implique una A.I. a la que poder darle órdenes en el PC es simplemente genial, es una buena idea, aunque en realidad sería Automación ...no creo que se le deba denominar inteligencia artificial.

Mi única objeción es la que ya he comentado, que si pretendes hacerlo bien (no quiero decir profesionálmente, pero simplemente bien, no con cutreces típicas) entonces te va a llevar mucho más trabajo del que te puedas imaginar, pero con tiempo y dedicación todo se puede lograr.

Saludos
« Última modificación: 7 Septiembre 2015, 01:25 am por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines