De nombreux programmes d’informatique requièrent deux ou trois cours de calcul.
Je me demande comment et quand le calcul est utilisé en informatique? Le contenu en informatique d'un diplôme en informatique a tendance à se concentrer sur les algorithmes, les systèmes d'exploitation, les structures de données, l'intelligence artificielle, le génie logiciel, etc. Existe-t-il des moments où le calcul est utile dans ces domaines ou dans d'autres domaines de l'informatique?
Réponses:
Je peux penser à quelques cours qui nécessiteraient directement le calcul . J'ai utilisé des caractères gras pour les disciplines habituellement obligatoires pour un diplôme en informatique et l'italique pour les disciplines habituellement optionnelles.
Il y en a peut-être d'autres - cela me vient à l'esprit.
Et, de plus, on profite indirectement d'un cours de calcul en apprenant à raisonner et à expliquer des arguments avec rigueur technique. Ceci est plus précieux que les étudiants ne le pensent habituellement.
Enfin, vous aurez besoin de Calcul pour pouvoir, bien, interagir avec des personnes issues d’autres sciences et techniques Exact. Et il n’est pas rare qu’un informaticien ait besoin non seulement de parler, mais aussi de travailler avec un physicien ou un ingénieur.
la source
f(0) = 0
,f(1) = 1
,f'(0) = f'(1) = 0
et vous pouvez ajouter d'autres contraintes que vous aimez, par exemplef'(0.5) = 1
. Il y a quelques temps, j'ai utilisé cette méthode pour dériver différents polynômes d'interpolation permettant de lisser les images.C'est un peu obscur, mais le calcul apparaît dans les types de données algébriques. Pour tout type donné, le type de ses contextes à un trou est la dérivée de ce type. Voir cet excellent exposé pour un aperçu de l’ensemble du sujet. C'est une terminologie très technique, alors expliquons.
Types de données algébriques
Vous avez peut-être rencontré des nuplets appelés types de produits (sinon, c'est parce qu'ils sont le produit cartésien de deux types). Nous allons prendre cela à la lettre et utiliser la notation:
Ces types ressemblent à des expressions algébriques normales et nous pouvons, en fait, les manipuler comme tels (jusqu'à un certain point).
Un exemple
Dans les langages fonctionnels une définition courante d'une liste (donnée ici en Haskell) est la suivante:
Cela signifie qu'une liste est vide ou un tuple d'une valeur et d'une autre liste. En transformant cela en notation algébrique, nous obtenons:
Cette définition dit alors qu'une liste est soit une unité, soit un tuple d'un élément, soit un tuple de deux éléments, ou de trois, etc., qui est la définition d'une liste!
Contextes à un trou
Passons maintenant aux contextes à un trou: un contexte à un trou est ce que vous obtenez lorsque vous «extrayez une valeur» d'un type de produit. Donnons un exemple:
Prendre une valeur sur un tuple donne un tuple, mais il existe trois variantes différentes:
Pour notre dernier exemple, utilisons une liste:
Si nous prenons notre expression originale pour une liste:
Nous pouvons réorganiser pour obtenir:
(En apparence, cela peut sembler un non-sens, mais si vous prenez la série taylor de ce résultat, vous obtenez la définition que nous avons obtenue plus tôt.)
Maintenant, si nous différencions cela, nous obtenons un résultat intéressant:
Ainsi, une liste est devenue une paire de listes. Cela a du sens: les deux listes produites correspondent aux éléments situés au-dessus et au-dessous du trou de la liste d'origine!
la source
Méthodes numériques. Il existe de lourds problèmes de calcul qui sont propres à des applications spécifiques et ils ont besoin de solutions plus rapidement que ce qu'un humain ne peut pratiquement résoudre sans programme. Quelqu'un doit concevoir un algorithme qui calculera la solution. N'est-ce pas la seule chose qui sépare les programmeurs des scientifiques?
la source
Automatisation - Semblable à la robotique, l'automatisation peut nécessiter de quantifier beaucoup de comportement humain.
Calculs - La recherche de solutions aux épreuves nécessite souvent des calculs.
Visualisations - L'utilisation d'algorithmes avancés nécessite des calculs tels que cos, sine, pi et e. Surtout lorsque vous calculez des vecteurs, des champs de collision et des maillages.
Analyse de la logistique et des risques - Déterminer si une tâche est possible, le risque encouru et le taux de réussite possible.
Sécurité - La plupart des opérations de sécurité peuvent être effectuées sans calcul. Cependant, beaucoup de gens qui veulent des explications le préfèrent dans les expressions mathématiques.
AI - Les bases de l'IA peuvent être utilisées sans calcul; Cependant, calcul du comportement avancé, intelligence des essaims / esprit de ruche et prise de décision complexe basée sur des valeurs.
Calculs médicaux - La visualisation de la plupart des données de santé nécessite des calculs tels qu'une lecture ECG.
Science & Ingénierie - Lorsque vous travaillez avec presque toute autre discipline scientifique, le calcul est nécessaire: aérospatial, astrologie, biologie, chimie ou ingénierie.
Beaucoup de personnes en programmation peuvent poursuivre leur carrière sans utiliser de calcul; Cependant, cela peut s'avérer inestimable si vous êtes prêt à faire le travail. Pour moi, cela a été particulièrement efficace en automatisation, logistique et visualisation. En identifiant des modèles spécifiques, vous pouvez simplement ignorer le modèle, l'imiter ou développer une méthode supérieure dans son ensemble.
la source
Le fait est qu'il y a très peu de chance que vous utilisiez un calcul. Cependant, pratiquement toutes les autres disciplines scientifiques utilisent le calcul et vous travaillez sur un diplôme en sciences. Il y a certaines attentes concernant ce qu'un diplôme universitaire en sciences est censé signifier, et l'une de ces choses est que vous connaissez le calcul. Même si vous ne l'utiliserez jamais.
Cela ne pose pas de problème si vous vous débrouillez mal en calcul, mais assurez-vous de faire des efforts en mathématiques discrètes. Il y a beaucoup de problèmes de programmation dans le monde réel où des calculs discrets entrent en jeu et l'ignorance de ses principes peut vous gêner devant d'autres codeurs.
la source
De nombreuses personnes ont déjà fourni des applications dans CS. Mais parfois, vous trouverez le calcul quand vous vous attendez le moins:
Dérivés de l'expression régulière réexaminés
Si vous connaissez les automates, ce pdf pourrait valoir la peine d'être lu.
la source
Quelques exemples plus spécifiques:
la source
A ces autres excellentes réponses, j'ajoute ce point: la rigueur des tests .
Lors de la création de scénarios de test pour certaines applications, j'ai dû utiliser le calcul pour prévoir les durées de fonctionnement attendues, la taille de la mémoire et choisir les paramètres optimaux lors du réglage des structures de données. Cela inclut la compréhension de l'erreur d'arrondi attendue, etc.
Bien que les statistiques soient mentionnées dans d'autres réponses, je voudrais mentionner spécifiquement les algorithmes de Monte-carlo , tels que les algorithmes d'optimisation et certains algorithmes de flux en frugal basés sur des principes mathématiques incluant le calcul.
Les industries spécifiques où j'ai travaillé où le calcul était requis incluent:
Finance (création d'une plateforme de trading)
Assurance (intégration numérique des polices d'assurance dans des scénarios hypothétiques pour calculer les pertes attendues sur les polices)
Logistique (optimisation de la consolidation des voies de transport)
Traitement de signal
la source
Le calcul - la partie intégrale - est directement utilisé dans CS pour fonder la réflexion sur la sommation. Si vous travaillez sur une partie quelconque de la section Mathématiques concrètes de Knuth sur la sommation, vous reconnaîtrez rapidement les conventions communes au calcul: la compréhension d'une partie du cas continu vous donne des outils pour considérer le discret.
De nombreuses utilisations de votre étude CS impliquent des systèmes de programmation qui surveillent les changements ou, dans certains cas, tentent de prédire l’avenir. Les mathématiques autour de ces systèmes sont enracinées dans les équations différentielles et l'algèbre linéaire, et les équations différentielles sont ... du calcul. Certains enseignants, comme Gibert Strang, préconisent de passer plus rapidement à la partie relative aux équations différentielles, mais cela reste un sous-ensemble du calcul. Lorsque le changement dépend de la modification d'un système, il commence à être instable (et stable) d'une manière à la fois non intuitive et très bien comprise. Pour comprendre pourquoi votre système linéaire sensible se comporte de manière non linéaire, vous avez besoin d'outils de calcul ou vous devez les réinventer pour votre espace de problèmes.
Enfin, CS nécessite souvent de lire et de comprendre le travail des autres, et le calcul est la première exposition à de nombreux mots, vocabulaires et conventions partagés.
la source